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)