PDEtools
mapde
map a PDE into a PDE with a different format
Calling Sequence
Parameters
Description
Examples
mapde(PDE, into, f)
PDE
-
partial differential equation
into
string, one of noF, homo, ccoeff, canom, and canop
f
(optional) name of the indeterminate function
Given a PDE, mapde's main goal is to map it into another PDE with a different format, perhaps easier to solve. (Of the options mentioned above, homo and ccoeff are not yet implemented.)
Description of options
noF
no explicit dependence on the indeterminate function
homo
homogeneous PDE
ccoeff
DE with constant coefficients for the higher derivatives
canom
canonical form with only one mixed derivative
canop
canonical form with only pure (no mixed) derivatives
The options canom and canop only work with linear second order PDEs with only two differentiation variables. The mapde command always succeeds as long as the coefficients are constant. With variable coefficients, mapde succeeds only sometimes; in those cases, the mapping is realized through a nonlinear transformation which appears as the algebraic inversion of the solution of a pair of auxiliary first order PDEs. However, the system does not always succeed in solving that auxiliary problem.
The option noF, at present, only works when the received PDE is a homogeneous function of the indeterminate function and its derivatives. In these cases, mapde introduces the indeterminate function as equal to the exponential of another (auxiliary) function.
This function is part of the PDEtools package, and so it can be used in the form mapde(..) only after executing the command with(PDEtools). However, it can always be accessed through the long form of the command by using PDEtools[mapde](..).
with⁡PDEtools:
PDE≔diff⁡f⁡x,y,z,x3=f⁡x,y,z⁢diff⁡f⁡x,y,z,y,y⁢diff⁡f⁡x,y,z,z
PDE≔∂∂xf⁡x,y,z3=f⁡x,y,z⁢∂2∂y2f⁡x,y,z⁢∂∂zf⁡x,y,z
pdsolve⁡PDE
f⁡x,y,z=f__1⁡x⁢f__2⁡y⁢f__3⁡zwhereⅆⅆxf__1⁡x3=_c1⁢f__1⁡x3,ⅆⅆzf__3⁡z=_c1⁢f__3⁡z_c2,ⅆ2ⅆy2f__2⁡y=_c2⁢f__2⁡y
Here is the solution after mapping the PDE into 'noF'.
PDE1≔mapde⁡PDE,noF
PDE1≔∂∂xf__1⁡x,y,z3−∂∂zf__1⁡x,y,z⁢∂∂yf__1⁡x,y,z2−∂∂zf__1⁡x,y,z⁢∂2∂y2f__1⁡x,y,z=0wheref__1⁡x,y,z=ln⁡f⁡x,y,z
ans≔pdsolve⁡op⁡1,PDE1
ans≔f__1⁡x,y,z=f__2⁡x+f__3⁡y+f__4⁡zwhereⅆⅆxf__2⁡x=_c1,ⅆⅆzf__4⁡z=_c3,ⅆ2ⅆy2f__3⁡y=_c13_c3−ⅆⅆyf__3⁡y2
build⁡ans
f__1⁡x,y,z=−_c132⁢y_c3+_c3⁢z+ln⁡_c3⁢ⅇ_c132⁢y_c32⁢c__2−c__32_c132−ln⁡2+_c1⁢x+c__1+c__4
The solution to the original PDE can be obtained by taking the exponential of the above.
PDE≔a⁢diff⁡f⁡x,y,x,x+2⁢b⁢diff⁡f⁡x,y,y,x+c⁢diff⁡f⁡x,y,y,y
PDE≔a⁢∂2∂x2f⁡x,y+2⁢b⁢∂2∂x∂yf⁡x,y+c⁢∂2∂y2f⁡x,y
mapde⁡PDE,canop
−b2a+c⁢∂2∂_ξ12f⁡_ξ1,_ξ2+a⁢∂2∂_ξ22f⁡_ξ1,_ξ2where_ξ1=y−b⁢xa,_ξ2=x
mapde⁡PDE,canom
−2⁢2⁢c⁢a−2⁢b2⁢∂2∂_ξ1∂_ξ2f⁡_ξ1,_ξ2−4⁢c⁢a+4⁢b2where_ξ1=2⁢−c⁢a+b2−2⁢b⁢x2⁢a+y,_ξ2=4⁢−c⁢a+b2⁢b−4⁢c⁢a+4⁢b2+1⁢x2−y⁢a2⁢−c⁢a+b2
Case of variable coefficients (an easy example)
PDE1≔subs⁡a=x2,b=y⁢x,c=y2,PDE
PDE1≔x2⁢∂2∂x2f⁡x,y+2⁢y⁢x⁢∂2∂x∂yf⁡x,y+y2⁢∂2∂y2f⁡x,y
Here is the solution after mapping the PDE into canop. Note that the transformation is nonlinear.
PDE2≔mapde⁡PDE1,canop
PDE2≔_ξ12⁢∂2∂_ξ12f⁡_ξ1,_ξ2where_ξ1=x,_ξ2=yx
pdsolve⁡op⁡1,PDE2
f⁡_ξ1,_ξ2=f__1⁡_ξ2⁢_ξ1+f__2⁡_ξ2
See Also
build
dchange
pdsolve
Download Help Document