Closed-form Solutions of Linear Differential Equations
The Maple dsolve command allows determination of closed-form solutions for linear differential equations.
Second-order Equations
The dsolve command converts a homogeneous second-order linear differential equation of the form
ode:=a⁡x⁢ⅆ2ⅆx2⁢y⁡x+b⁡x⁢ⅆⅆx⁢y⁡x+c⁡x⁢y⁡x=0 into one of the form
new_ode:=ⅆ2ⅆx2⁢y⁡x+I⁡x⁢y⁡x=0, and then uses solutions of the new equation to build solutions to the first. The method computes a solution to the second by looking at the partial fraction expansion of I(x).
For example, we have (from the classical text by Kamke):
restart
ode1:=ⅆ2ⅆx2⁢y⁡x+2⁢x2⁢ⅆⅆx⁢y⁡x+2⁢x⁢y⁡x
ans1:=dsolve⁡ode1,y⁡x
ans1:=y⁡x=_C1⁢ⅇ−13⁢x3⁢x⁢BesselI⁡16,13⁢x3+_C2⁢ⅇ−13⁢x3⁢x⁢BesselK⁡16,13⁢x3
ode2:=4⁢x4−1⁢ⅆⅆx⁢ⅆⅆx⁢y⁡x+12⁢x4+1⁢ⅆⅆx⁢y⁡xx+16⁢x2⁢−u24⁢x4−1−v⁢v+1⁢y⁡x
ode2:=4⁢x4−1⁢ⅆ2ⅆx2⁢y⁡x+12⁢x4+1⁢ⅆⅆx⁢y⁡xx+16⁢x2⁢−u24⁢x4−1−v⁢v+1⁢y⁡x
ans2:=dsolve⁡ode2,y⁡x
ans2:=y⁡x=_C1⁢LegendreP⁡v,u,2⁢x2+_C2⁢LegendreQ⁡v,u,2⁢x2
ode3:=ⅆ2ⅆx2⁢y⁡x−x⁢ⅆⅆx⁢y⁡x+n⁢y⁡x
ans3:=dsolve⁡ode3,y⁡x
ans3:=y⁡x=_C1⁢KummerM⁡12−12⁢n,32,12⁢x2⁢x+_C2⁢KummerU⁡12−12⁢n,32,12⁢x2⁢x
ode4:=x−9⁢x5⁢ⅆ2ⅆx2⁢y⁡x+1−9⁢x4⁢ⅆⅆx⁢y⁡x+36⁢x3⁢y⁡x
ans4:=dsolve⁡ode4,y⁡x
ans4:=y⁡x=_C1⁢EllipticE⁡3⁢x2+_C2⁢EllipticCE⁡3⁢x2−EllipticCK⁡3⁢x2
In all of these examples, one can verify the solutions by using the odetest command:
odetest⁡ans1,ode1
0
odetest⁡ans2,ode2
odetest⁡ans3,ode3
odetest⁡ans4,ode4
Higher-order Equations
One can also solve higher-order equations. For example, in the equation
ode:=−300⁢y⁡x+192⁢x⁢ⅆⅆx⁢y⁡x+−47⁢x2+4⁢x3⁢μ−x4−4⁢x2⁢ν2⁢ⅆ2ⅆx2⁢y⁡x+12⁢y⁡x⁢x2−48⁢y⁡x⁢μ⁢x+48⁢y⁡x⁢ν2+4⁢x4⁢ⅆ4ⅆx4⁢y⁡x
two solutions are determined by the rational function solver DEtools[ratsols]. Reduction of order then produces a final answer in terms of integrals:
dsolve⁡ode,y⁡x
y⁡x=_C1x3+_C2⁢x4+_C3⁢−∫x4⁢WhittakerM⁡μ,ν,xⅆx+∫WhittakerM⁡μ,ν,xx3ⅆx⁢x7x3+_C4⁢∫x4⁢WhittakerW⁡μ,ν,xⅆx−∫WhittakerW⁡μ,ν,xx3ⅆx⁢x7x3
odetest⁡,ode
Maple does a quick test to determine if a particular ODE is the symmetric product of a second-order equation. If so, then a solution can be determined from the solutions of the second-order equation. For example, the equation
ode:=ⅆ3ⅆx3⁢y⁡x−4⁢x⁢ⅆⅆx⁢y⁡x−2⁢y⁡x
found in Kamke or Abramowitz and Stegun is the symmetric power of Airy's equation. As such, dsolve produces:
y⁡x=_C1⁢AiryBi⁡x2+_C2⁢AiryAi⁡x2+_C3⁢AiryAi⁡x⁢AiryBi⁡x
Similarly,
ode2:=ⅆ3ⅆx3⁢y⁡x−6⁢x⁢ⅆ2ⅆx2⁢y⁡x+2⁢4⁢x2+2⁢a−1⁢ⅆⅆx⁢y⁡x−8⁢a⁢x⁢y⁡x
ans2:=y⁡x=_C1⁢KummerU⁡12−14⁢a,32,x22⁢x2+_C2⁢KummerM⁡12−14⁢a,32,x22⁢x2+_C3⁢KummerM⁡12−14⁢a,32,x2⁢x2⁢KummerU⁡12−14⁢a,32,x2
Combined with previous methods, we find that the equation
ode:=2⁢y⁡x+−2+4⁢x⁢ⅆⅆx⁢y⁡x−4⁢x⁢ⅆ2ⅆx2⁢y⁡x−ⅆ3ⅆx3⁢y⁡x+ⅆ4ⅆx4⁢y⁡x
has a single answer determined from the Maple exponential solver DEtools[expsols], and then reduction of order reduces to a symmetric equation. This gives
y⁡x=_C1⁢ⅇx+_C2⁢∫AiryAi⁡x2⁢ⅇ−xⅆx⁢ⅇx+_C3⁢∫AiryBi⁡x2⁢ⅇ−xⅆx⁢ⅇx+_C4⁢∫AiryAi⁡x⁢AiryBi⁡x⁢ⅇ−xⅆx⁢ⅇx
Additional Improvements
Improvements to solving linear ODEs also naturally lead to improvements in solving other differential equations. For example, first-order Riccati equations are typically converted to second-order linear equations to build their solutions. Similarly, linear systems of first-order equations are solved by building one or more higher-order scalar equations and by constructing the matrix solutions. A simple example is found by
ode:=ⅆⅆx⁢y⁡x=x+y⁡x+a⁢y⁡x2
y⁡x=12⁢−_C1⁢AiryAi⁡−14⁢−1+4⁢a⁢xa2/3+2⁢_C1⁢AiryAi⁡1,−14⁢−1+4⁢a⁢xa2/3⁢a1/3−AiryBi⁡−14⁢−1+4⁢a⁢xa2/3+2⁢AiryBi⁡1,−14⁢−1+4⁢a⁢xa2/3⁢a1/3a⁢_C1⁢AiryAi⁡−14⁢−1+4⁢a⁢xa2/3+AiryBi⁡−14⁢−1+4⁢a⁢xa2/3
In the above answer, the functions AiryAi(1, .. ) and AiryBi(1,...) represent the derivatives of the AiryAi and AiryBi functions, respectively.
Return to Index for Example Worksheets
Download Help Document