differential factorization - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Differential Equations : dsolve : differential factorization

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

(1)
  

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

(2)
  

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

(3)
  

and this operator is factored as

> 

DEtools[DFactor]((3), [Dx,x]);

x2⁢Dx−x⁢x2−2,Dx2+Dxx+x2−1x2

(4)
  

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

(5)
  

This LODE is solved by dsolve as follows

> 

dsolve(ode);

y⁡x=c__1⁢ⅇb⁢x+c__2⁢ⅇ−b⁢x+c__3⁢erf⁡I2⁢2⁢b−x⁢ⅇ2⁢b⁢x+erf⁡I2⁢2⁢b+x⁢ⅇ−b⁢b+2⁢x2

(6)
  

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

(7)
  

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

(8)
  

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

(9)
  

we have

> 

dsolve(ode);

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

(10)
  

that is, a reduction of order by one, since, in the factorization

> 

DEtools[de2diffop](ode, y(x), [Dx,x]);

Dx3+x3−x⁢Dx2+−x4−3⁢Dx−x3+x

(11)
> 

DEtools[DFactor]((11), [Dx,x]);

Dx2+x3⁢Dx−1,Dx−x

(12)
  

dsolve only succeeded in solving the right factor (the left factor has no Liouvillian solutions).

See Also

DEtools

diffop

dsolve,education

PDEtools