## #1448 compositions of 'at'

closed
nobody
5
2010-06-19
2008-07-10
Barton Willis
No

(%i26) at(diff(f(x),x),[x=b]);
(%o26) at('diff(f(x),x,1),[x=b])

(%i27) at(%,[b=a]);
(%o27) at('diff(f(x),x,1),[x=b])

(%o27) should either be at('diff(f(x),x,1),[x=a]) or at(at('diff(f(x),x,1),[x=b]),[b=a])

Also, I think 'at' should be a simplifying function.

## Discussion

• Barton Willis
2008-07-10

Logged In: YES
user_id=895922
Originator: YES

Another thing: 'at' doesn't check for the "freeof" case; for example:

(%i24) diff(f(z),z);
(%o24) 'diff(f(z),z,1)
(%i25) at(%,[x=1]);
(%o25) at('diff(f(z),z,1),[x=1])

• Barton Willis
2008-07-10

Logged In: YES
user_id=895922
Originator: YES

And yet another thing: Maxima should sort the second argument to 'at.' This
would allow more expressions to simplify to zero; example:

(%i29) diff(f(x,y),x,1,y,1);
(%o29) 'diff(f(x,y),x,1,y,1)

(%i30) at(%,[x=a,y=b]) - at(%,[y=b,x=a]);
(%o30) at('diff(f(x,y),x,1,y,1),[x=a,y=b])-at('diff(f(x,y),x,1,y,1),[y=b,x=a])

Since 'at' does multiple substitutions in series, not parallel, the logic could be
complicated. Should the subs be done in parallel?

• Dieter Kaiser
2010-06-19

Fixed in comm2.lisp revision 1.38. The composition of AT is more correct and the list of equations is sorted.

There is one open problem: AT doesn't check for the "freeof" case. This topic needs more discussions and perhaps a new bug report.

Closing this bug report as fixed.
Dieter Kaiser

• Dieter Kaiser
2010-06-19

• status: open --> closed