Opened 5 years ago

Closed 5 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) Commit: 9c0f66dca5d59aef571c69fe7561b6446ec23d71
Dependencies: Stopgaps:

Description

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))
'diff(f(_SAGE_VAR_x),_SAGE_VAR_x,1)
sage: maxima_calculus(f(x+1).diff(x)) #this is bad!
?%at('diff(f(t0),t0,1),[t0=x+1])

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 5 years ago by nbruin

  • Branch set to u/nbruin/ticket/16785

comment:2 Changed 5 years ago by nbruin

  • Cc kcrisman rws burcin added
  • Commit set to 9c0f66dca5d59aef571c69fe7561b6446ec23d71
  • Status changed from new to needs_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 5 years ago by rws

  • Authors set to Nils Bruin
  • Reviewers set to Ralf Stephan
  • Status changed from needs_review to positive_review

Passes ptestlong and looks good.

comment:4 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:5 Changed 5 years ago by vbraun

  • Branch changed from u/nbruin/ticket/16785 to 9c0f66dca5d59aef571c69fe7561b6446ec23d71
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.