#1448 compositions of 'at'

closed
nobody
Lisp Core (472)
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
    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
    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
    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
    Dieter Kaiser
    2010-06-19

    • status: open --> closed