Solutions for Linear Ordinary Differential Equations (LODEs) via Differential Factorization
Description
One of the significant improvements for solving linear ODEs is the method which makes use of the factorization of differential operators (see diffop, and examples,diffop). As an example, the third order linear ODE
ode := x^2*diff(y(x),x$3) + (-x^3+3*x)*diff(y(x),x$2) + (-x^3+3*x)*y(x);
ode≔x2⁢ⅆ3ⅆx3y⁡x+−x3+3⁢x⁢ⅆ2ⅆx2y⁡x+−x3+3⁢x⁢y⁡x
is solved as
dsolve(ode);
y⁡x=c__1⁢BesselJ⁡1,x+c__2⁢BesselY⁡1,x+c__3⁢−BesselJ⁡1,x⁢∫BesselY⁡1,x⁢ⅇx22xⅆx+∫BesselJ⁡1,x⁢ⅇx22xⅆx⁢BesselY⁡1,x
The method of solution takes advantage of the (sometimes) possible factorization of the linear differential operator associated to the given LODE. For example, for ode above, the differential operator is given by
DEtools[de2diffop](ode, y(x), [Dx,x]);
x2⁢Dx3+−x3+3⁢x⁢Dx2−x3+3⁢x
and this operator is factored as
DEtools[DFactor]((3), [Dx,x]);
x2⁢Dx−x⁢x2−2,Dx2+Dxx+x2−1x2
The original ode is then solved by solving the LODEs determined by these two factors above (the solution to the left factor enters as a non-homogeneous term in the LODE associated to the right factor; solving this non-homogeneous LODE leads to the solution of ode).
As the second example, consider
ode := diff(y(x),x$3) - x*diff(y(x),x$2) - b^2*diff(y(x),x) + b^2*x*y(x);
ode≔ⅆ3ⅆx3y⁡x−x⁢ⅆ2ⅆx2y⁡x−b2⁢ⅆⅆxy⁡x+b2⁢x⁢y⁡x
This LODE is solved by dsolve as follows
y⁡x=c__1⁢ⅇb⁢x+c__2⁢ⅇ−b⁢x+c__3⁢erf⁡I2⁢2⁢b−x⁢ⅇ−b⁢b−2⁢x2+erf⁡I2⁢2⁢b+x⁢ⅇ−b⁢b+2⁢x2
In this case the solving method is taking advantage of the partial factorization
Dx^3-x*Dx^2-b^2*Dx+b^2*x = (Dx-x)*(Dx^2-b^2);
Dx3−x⁢Dx2−b2⁢Dx+b2⁢x=Dx−x⁢Dx2−b2
rather than the complete factorization
Dx^3-x*Dx^2-b^2*Dx+b^2*x = (Dx-x)*(Dx-b)*(Dx+b);
Dx3−x⁢Dx2−b2⁢Dx+b2⁢x=Dx−x⁢Dx−b⁢Dx+b
Even in cases where dsolve cannot find solutions for all the factors, it can still return a reduction of order expressed using a DESol structure. For example, for
ode := diff(y(x),x$3) + (x^3-x)*diff(y(x),x$2) - (x^4+3)*diff(y(x),x) - (x^3-x)*y(x);
ode≔ⅆ3ⅆx3y⁡x+x3−x⁢ⅆ2ⅆx2y⁡x−x4+3⁢ⅆⅆxy⁡x−x3−x⁢y⁡x
we have
y⁡x=c__1⁢ⅇx22+c__2⁢∫ⅇ−x2⁢x2+24⁢HeunB⁡−12,0,−32,1,x22ⅆx⁢ⅇx22+c__3⁢∫x⁢ⅇ−x2⁢x2+24⁢HeunB⁡12,0,−32,1,x22ⅆx⁢ⅇx22
that is, a reduction of order by one, since, in the factorization
Dx3+x3−x⁢Dx2+−x4−3⁢Dx−x3+x
DEtools[DFactor]((11), [Dx,x]);
Dx2+x3⁢Dx−1,Dx−x
dsolve only succeeded in solving the right factor (the left factor has no Liouvillian solutions).
See Also
DEtools
diffop
dsolve,education
PDEtools
Download Help Document