Agreed with Fateman, but a bit more explanation may be useful.
The verb 'diff' assumes that all dependencies are included:
diff( y,x ) => 0
diff( f(y), x ) => 0
Explicit dependencies can be declared with "depends":
depends(q,r)$
diff(q,r) => 'diff(q,r)
The *noun* 'diff' does not; on the contrary, it assumes that any variables
can later be substituted for:
'diff(y,x) => 'diff(y,x)
'diff(f(y),x) => 'diff(f(y), x)
This corresponds to standard mathematical notation, where dy/dx is not
normally taken to be 0.
"At" cannot assume differently in general, but I can see that it would be
useful in many cases to tell Maxima that g(x) does not depend on y for the
purposes of "diff" and "at". I suppose the easiest way to do that would be
with simplification rules on diff and at.
Another limitation of the "at" scheme is that it is sensitive to the
variable name:
at(diff(f(x),x),x=0)-at(diff(f(y),y),y=0)
does not simplify to 0. The positional derivative package (pdiff) probably
handles things like this better, but I am no expert in it.
-s
On Sun, Apr 8, 2012 at 17:18, Richard Fateman <fateman at eecs.berkeley.edu>wrote:
> On 4/8/2012 11:58 AM, nijso beishuizen wrote:
>
> Dear all,
>
> This:
>
> at(diff(g(x),x),[y=1]) - at(diff(g(x),x),[y=0])
>
> should result in 0. Is there a (built-in) way to achieve this?
>
> no, because if g(x):=x*y
> it is false.
>
> I would expect that 'at' (or some simplification function) would
> recognize that the expression is independent of y.
>
>
> _______________________________________________
> Maxima mailing listMaxima at math.utexas.eduhttp://www.math.utexas.edu/mailman/listinfo/maxima
>
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
>