Opened 9 years ago

Closed 9 years ago

#16785 closed defect (fixed)

derivative operator translation to maxima

Reported by: nbruin Owned by:
Priority: major Milestone: sage-6.4
Component: interfaces Keywords:
Cc: kcrisman, rws, burcin Merged in:
Authors: Nils Bruin Reviewers: Ralf Stephan
Report Upstream: N/A Work issues:
Branch: 9c0f66d (Commits, GitHub, GitLab) Commit: 9c0f66dca5d59aef571c69fe7561b6446ec23d71
Dependencies: Stopgaps:

GitHub link to the corresponding issue


Currently, we are failing to properly convert certain expressions to maxima when they contain differential operators:

sage: function('f')
sage: maxima_calculus(f(x).diff(x))
sage: maxima_calculus(f(x+1).diff(x)) #this is bad!

note the bare x in the bottom line. That should be a _SAGE_VAR_.

As it turns out, a lot of conversion here is happening with string manipulations, circumventing the standard conversion machinery. That also means that functions that have a non-trivial _maxima_init_evaled_ will not get translated using it. It's better to do everything using the standard conversion.

Change History (5)

comment:1 Changed 9 years ago by nbruin

Branch: u/nbruin/ticket/16785

comment:2 Changed 9 years ago by nbruin

Cc: kcrisman rws burcin added
Commit: 9c0f66dca5d59aef571c69fe7561b6446ec23d71
Status: newneeds_review

Hopefully these changes do the trick. maxima_lib.sr_to_max was already doing something along these lines, so no changes are required there.

New commits:

9c0f66dtrac #16785: improve differential operator translation to maxima

comment:3 Changed 9 years ago by rws

Authors: Nils Bruin
Reviewers: Ralf Stephan
Status: needs_reviewpositive_review

Passes ptestlong and looks good.

comment:4 Changed 9 years ago by vbraun_spam

Milestone: sage-6.3sage-6.4

comment:5 Changed 9 years ago by vbraun

Branch: u/nbruin/ticket/167859c0f66dca5d59aef571c69fe7561b6446ec23d71
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.