Question about changing variables in PDEs
- To: mathgroup at yoda.physics.unc.edu
- Subject: Question about changing variables in PDEs
- From: Scott Herod <sherod at newton.colorado.edu>
- Date: Mon, 26 Oct 92 15:03:33 MST
I have a system of PDE's in in three dependent and two independent variables. For example: { Dt[f,x] + f Dt[g,t] - f g, Dt[f,x,t] - Dt[h,x]^2, Dt[g,x] + Dt[h,t]} In general the equations are much more complicated. The Dt notation is nice because it is easy to change the depend variables by simply defining f, g, h in terms of the new variables. f = a*k + b*k^2; SetAttributes[{a,b}, Constant]; is an example. I would like to do the same with the independent variables but am having some problem doing this nicely. The above technique does not work. Mathematica 2.0 for SPARC Copyright 1988-91 Wolfram Research, Inc. -- X11 windows graphics initialized -- In[1]:= d = Dt[f,x] + Dt[g,x] Out[1]= Dt[f, x] + Dt[g, x] In[2]:= x = a+b Out[2]= a + b In[3]:= d General::ivar: a + b is not a valid variable. General::ivar: a + b is not a valid variable. Out[3]= Dt[f, a + b] + Dt[g, a + b] Also using a simply pattern match below doesn't work (bug?). Mathematica 2.0 for SPARC Copyright 1988-91 Wolfram Research, Inc. -- X11 windows graphics initialized -- In[1]:= d = Dt[f,x] + Dt[g,x] Out[1]= Dt[f, x] + Dt[g, x] In[2]:= d /. Dt[y_,x] -> Dt[y,r] Out[2]= Dt[f, x] + Dt[g, x] The only way I have of doing this now is making all the replacements by hand. In[3]:= d /. Dt[f,x] -> Dt[f,r] Out[3]= Dt[f, r] + Dt[g, x] Any suggestions of a technique to make these changes would be appreciated. Scott Herod Applied Mathematics University of Colorado, Boulder (sherod at newton.colorado.edu)