Subject: Change of variable in differential equation
From: Barton Willis
Date: Wed, 31 Jan 2007 08:05:59 -0600
One way to do this is to use pdiff (there are other ways). I'll illustrate
how to change variables using a simple DE:
(%i1) load(pdiff)$
(%i2) de : diff(f(x,y),x,2) + diff(f(x,y),y,2)$
(%i3) de, f(x,y) := g(x/y);
(%o3) g[(2)](x/y)/y^2+(2*x*g[(1)](x/y))/y^3+(x^2*g[(2)](x/y))/y^4
(%i4) y^2 * %;
(%o4) (g[(2)](x/y)/y^2+(2*x*g[(1)](x/y))/y^3+(x^2*g[(2)](x/y))/y^4)*y^2
(%i5) ratsubst(w,x/y,%);
(%o5) (w^2+1)*g[(2)](w)+2*w*g[(1)](w)
(%i6) nde : convert_to_diff(%);
(%o6) 2*w*('diff(g(w),w,1))+(w^2+1)*('diff(g(w),w,2))
(%i7) depends(g,w)$
(%i8) nde : subst(g,g(w),nde);
(%o8) ('diff(g,w,2))*(w^2+1)+2*('diff(g,w,1))*w
(%i9) ode2(nde,g,w);
(%o9) g=%k1*atan(w)+%k2
Barton
-----maxima-bounces at math.utexas.edu wrote: -----
Hello,
I am dealing with the following partial differential equation for the
function T(r,t):
diff( T, t ) - T^2 / r^2 * diff( ( r^2 * T^(sigma) * diff(T, r) + q / T ),
r ) = 0
I now want to introduce a new variable
eta = r / t^(1/3)
and a new function
Psi(eta) = t^(1/3) * T^(1+sigma)
and I would like Maxima to transform the partial differential equation for
T(r,t) stated herebove into a differential equation for Psi(eta).
C