As Stavros noted, I actually meant that to write the function.
g(x):= diff(f(x),x);
I would like to understand the difference between the functions g(x)
and h(x) defined below. In particular, lines
(%i3) and (%i6) seem to produce the same output to the screen, but
give different outputs when $x$ is set to be 2.
TIA,
-sen
(%i1) f(x):= x^3;
3
(%o1) f(x) := x
(%i2) h(x):= ''(diff(f(x),x));
2
(%o2) h(x) := 3 x
(%i3) h(x);
2
(%o3) 3 x
(%i4) h(2);
(%o4) 12
(%i5) g(x):= diff(f(x),x);
(%o5) g(x) := diff(f(x), x)
(%i6) g(x);
2
(%o6) 3 x
(%i7) g(2);
Non-variable 2nd argument to diff:
2
#0: g(x=2)
-- an error. To debug this try debugmode(true);
On Wed, 17 Jan 2007, Robert Dodier wrote:
> On 1/17/07, sen1 at math.msu.edu <sen1 at math.msu.edu> wrote:
>
>> 1. What does maxima actually do with the next definition?
>>
>> (A) f(x):= diff(f(x),x)
>
> The body of a function defined by := is neither evaluated nor
> simplified. Each time the function is called, the body is
> evaluated and simplified.
>
> This particular function definition is going to cause a stack overflow
> when it is called (from recursively calling f).
>
>> 2. What is the meaning of the following words in the manual on "diff"
>>
>> The noun form of `diff' is required in some contexts, such as
>> stating a differential equation.
>>
>> What is a "noun form" in maxima?
>
> A noun is a function which isn't called even if it could be.
> E.g. foo(x) := x^2; foo(10) => 100, but 'foo(10) => 'foo(10).
> This is useful because functions manipulating expressions can
> look for specific function names (e.g. foo) and take special action
> when they appear. In the case of differential equations, you don't
> want Maxima to actually try to compute diff(y, x), you just want
> dy/dx to float around as an unevaluated symbol.
> So you write 'diff(y, x).
>
> Hope this helps
> Robert
>
--
---------------------------------------------------------------------------
| Sheldon E. Newhouse | e-mail: sen1 at math.msu.edu |
| Mathematics Department | |
| Michigan State University | telephone: 517-355-9684 |
| E. Lansing, MI 48824-1027 USA | FAX: 517-432-1562 |
---------------------------------------------------------------------------