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
What kind of issue would you like to report? (Optional)