Ordinary and Partial Differential Equations
Maple is the world leader in finding exact solutions to ordinary and partial differential equations. Maple 2020 extends that lead even further with new algorithms and techniques for solving more ODEs and PDEs, including general solutions, and solutions with initial conditions and/or boundary conditions. For Maple 2020, there are significant improvements both in dsolve and in pdsolve for the exact solution of ODEs and PDEs, with and without initial or boundary conditions. For ODEs, a new algorithm for computing hypergeometric solutions to 2ndorder linear ODEs is capable of solving new classes of problems that were previously out of reach. For PDEs, improvements include a significantly extended ability to solve problems with boundary and initial conditions, also using integral Mellin and Hankel transforms, and two new methods for finding general PDE solutions, by mapping the PDE onto an ODE with auxiliary functions and by using decomposition into first integrals. As well, when the PDE depends on parameters, new symmetry techniques allow you to compute parameterized symmetries and to reduce the number of these parameters, something frequently convenient in different contexts.
Hypergeometric solutions for second-order linear ODEs
Exact solutions to PDEs with Boundary / Initial conditions
Mellin and Hankel transform solutions for PDE with Boundary Conditions
A general solution to a PDE calculated via rewriting the PDE as an ODE with arbitrary auxiliary functions
Solving a PDE by making use of first integrals
PDE parameterized symmetries
Parameter-continuous symmetry transformations
Previous Maple releases already have algorithms for computing hypergeometric solutions for linear ODEs. The new algorithms implemented in Maple 2020, however, are more general. Suppose an ODE admits solutions of the form
yx = r__0x⋅Yx+r__1x⋅Y 'x
where r__0x and r__1x are rational functions of x, and Yxis the solution of some other linear ODE. Then the new algorithm can compute that other linear ODE and solve it, provided that it admits solutions of the form
Y⁡x=ⅇ∫r⁡xⅆx⁢F12⁡a,b;c;fx
where rx and fx are rational functions of x, F12 is the hypergeometric function and a, b, and c are arbitrary constants. The new algorithms use modular reduction, Hensel lifting, rational function reconstruction, and rational number reconstruction.
This algorithm is more general than previous algorithms in that it has no restrictions neither on the degree of the pullback function fx nor the number of singularities of the input equation. The implementation follows the presentation by Imamoglu, E. and van Hoeij, M. "Computing Hypergeometric Solutions of Second Order Linear Differential Equations using Quotients of Formal Solutions and Integral Bases", Journal of Symbolic Computation, 83, (2017): 254-271.
Examples
A problem that admits solutions of the form Y⁡x=ⅇ∫r⁡xⅆx⁢F12⁡a,b;c;fx
restart;
ode__1 ≔ ⅆ2ⅆx2yx+4⁢24⁢x2−1⁢ⅆⅆxy⁡xx⁢16⁢x2−1 +2⁢192⁢x3−56⁢x2−6⁢x+1⁢y⁡xx2⁢4⁢x−1⁢16⁢x2−1= 0:
dsolveode__1
y⁡x=_C1⁢F12⁡−12,12;1;4⁢x+124⁢x−12x2+_C2⁢F12⁡12,32;2;−16⁢x4⁢x−12x⁢4⁢x−12
An example where the solutions are of the form yx = r__0x⋅Yx+r__1x⋅Y 'x
ode__2 ≔ ⅆ2ⅆx2yx+2⁢112⁢x3−168⁢x2+73⁢x−9⁢ⅆⅆxy⁡xx⁢−1+2⁢x⁢16⁢x2−16⁢x+3+4⁢576⁢x5−1024⁢x4+488⁢x3−15⁢x2−27⁢x+3⁢y⁡x−1+2⁢x2⁢x2⁢1+4⁢x⁢16⁢x2−16⁢x+3=0:
dsolveode__2
y⁡x=_C1⁢−4⁢x+1⁢F12⁡12,12;1;16⁢x22⁢x−1⁢x2+−16⁢x2+1⁢F12⁡32,32;2;16⁢x22⁢x3−x2+_C2⁢−4⁢x+1⁢F12⁡12,12;1;−16⁢x2+12⁢x−1⁢x2+16⁢x2−1⁢F12⁡32,32;2;−16⁢x2+12⁢x3−x2
An example with a parameter a in the coefficients
ode__3≔a⁢x+1⁢ⅆ2ⅆx2y⁡x+288⁢a⁢x4−18+−432⁢a+224⁢x3+190⁢a−336⁢x2+−24⁢a+146⁢x⁢ⅆⅆxy⁡x32⁢x4−48⁢x3+22⁢x2−3⁢x+4096⁢a⁢x6+12+−7232⁢a+2304⁢x5+3568⁢a−4096⁢x4+−160⁢a+1952⁢x3+−218⁢a−60⁢x2+30⁢a−108⁢x⁢y⁡x2⁢x−12⁢x2⁢4⁢x+1⁢16⁢x2−16⁢x+3=0:
dsolveode__3
y⁡x=_C1⁢4⁢x−3⁢4⁢F12⁡32,32;2;16⁢x2⁢x−F12⁡32,32;2;16⁢x2+F12⁡12,12;1;16⁢x2⁢16⁢x2−14⁢x−1⁢2⁢x−1⁢a⁢x+1⁢x2⁢32⁢x3−48⁢x2+22⁢x−3+_C2⁢4⁢x−3⁢−4⁢F12⁡32,32;2;−16⁢x2+1⁢x+F12⁡12,12;1;−16⁢x2+1+F12⁡32,32;2;−16⁢x2+1⁢16⁢x2−14⁢x−1⁢2⁢x−1⁢a⁢x+1⁢x2⁢32⁢x3−48⁢x2+22⁢x−3
Verify this solution
odetest,ode__3
0
Some ODEs with 4 regular singular points that can be solved in terms of HeunG functions can also be solved using the new algorithm. This is possible whenever through a gauge transformation one of the singularities can be removed. The following ODE is of that kind, and the default solution returned by dsolve is in terms of HeunG
ode__4 ≔ ⅆ2ⅆx2yx+x4−44⁢x3+1206⁢x2−44⁢x+1⁢y⁡x4⁢x2−34⁢x+12⁢x2=0:
dsolveode__4
y⁡x=_C1⁢x⁢−x2+34⁢x−134⁢HG⁡24⁢2−17+12⁢2,3⁢36⁢2−254⁢−17+12⁢23⁢17+12⁢22,32,32,32,1,x−17+12⁢2−17+12⁢2+_C2⁢x⁢−x+17+12⁢2⁢−x2+34⁢x−114⁢HG⁡24⁢2−17+12⁢2,6⁢2−6−17+12⁢23⁢17+12⁢22,1,1,12,1,x−17+12⁢2−17+12⁢2
To get a solution in terms of hypergeometric functions you can indicate the method to be used, in this case the new method hypergeometricsols
dsolveode__4,hypergeometricsols
y⁡x=_C1⁢ⅇ−∫−x3+6⁢x2−34⁢x+1⁢x+15⁢x2+51⁢x−1x2−34⁢x+1⁢x⁢x+1ⅆx2⁢F12⁡13,23;1;x3+30⁢x2−24⁢x+1+x2−7⁢x+1⁢x2−34⁢x+12⁢x+13+_C2⁢ⅇ−∫−x3+6⁢x2−34⁢x+1⁢x+15⁢x2+51⁢x−1x2−34⁢x+1⁢x⁢x+1ⅆx2⁢F12⁡13,23;1;−x2+7⁢x−1⁢x2−34⁢x+1+x3−24⁢x2+30⁢x+12⁢x+13
The integrals can actually be computed
value
y⁡x=_C1⁢ⅇarctanh⁡36−36⁢x12⁢x+12−36⁢x2+ln⁡x2−34⁢x+14−ln⁡x+12+ln⁡x2⁢F12⁡13,23;1;x3+30⁢x2−24⁢x+1+x2−7⁢x+1⁢x2−34⁢x+12⁢x+13+_C2⁢ⅇarctanh⁡36−36⁢x12⁢x+12−36⁢x2+ln⁡x2−34⁢x+14−ln⁡x+12+ln⁡x2⁢F12⁡13,23;1;−x2+7⁢x−1⁢x2−34⁢x+1+x3−24⁢x2+30⁢x+12⁢x+13
odetest,ode__4
Maple 2019 included a significant leap in the computation of exact solutions for PDE with Boundary / Initial conditions. For Maple 2020, another jump ahead in the solving capabilities happened. The examples below belong to different classes of problems out of reach of the Maple 2019 developments.
An example where the solution involves products of Bessel and Hankel functions
pde__1≔∂∂tur,t=∂2∂r2ur,t+∂∂ru⁡r,tr:
iv__1≔ur,0=1−r,u1,t=0:
pdsolve⁡pde__1,iv__1
u⁡r,t=casesplit/ans⁡Sum⁡−BesselJ⁡0,λn⁢r⁢π⁢BesselJ⁡1,λn⁢StruveH⁡0,λn−BesselJ⁡0,λn⁢StruveH⁡1,λn⁢sinh⁡λn2⁢t−cosh⁡λn2⁢tλn2⁢BesselJ⁡0,λn2+BesselJ⁡1,λn2,n=1..∞,And⁡λn=BesselJZeros⁡0,n,0<λn
A similar problem but in three variables; the solution is a double infinite sum
pde__2≔∂∂tur,z,t=∂2∂r2u⁡r,z,t+∂∂ru⁡r,z,tr+∂2∂z2ur,z,t:
iv__2≔ur,0,t=0,ur,1,t=0,u1,z,t=0,ur,z,0=fr,z:
pdsolve⁡pde__2,iv__2
u⁡r,z,t=casesplit/ans⁡Sum⁡Sum⁡4⁢BesselJ⁡0,λn1⁢r⁢sin⁡n⁢π⁢z⁢exp⁡−t⁢π2⁢n2+λn12⁢Int⁡BesselJ⁡0,λn1⁢r⁢r⁢Int⁡sin⁡n⁢π⁢z⁢f⁡r,z,z=0..1,AllSolutions,r=0..1,AllSolutionshypergeom⁡12,1,2,−λn12,n=1..∞,n1=1..∞,And⁡λn1=BesselJZeros⁡0,n1,0≤λn1
A large number of new infinite series solutions are now computable for different classes of problems (the number of boundary or initial conditions, whether they are periodic or involve derivatives of the unknown, etc.)
pde__3≔∂2∂t2ux,t=4⁢∂2∂x2u⁡x,t:
iv__3≔ux,0=0,D2ux,0=sinx2,u−π,t=0,uπ,t=0:
pdsolve⁡pde__3,iv__3
u⁡x,t=315⁢∑n=5∞⁡16⁢sin⁡n⁢x+π2⁢sin⁡n⁢t⁢−1n−1π⁢n2⁢n2−16⁢π−160⁢cos⁡3⁢x2⁢sin⁡3⁢t+672⁢cos⁡x2⁢sin⁡t315⁢π
pde__4≔∂2∂x2ux,y+∂2∂y2ux,y=0:
iv__4≔u0,y=0,ux,1=A,ux,0=0:
pdsolve⁡pde__4,iv__4,HINT=boundedseries⁡x=∞assuming0<x,0<y
u⁡x,y=A⁢y+∑n=1∞⁡2⁢−1n⁢A⁢ⅇ−n⁢π⁢x⁢sin⁡n⁢π⁢yn⁢π
pde__5≔∂∂tut,x=∂2∂x2ut,x:
iv__5≔u0,x=1,ut,−1=0,ut,1=0:
pdsolve⁡pde__5,iv__5
u⁡t,x=∑n=1∞⁡−2⁢ⅇ−π2⁢n2⁢t4⁢sin⁡n⁢π⁢x+12⁢−1n−1n⁢π
An example with periodic conditions in both the unknown and its first derivative, where different methods combine resulting in a solution involving an arbitrary function of x
pde__6≔∂∂tux,t=∂2∂x2ux,t:
iv__6≔u−π,t=uπ,t,D1⁡u−π,t=D1⁡uπ,t:
pdsolve⁡pde__6,iv__6
u⁡x,t=2⁢∑n=1∞⁡ⅇ−n2⁢t⁢∫−ππ_F1⁡x⁢sin⁡n⁢xⅆx⁢sin⁡n⁢x+∫−ππ_F1⁡x⁢cos⁡n⁢xⅆx⁢cos⁡n⁢xπ⁢π+∫−ππ_F1⁡xⅆx2⁢π
The detection of particular values of the summation index for which the solution branches with a different expression is now better:
pde__7≔∂2∂t2ux,t+2⁢∂∂tu⁡x,t=∂2∂x2ux,t:
iv__7≔D2⁡ux,0=0,ux,0=fx,u0,t=0,uπ,t=0:
pdsolve⁡pde__7,iv__7,u⁡x,tassuming0<t
u⁡x,t=∑n=1∞⁡2⁢ⅇ−t⁢t+1⁢∫0πsin⁡x⁢f⁡xⅆx⁢sin⁡xπn=1−1+−n2+1⁢ⅇ−−n2+1+1⁢t+ⅇ−1+−n2+1⁢t⁢−n2+1+1⁢∫0πsin⁡n⁢x⁢f⁡xⅆx⁢sin⁡n⁢x−n2+1⁢πotherwise
A problem with two boundary and two initial conditions, all for the unknown ur,t, where the solution method consists of splitting the problem into two PDE & BC problems and the solution is the sum of those two solutions
pde__8≔∂2∂r2ur,t+∂∂ru⁡r,tr+∂2∂t2u⁡r,tr2=0:
iv__8≔ur,π6=π6,ur,π2=0,u1,t=0,u2,t=t:
pdsolve⁡pde__8,iv__8
u⁡r,t=∑n1=1∞⁡−−r3⁢n1+r−3⁢n1⁢8n1⁢−1n1−13⁢sin⁡n1⁢−6⁢t+π264n1−1⁢n1+∑n=1∞⁡−−1n−1⁢sin⁡n⁢π⁢ln⁡rln⁡2⁢ⅇn⁢π⁢7⁢π−6⁢t6⁢ln⁡2−ⅇn⁢π⁢6⁢t+π6⁢ln⁡23⁢n⁢ⅇn⁢π2ln⁡2−ⅇn⁢π23⁢ln⁡2
Similar example, but involving conditions for the two first derivatives of the unknown ur,t
pde__9≔∂2∂r2ur,t+∂∂ru⁡r,tr+∂2∂t2u⁡r,tr2=0:
iv__9≔ur,π6=π6,D2ur,π2=0,u1,t=0,D1u2,t=t:
pdsolvepde__9,iv__9
u⁡r,t=∑n1=0∞⁡16⁢cos⁡12⁢t−2⁢π⁢n14+3⁢t2+π4⁢−r32+3⁢n1+r−32−3⁢n1⁢π+4⁢−1n1⁢23⁢n1+12+232+3⁢n1⁢π⁢n19⁢26⁢n1+6⁢n13+96⁢n12+48⁢n1+8⁢64n1+8⁢12+n13⁢π+∑n=0∞⁡2⁢sin⁡1+2⁢n⁢π⁢ln⁡r2⁢ln⁡2⁢ⅇ1+2⁢n⁢π⁢−6⁢t+5⁢π12⁢ln⁡2+ⅇ−−6⁢t+π⁢1+2⁢n⁢π12⁢ln⁡23⁢1+2⁢n⁢ⅇ1+2⁢n⁢π23⁢ln⁡2+1
A problem with initial conditions involving arbitrary functions evaluated at algebraic expressions, as f⁡x,−a2−b2, and boundary conditions that are periodic as u⁡a,t=u⁡b,t
pde__10≔∂∂tux,t=k⁢∂2∂x2u⁡x,t:
iv__10≔ux,0=fx,−a2−b2,ua,t=ub,t,∂∂aua,t=∂∂bub,t:
pdsolve⁡pde__10,iv__10,ux,tassuminga<b
u⁡x,t=−b+a⁢∑n=1∞⁡−2⁢ⅇ−4⁢k⁢π2⁢n2⁢t−b+a2⁢∫abf⁡x,−a2−b2⁢sin⁡2⁢n⁢π⁢−x+a−b+aⅆx⁢sin⁡2⁢n⁢π⁢−x+a−b+a+∫abf⁡x,−a2−b2⁢cos⁡2⁢n⁢π⁢−x+a−b+aⅆx⁢cos⁡2⁢n⁢π⁢−x+a−b+a−b+a−∫abf⁡x,−a2−b2ⅆx−b+a
Similar problem involving an arbitrary function in the initial conditions
pde__11≔∂∂tυξ,t=k⁢∂2∂ξ2υ⁡ξ,t:
iv__11≔D1⁡υa,t=0,υl+a,t=0,υξ,0=fξ,a:
pdsolve⁡pde__11,iv__11,υξ,tassuming0<a,0<l
υ⁡ξ,t=∑n=0∞⁡2⁢cos⁡1+2⁢n⁢π⁢−ξ+a2⁢l⁢ⅇ−k⁢π2⁢1+2⁢n2⁢t4⁢l2⁢∫al+af⁡ξ,a⁢cos⁡1+2⁢n⁢π⁢−ξ+a2⁢lⅆξl
Some simple, however tricky problems with nonlinear boundary conditions
pde__12≔−∂2∂r2ur,t:
iv__12≔D1⁡u0,t+D1⁡u⁡0,t⁢u⁡0,t=0:
pdsolve⁡pde__12,iv__12
u⁡r,t=_C2,u⁡r,t=_C1⁢r−1
Problems with more than one evaluation point for the same variable, periodic, or involving piecewise initial conditions
pde__13≔∂2∂t2υξ,y,t=∂2∂ξ2υξ,y,t+∂2∂y2υξ,y,t:
iv__13≔υπ3,y,t=0,υ4⁢π3,y,t=0,υξ,0,t=0,υξ,π,t=0,D3⁡υξ,y,0=0,υξ,y,0=ξ−π3⁢4⁢π3−ξ⁢y⁢π−y:
pdsolve⁡pde__13,iv__13
υ⁡ξ,y,t=∑n1=1∞⁡∑n=1∞⁡16⁢−−1n1+n+−1n1+−1n−1⁢sin⁡n⁢π−3⁢ξ3⁢sin⁡n1⁢y⁢cos⁡n2+n12⁢tπ2⁢n3⁢n13
pde__14≔∂2∂t2ux,t+4⁢π⁢∂∂tu⁡x,t3=16⁢∂2∂x2u⁡x,t:
iv__14≔u0,t=0,D1⁡u3,t=0,D2⁡ux,0=0,ux,0=x100≤xandx≤11101<xandx≤3:
pdsolve⁡pde__14,iv__14
u⁡x,t=∑n=0∞⁡4⁢sin⁡π⁢x6⁢ⅇ−2⁢π⁢t3⁢π⁢t+325⁢π2n=03⁢3⁢sin⁡π⁢n3+cos⁡π⁢n3⁢sin⁡1+2⁢n⁢π⁢x6⁢2⁢n⁢n+1+I⁢ⅇ2⁢I3⁢π⁢−2⁢n⁢n+1+I⁢t−ⅇ2⁢I3⁢π⁢2⁢n⁢n+1+I⁢t⁢−2⁢n⁢n+1+I10⁢n+1⁢n⁢π2⁢1+2⁢n2otherwise
In previous Maple releases, the Fourier and Laplace transforms were used to compute exact solutions to PDE problems with boundary conditions. Now, Mellin and Hankel transforms are also used for that same purpose.
Examples:
pde__1≔x2⁢∂2∂x2u⁡x,y+x⁢∂∂xu⁡x,y+∂2∂y2ux,y=0: iv__1≔ux,0=0,ux,1=10≤xandx<101<x:
sol ≔ pdsolvepde__1,iv__1
u⁡x,y=invmellin⁡sin⁡s⁢ysin⁡s⁢s,s,x
As usual, you can let pdsolve choose the solving method, or indicate the method yourself:
pde__2≔∂2∂r2u⁡r,t+∂∂ru⁡r,tr+∂2∂t2ur,t=−Q__0⁢q⁡r: iv__2≔ur,0=0:
pdsolvepde__2,iv__2
u⁡r,t=Q__0⁢−hankel⁡exp⁡−s⁢t⁢hankel⁡q⁡r,r,s,0s2,s,r,0+hankel⁡hankel⁡q⁡r,r,s,0s2,s,r,0
It is sometimes preferable to see these solutions in terms of more familiar integrals. For that purpose, use
convert,Int, only=hankel
u⁡r,t=Q__0⁢−∫0∞ⅇ−s⁢t⁢∫0∞q⁡r⁢r⁢J0⁡r⁢sⅆr⁢J0⁡r⁢ssⅆs+∫0∞∫0∞q⁡r⁢r⁢J0⁡r⁢sⅆr⁢J0⁡r⁢ssⅆs
An example where the hankel transform is computed:
pde__3≔c2⁢∂2∂r2u⁡r,t+∂∂ru⁡r,tr=∂2∂t2ur,t:iv__3≔u⁡r,0=A⁢a⁢a2+r2−12,D2⁡u⁡r,0=0:
pdsolvepde__3, iv__3,method=Hankel assuming r > 0, t > 0, a > 0
u⁡r,t=A⁢a⁢−c2⁢t2+2⁢I⁢a⁢c⁢t+a2+r2+−c2⁢t2−2⁢I⁢a⁢c⁢t+a2+r22⁢−c2⁢t2−2⁢I⁢a⁢c⁢t+a2+r2⁢−c2⁢t2+2⁢I⁢a⁢c⁢t+a2+r2
Under certain conditions, it is possible to rewrite a PDE as an ODE for one unknown and some auxiliary arbitrary functions. When that is possible, the solving process involves as many steps as there are independent variables in the PDE. Each step consists of solving only a single intermediate ODE (and no PDEs). In this way, a general solution is obtained for the original PDE.
Below are four examples, all of them nonlinear. For the 4th one the solving method is shown step by step.
Example 1:
pde__1≔∂2∂t∂xw⁡t,x−a⁢∂∂xw⁡t,x2w⁡t,x−∂∂tw⁡t,xw⁡t,x+b+cw⁡t,x⁢∂∂xw⁡t,x−c⁢∂∂tw⁡t,x2⁢a⁢w⁡t,x−k⁢w⁡t,x−b⁢c2⁢a−c24⁢a⁢w⁡t,x:
pdsolvepde__1;
w⁡t,x=∫−c⁢ⅇ2⁢k⁢∫_F1⁡x⁢−4⁢k⁢a+b2+ⅇ−−4⁢k⁢a+b2⁢t4⁢_F1⁡x⁢a⁢k−_F1⁡x⁢b2+_F1⁡x⁢−4⁢k⁢a+b2⁢b+ⅇ−−4⁢k⁢a+b2⁢t⁢b+−4⁢k⁢a+b2⁢ⅇ−−4⁢k⁢a+b2⁢tⅆx2⁢aⅆx+_F2⁡t⁢ⅇ∫−2⁢k⁢_F1⁡x⁢−4⁢k⁢a+b2+ⅇ−−4⁢k⁢a+b2⁢t4⁢_F1⁡x⁢a⁢k−_F1⁡x⁢b2+_F1⁡x⁢−4⁢k⁢a+b2⁢b+ⅇ−−4⁢k⁢a+b2⁢t⁢b+−4⁢k⁢a+b2⁢ⅇ−−4⁢k⁢a+b2⁢tⅆx
Example 2:
pde__2≔w⁡t,x3⁢∂4∂t2∂x2w⁡t,x−2⁢w⁡t,x2⁢∂∂tw⁡t,x⁢∂3∂t∂x2w⁡t,x+∂∂xw⁡t,x⁢∂3∂t2∂xw⁡t,x−2⁢w⁡t,x⁢∂2∂t∂xw⁡t,x−2⁢∂∂tw⁡t,x⁢∂∂xw⁡t,x2+2⁢w⁡t,x⁢∂2∂x2w⁡t,x+∂∂xw⁡t,x2⁢∂∂tw⁡t,x2−w⁡t,x⁢∂2∂t2w⁡t,x⁢w⁡t,x⁢∂2∂x2w⁡t,x−2⁢∂∂xw⁡t,x2:
pdsolvepde__2;
w⁡t,x=_F4⁡t⁢ⅇ_F1⁡x⁢t−_F2⁡x−_F3⁡t⁢x
Example 3:
pde__3≔4 ∂5∂t3∂x2y⁡x,t⁢∂∂ty⁡x,t+6⁢∂4∂t2∂x2y⁡x,t⁢∂2∂t2y⁡x,t+4⁢∂3∂t∂x2y⁡x,t⁢∂3∂t3y⁡x,t+∂2∂x2y⁡x,t⁢∂4∂t4y⁡x,t+6⁢∂3∂t2∂xy⁡x,t2+8⁢∂2∂t∂xy⁡x,t⁢∂4∂t3∂xy⁡x,t+2⁢∂∂xy⁡x,t⁢∂5∂t4∂xy⁡x,t+yx,t⁢∂6∂t4∂x2y⁡x,t:
pdsolvepde__3;
y⁡x,t=RootOf⁡_F1⁡x⁢t3−6⁢_F2⁡x⁢t2−6⁢_F3⁡x⁢t+6⁢_F5⁡t⁢x+3⁢_Z2−6⁢_F4⁡x−3⁢_F6⁡t
Example 4
pde__4≔∂3∂t∂x∂zE⁡t,x,zE⁡t,x,z−∂2∂x∂zE⁡t,x,z⁢∂∂tE⁡t,x,zE⁡t,x,z2−∂2∂t∂xE⁡t,x,z⁢∂∂zE⁡t,x,zE⁡t,x,z2−∂∂xE⁡t,x,z⁢∂2∂t∂zE⁡t,x,zE⁡t,x,z2+2⁢∂∂xE⁡t,x,z⁢∂∂zE⁡t,x,z⁢∂∂tE⁡t,x,zE⁡t,x,z3:
Step-by-step solving process for pde__4
Step 1. pde__4 can be written as an ODE with respect to t by taking the derivatives of E⁡t,x,zwith respect to x and z as auxiliary arbitrary functions of t according to
auxiliary_functions ≔A__x⁡t=∂∂xE⁡t,x,z,A__z⁡t=∂∂zE⁡t,x,z,A__xz⁡t=∂2∂x∂zE⁡t,x,z,E__0⁡t=E⁡t,x,z:
The resulting ODE is
ODE__t≔ⅆⅆtA__xz⁡tE__0⁡t−A__xz⁡t⁢ⅆⅆtE__0⁡tE__0⁡t2−ⅆⅆtA__x⁡t⁢A__z⁡tE__0⁡t2+2⁢A__x⁡t⁢A__z⁡t⁢ⅆⅆtE__0⁡tE__0⁡t3−A__x⁡t⁢ⅆⅆtA__z⁡tE__0⁡t2:
Despite the presence of the auxiliary arbitrary functions A__x⁡t, A__z⁡t and A__xz⁡t, the problem is in reach of dsolve's algorithms, so solve this ODE__t for E__0t
dsolveODE__t,E__0t
E__0⁡t=−A__xz⁡t−A__xz⁡t2+4⁢_C1⁢A__x⁡t⁢A__z⁡t2⁢_C1,E__0⁡t=−A__xz⁡t+A__xz⁡t2+4⁢_C1⁢A__x⁡t⁢A__z⁡t2⁢_C1
The solution above reduced the order of the original problem pde__4 by one. Depending on the problem, more than one reduction of order may occur.
Step 2. We need to express the integration constant with respect to t in the context of a problem in t, x, and z, that is, _C1 is an arbitrary function of x and z. For illustration purposes take for instance the first solution
_C1=solve1,_C1;
_C1=−A__xz⁡t⁢E__0⁡t−A__x⁡t⁢A__z⁡tE__0⁡t2
subs_C1 = _F1x,t,
_F1⁡x,t=−A__xz⁡t⁢E__0⁡t−A__x⁡t⁢A__z⁡tE__0⁡t2
Restoring the original functions, we get
subsauxiliary_functions,
_F1⁡x,t=−∂2∂x∂zE⁡t,x,z⁢E⁡t,x,z−∂∂xE⁡t,x,z⁢∂∂zE⁡t,x,zE⁡t,x,z2
This pde in t, x, and z can now be written in terms of two auxiliary functions just of x as
auxiliary_functions ≔ A__zx = ∂∂zEt,x,z, E__0x=Et,x,z:
Resulting in
ODE__x≔_F1⁡x,z=−ⅆⅆxA__z⁡x⁢E__0x−ⅆⅆx E__0x⁢A__z⁡xE__0x2
ODE__x≔_F1⁡x,z=−ⅆⅆxA__z⁡x⁢E__0⁡x−ⅆⅆxE__0⁡x⁢A__z⁡xE__0⁡x2
Solve this ODE
dsolveODE__x,E__0x
E__0⁡x=A__z⁡x∫−_F1⁡x,zⅆx+_C1
Step 3. Proceed as in the previous step, isolating _C1 , rewriting it as an arbitrary function of z and t and restoring the original functions
_C1=solve,_C1;
_C1=−E__0⁡x⁢∫−_F1⁡x,zⅆx−A__z⁡xE__0⁡x
subs_C1 = _F2t,z,
_F2⁡t,z=−E__0⁡x⁢∫−_F1⁡x,zⅆx−A__z⁡xE__0⁡x
Although not necessary, a simplification is possible in that the integral of an arbitrary function is also an arbitrary function, so we can remove the integration by redefining _F1 → D1_F1
eval,Int=int,_F1 = D1_F1
_F2⁡t,z=−−E__0⁡x⁢_F1⁡x,z−A__z⁡xE__0⁡x
Restore the original variables
_F2⁡t,z=−−E⁡t,x,z⁢_F1⁡x,z−∂∂zE⁡t,x,zE⁡t,x,z
This resulting pde is already an ODE in disguise, from where the general solution to the original problem pde__4 is
pdsolve
E⁡t,x,z=_F3⁡t,x⁢ⅇ∫_F2⁡t,z−_F1⁡x,zⅆz
This solution can be simplified further by redefining _F2 → D2_F2 and _F1 → D2_F1
eval,Int=int, _F2 = D2_F2, _F1 = D2_F1
E⁡t,x,z=_F3⁡t,x⁢ⅇ_F2⁡t,z−_F1⁡x,z
Verify this solution with the original pde__4
pdetest,pde__4
Doing all these steps in one go
pdsolvepde__4
Any PDE can be solved iterating the two steps below related to its first integrals, when they can be computed.
Step 1: Write the differential equation for a first integral - a function Φ of the PDE's jet space - by equating to 0 its total derivative with respect to (any) one of the independent variables of the original problem. The resulting PDE is of first order and can be tackled using the characteristic strip method.
Step 2: When the PDE for Φ can be solved, the solution is an arbitrary function of the differential invariants of the PDE for Φ. Equate one such differential invariant to an arbitrary function of the remaining independent variables of the problem, resulting in a pde of reduced order with respect to the original PDE problem, a first integral. At this point one can either repeat the process to calculate more first integrals in order to attempt an algebraic elimination (multiple reduction of order) or move again to Step 1 with the reduced order PDE.
withPDEtools:
pde__1≔∂∂xu⁡x,y−∂∂yu⁡x,y
pde__1≔∂∂xu⁡x,y−∂2∂x∂yu⁡x,y
FirstIntegralSolverpde__1,ux,y;
u⁡x,y=∫_F1⁡y⁢ⅇ−yⅆy+_F2⁡x⁢ⅇy
pdetest,
The solving process step-by-step
Construct an expression for the first integral ΦQ, where Q=x,y,u,ux,uy, the jet space of pde__1
Q≔x,y,u,ux,uy
declareΦQ
Phi⁡x,y,u,ux,uy⁢will now be displayed as⁢Φ
Take the total derivative of ΦQ with respect to x
D_DxPhiQ,x,ux,y=0
diff⁡Φ⁡x,y,u,ux,uy,x+diff⁡Φ⁡x,y,u,ux,uy,u⁢ux+diff⁡Φ⁡x,y,u,ux,uy,ux⁢ux,x+diff⁡Φ⁡x,y,u,ux,uy,uy⁢ux,y=0
Take this PDE modulo pde__1, and that is all the formulation of the problem
isolateToJetpde__1,ux,y, ux,y
ux,y=ux
PDE__Φ ≔subs,
diff⁡Φ⁡x,y,u,ux,uy,x+diff⁡Φ⁡x,y,u,ux,uy,u⁢ux+diff⁡Φ⁡x,y,u,ux,uy,ux⁢ux,x+diff⁡Φ⁡x,y,u,ux,uy,uy⁢ux=0
Solve PDE__Φ, and in doing so, the solution cannot depend on ux,x (it can only depend on Q = x,y,u,ux,uy). You can achieve that using the ivars option of pdsolve
pdsolve⁡PDE__Φ,ivars=ux,x
Φ⁡x,y,u,ux,uy=_F1⁡y,−u+uy
Since Φ is a first integral, the arguments of the arbitrary function entering this solution are also first integrals. Take the second one, which involves 1st order derivatives, and equate it to an arbitrary function all the independent variables but x (the variable used when taking the total derivative of Φ). In this case, there is only one other variable, y.
op1,2,2,=_F1y
−u+uy=_F1⁡y
Rewrite this result in function notation
FromJet,ux,y
−u⁡x,y+diff⁡u⁡x,y,y=_F1⁡y
This result is already an ODE in disguise; solve it to arrive at the general solution of pde__1
A more involved example:
pde__2≔A__1⁢∂2∂x__4∂x__1w⁡x__1,x__2,x__3,x__4+A__2⁢∂2∂x__4∂x__2w⁡x__1,x__2,x__3,x__4+A__3⁢∂2∂x__4∂x__3w⁡x__1,x__2,x__3,x__4+A__6+A__5⁢∂∂x__4w⁡x__1,x__2,x__3,x__4+A__7⁢A__1⁢∂∂x__1w⁡x__1,x__2,x__3,x__4+A__2⁢∂∂x__2w⁡x__1,x__2,x__3,x__4+A__3⁢∂∂x__3w⁡x__1,x__2,x__3,x__4+A__5⁢w⁡x__1,x__2,x__3,x__4+A__4+A__8⁢A__1⁢∂∂x__1w⁡x__1,x__2,x__3,x__4+A__2⁢∂∂x__2w⁡x__1,x__2,x__3,x__4+A__3⁢∂∂x__3w⁡x__1,x__2,x__3,x__4+A__5⁢w⁡x__1,x__2,x__3,x__4+A__42:
PDEtools:-FirstIntegralSolverpde__2,wx__1,x__2,x__3,x__4;
w⁡x__1,x__2,x__3,x__4=−12⁢Intat⁡exp⁡A__5⁢_aA__1⁢2⁢A__3⁢A__4⁢A__8+A__3⁢A__7+tan⁡12⁢A__32⁢4⁢A__6⁢A__8−A__72⁢_F1⁡_a,A__1⁢x__2+A__2⁢_a−A__2⁢x__1A__1,A__1⁢x__3+A__3⁢_a−A__3⁢x__1A__1+x__4A__3⁢A__32⁢4⁢A__6⁢A__8−A__72A__1⁢A__3⁢A__8,_a=x__1−2⁢_F2⁡A__1⁢x__2−A__2⁢x__1A__1,A__1⁢x__3−A__3⁢x__1A__1,x__4⁢exp⁡−A__5⁢x__1A__1