#6756: [with patch, needs work] Implement ``diff`` format symbolic derivative in
new symbolics
----------------------------+-----------------------------------------------
 Reporter:  gmhossain       |       Owner:                       
     Type:  enhancement     |      Status:  new                  
 Priority:  major           |   Milestone:                       
Component:  symbolics       |    Keywords:                       
 Reviewer:  Nick Alexander  |      Author:  Golam Mortuza Hossain
   Merged:                  |  
----------------------------+-----------------------------------------------

Comment(by burcin):

 It seems that applying chain rule to these inert derivatives can lead to
 wrong answers:

 {{{
 sage: f = function('f')
 sage: set_diff_derivative_level(2)
 sage: f(y,y).diff(y,1)
 2*diff(f(y, y), y, 1)
 }}}

 Compare with the answer we get now:
 {{{
 sage: set_diff_derivative_level(0)
 sage: f(y,y).diff(y,1)
 D[0](f)(y, y) + D[1](f)(y, y)
 }}}

 This example is from p. 26 (second page) in

 {{{
 Wester, M. and Steinberg, S. 1983. An extension to MACSYMA's concept of
 functional differentiation.
    SIGSAM Bull. 17, 3-4 (Aug. 1983), 25-30.
 }}}

 You can get the article here:  http://doi.acm.org/10.1145/1089338.1089343

 It was the first reference on the paper mentioned by RJF in this post:

 http://groups.google.com/group/sage-devel/msg/6db333cbf8ea0a53

 The paper RJF cites is

 {{{
 Golden, J. P. 1985. Differentiation of unknown functions in MACSYMA.
    SIGSAM Bull. 19, 2 (May. 1985), 19-24.
 }}}

 which you can get here:

 http://doi.acm.org/10.1145/1089402.1089405


 I suggest removing the chain rule from this implementation altogether and
 keeping it as an alternative ''inert'' derivative. Then the implementation
 can be moved within the Sage library completely as a subclass of
 SFunction. We should also implement conversions between the partial
 derivative format and this one. This page gives a recipe on how this can
 be done:

 http://209.85.129.132/search?q=cache%3Ahttp%3A%2F%2Fwww.mapleprimes.com%2Fforum
 %2Fd-diff-conversion%23comment-8243

 (The link points to the google cache since mapleprimes.com is down.)

 Nick, if you give examples of how you want pattern matching on derivatives
 to work, we can see how to make the current implementation support these.
 Pattern matching capabilities of `fderivative` in GiNaC definitely need to
 be improved. Looking at what functionality maple and MMA provides could
 also help.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6756#comment:10>
Sage <http://sagemath.org/>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to