Comment #9 on issue 2476 by [email protected]: nth order Derivative
http://code.google.com/p/sympy/issues/detail?id=2476

So, moving on, I think changing internal representation of Derivative to use args = (expr, (x, n1), (y, n2), ...) should work, as long as there's no code that uses this representation directly (there's no way to maintain compatibility of the internal variables). The old way of calling diff should be accepted and converted, so that this works:

f(x, y, z).diff(x, x, (y, n), z, 2) == d^(3+n)/d^2x d^ny d^2z
_.args == (f(x, y, z), (x, 2), (y, n), (z, 2))

This should raise a ValueError if n is not integer.

To implement the expansion of arbitrary n-order derivative in the end of comment 2, we need two things:

1. implement rules for composition and product: f(g(x)).diff((x, n)) and (f(x)*g(x)).diff((x, n)).

2. implement a fdiffn() method for Functions or extend current fdiff() to accept a 'difforder' parameter, that may be symbolic and defaults to 1 to keep compatibility.

--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" 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/sympy-issues?hl=en.

Reply via email to