# derivatives of variable order

Using diff/derivative it does not seem easily possible to specify derivatives of variable order, e.g., to define a function P(m,n) that applies the diff m+n times to a polynomial:

sage: x=var('x')
sage: P(m,n)=derivative((1-x^2)^n,x,m+n)
...
TypeError: argument symb must be a symbol

sage: R.<x> = PolynomialRing(QQ, 'x')
sage: p=(1-x^2)^11
sage: P(m,n)=derivative(p,x,m+n)
...
ValueError: Cannot differentiate with respect to m + n


This is obviously because diff supports such syntactic sugar like diff(p,x,x,x). So how to differentiate to a variable order?

edit retag close merge delete

Good question, but I'm not sure that is supported even by Ginac or Maxima...

( 2014-09-08 07:16:35 -0500 )edit

If so, that leaves as only solution looping through single diffs.

( 2014-09-08 10:13:47 -0500 )edit

Sort by ยป oldest newest most voted

Don't know if this helps but

x=var('x')
def P(f,m,n):
return derivative(f,x,m+n)
f=x^20
P(f,1,2)


works fine with sagenb.org

more

So it needed a Python def, not a Sage function. Thanks!

( 2014-09-09 01:17:58 -0500 )edit