PDEtools
charstrip
find the characteristic strip corresponding to a given first order partial differential equation
splitstrip
divide the characteristic strip into uncoupled subsets
Calling Sequence
Parameters
Description
Examples
charstrip(PDE, f, simplifyusingpde)
charstrip(characteristic_strip, f, reverse)
splitstrip(PDE, f, simplifyusingpde)
PDE
-
partial differential equation
f
indeterminate function
reverse
used when passing a characterstic strip to be reversed, to get the PDE behind it
simplifyusingpde
optional, can be true (default value) or false, to simplify the characteristic strip using the given PDE aiming at removing as much as possible occurrences of derivatives of f.
These commands work only on first order PDEs, and return the given PDEs characteristic system depending on a parameter _s. Also, when the first argument is a characteristic strip, by passing the keyword reverse, charstrip returns the PDE behind it.
The splitstrip command returns the characteristic system divided into subsets, each one containing equations uncoupled with the ODEs of the other subsets. Depending on the PDE, this splitting of the characteristic system may strongly simplify its solving.
The Maple command usually used for solving coupled systems of ODEs (that is, the subsets returned by splitstrip) is dsolve (see dsolve/system).
Furthermore, it is possible to use the characteristic strip method for solving first order PDEs, by calling pdsolve with the option HINT = strip (see pdsolve).
This function is part of the PDEtools package, and so it can be used in the form charstrip(..) only after executing the command with(PDEtools). However, it can always be accessed through the long form of the command by using PDEtools[charstrip](..).
with⁡PDEtools:
PDE≔x⁢diff⁡f⁡x,y,z,z−f⁡x,y,z+y2⁢diff⁡f⁡x,y,z,y=0
PDE≔x⁢∂∂zf⁡x,y,z−f⁡x,y,z+y2⁢∂∂yf⁡x,y,z=0
sys0≔charstrip⁡PDE,f⁡x,y,z
sys0≔ⅆⅆ_sf⁡_s=f⁡_s,ⅆⅆ_sx⁡_s=0,ⅆⅆ_sy⁡_s=y⁡_s2,ⅆⅆ_sz⁡_s=x⁡_s
This system can now be solved using dsolve.
dsolve⁡sys0,f⁡_s,x⁡_s,y⁡_s,z⁡_s,explicit
f⁡_s=c__4⁢ⅇ_s,x⁡_s=c__2,y⁡_s=1−_s+c__3,z⁡_s=_s⁢c__2+c__1
The system was solved by coupling the ODEs above and splitting the set into three subsets, which are mutually uncoupled.
sys1≔splitstrip⁡PDE,f⁡x,y,z
sys1≔ⅆⅆ_sf⁡_s=f⁡_s,ⅆⅆ_sy⁡_s=y⁡_s2,ⅆⅆ_sx⁡_s=0,ⅆⅆ_sz⁡_s=x⁡_s
This makes it possible to solve each ODE separately.
ans≔map⁡u↦dsolve⁡u,indets⁡u,Function,explicit,sys1
ans≔f⁡_s=c__1⁢ⅇ_s,y⁡_s=1−_s+c__1,x⁡_s=c__2,z⁡_s=_s⁢c__2+c__1
When computing the characteristic strip, by default the strip is simplified taking the PDE itself into account, aiming at diminishing occurrences of derivatives of the unknown of the problem. This is useful in that it makes easier the integration of the resulting ODE system. On the other hand, there are situations in which this simplification is undesired, for example: when deriving the PDE behind a given characteristic strip. Consider for instance
PDE≔diff⁡z⁡x,y,x⁢diff⁡z⁡x,y,y−z⁡x,y=0
PDE≔∂∂xz⁡x,y⁢∂∂yz⁡x,y−z⁡x,y=0
The corresponding characteristic strip without simplifying it taking PDE into account is given by
charstrip⁡PDE,z⁡x,y,simplifyusingpde=false
ⅆⅆ_sx⁡_s=_p2⁡_s,ⅆⅆ_sy⁡_s=_p1⁡_s,ⅆⅆ_sz⁡_s=2⁢_p1⁡_s⁢_p2⁡_s,ⅆⅆ_s_p1⁡_s=_p1⁡_s,ⅆⅆ_s_p2⁡_s=_p2⁡_swhere_p1=∂∂xz⁡x,y,_p2=∂∂yz⁡x,y
Departing from this result it is possible to re-obtain PDE (this is possible only when the characteristic strip was constructed without simplifying using the PDE itself, as it is the case above). For that purpose, pass the characteristic strip as first argument and the keyword reverse
charstrip⁡,z⁡x,y,reverse
∂∂xz⁡x,y⁢∂∂yz⁡x,y+c__1−z⁡x,y
Note the arbitrary constant that appears in this result: for any value of this constant, the characteristic strip is the same.
See Also
dchange
dsolve
dsolve/system
pdetest
pdsolve
Download Help Document