## #1085 Function "at" is overly cautious

open
nobody
5
2007-03-03
2007-01-22
Barton Willis
No

Compare

(%i1) at(f(x), x = 0);
(%o1) f(0)

with

(%i2) at('integrate(f(t),t,0,x),x=0);
(%o2) at(integrate(f(t),t,0,x),x=0)

Given (%o1), it would seem consistent for (%o2) to
evaluate to 0. Declaring f to be anaylic doesn't
help:

(%i3) declare(f,analytic);
(%o3) done
(%i4) at('integrate(f(t),t,0,x),x=0);
(%o4) at(integrate(f(t),t,0,x),x=0)

Does Maxima ever use the declare analytic data?

## Discussion

• Robert Dodier
2007-03-03

• labels: --> Lisp Core

• Logged In: NO

At the botton of this problem is the difference between two types of arguments: Some of them are to be considered as a
constant while other not.

Example: Here in integrate(f(t),t,0,x) x should be considered as a constant argument that is: we can substitute before
evaluating the integration.

But in diff(f(x*y),x) at x=0. x should not be considered as a constant argument, so in this case we need first to compute the
diff and then substitute.

This can be accomplish in a case by case, or indicating the type (constant or not constant of the argument).