Hi all,

I have been looking into this critical bug

http://trac.sagemath.org/sage_trac/ticket/6376

(This bug affects me badly and in fact I need to use  sage-3.4 for
my own work to avoid this)

This bug is related with "D" <-> "diff" conversion for symbolic
functions.

Following are my observations and a proposal to deal with this bug.

[o]   D <-> diff  conversion is NOT one-to-one

Ex:  (A)   diff( f(x-a), x)  =>  D[0] f(x-a)
       (B)   D[0](f)(x-a )    =>  (i)   diff( f(x-a), x)
                                           (ii)  - diff( f(x-a), a)
So conversion is tricky.


Here are my proposals to deal with this:

(1) Keep current conversion when arguments are all symbolic variables.
     This way solving differential eqn and others will work as usual
     via maxima.

(2) Do not convert D to diff  format when an argument is an expression.
      In that case pass it to maxima as another symbolic function of the
      form

        D( f(x-a), [0] )

 From maxima output, we can then convert it back to D format.

(3) Finally, let's represent (text-mode) D derivative as

     D( f(x,y), [0,0,1] )      ( which is represented now as
D[0,0,1](f)(x,y) )

    or optionally

    D( f(x,y), [(0,2), (1,1)] )

This form has several advantages:

      (i) Above is a valid form of python function and one can copy-paste
sage output from one cell to another as vaild sage input.
Currently this is not the case.

     (ii) Sage output often contains terms like  "D[0](f)(g(x))". However,
right now there is no way one can enter above in Sage directly.

I will be happy to implement this if we can reach consensus.


Cheers,
Golam

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to