Chain rule in Maxima



On 01/15/2013 05:06 AM, Levi Wiseman wrote:
> Is there a way to conduce Maxima to solve an application of the chain
> rule to the composition of an abstract function and a concrete
> function? E.g. I'd like 'g(x):=x^2$ diff(f(g(x)),x);' to produce
> '(df/dg)(2x)'. Right now it only produces 'd(f(x^2))/dx'.
>
> Using 'g(x):=x^2$ depends(f,g,g,x)$ diff(f,x);' kind of works. I get
> '(df/dg)(dg/dx)', but I'd like 'dg/dx' to be solved.
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima

you can use "gradef" to define a new function that's the abstract 
derivative of f with respect to its argument.

(%i2) g(x) := x^2;

(%o2) g(x):=x^2
(%i3)  diff(f(g(x)),x);

(%o3) 'diff(f(x^2),x,1)
(%i4)  gradef(f(z),fpm(z));

(%o4) f(z)
(%i5)  diff(f(g(x)),x);

(%o5) 2*x*fpm(x^2)