Differential Equations - Maple Help

Home : Support : Online Help : System : Information : Updates : Maple 8 : Differential Equations

Updates to Differential Equation Solvers in Maple 8

 Differential equations solving capabilities have been greatly enhanced in Maple 8 regarding exact and numeric DE solutions.
 • New implementation of integrated factor methods added to dsolve
 • Symmetry algorithms refined
 • New routines for solving two parameterized Abel ODE classes added, further enhancing dsolve
 • Improvements made in computation of hypergeometric solutions
 • Algorithms for higher order ODEs enhanced
 • Maple can numerically solve time-based linear PDEs over rectangular domains.
 • Maple numerical ODE solution capabilities include numerous additions and improvements
 Also in Maple 8, the DEtools and PDEtools packages contain enhancements and new tool commands.

Exact Solutions: Ordinary Differential Equations

 Nonlinear ODEs
 • The Maple dsolve command now includes a new implementation of integrating factor methods for systematically determining (when they exist) integrating factors of varied types for Ordinary Differential Equations. The integrating factor method is comparable with the symmetry method: both consist of transforming the nonlinear ODE problem into a overdetermined linear PDE system, the former searching for integrating factors - the cornerstone for reductions of order - and the latter searching for symmetry generators, with which reductions of order through changes of variables can be performed. The integrating factor approach implemented in Maple 8 can also perform multiple reductions of order in one step when more than one integrating factor is found. For nonlinear ODE problems, this combination of symmetry and integrating factor methods makes Maple's ODE solver unique among its peers.
 Examples:
 The integrating factor approach leads to special function solutions for various nonlinear ODE families.
 > PDEtools[declare](y(x), prime=x);
 ${y}{}\left({x}\right){}{\mathrm{will now be displayed as}}{}{y}$
 ${\mathrm{derivatives with respect to}}{}{x}{}{\mathrm{of functions of one variable will now be displayed with \text{'}}}$ (1)
 > ode := diff(y(x), x\$3) = (1/y(x)*diff(y(x),x)-2/x)*diff(y(x),x,x)+1/y(x)/x*diff(y(x),x)^2+1/x^3*y(x);
 ${\mathrm{ode}}{≔}{\mathrm{y\text{'}\text{'}\text{'}}}{=}\left(\frac{{\mathrm{y\text{'}}}}{{y}}{-}\frac{{2}}{{x}}\right){}{\mathrm{y\text{'}\text{'}}}{+}\frac{{{\mathrm{y\text{'}}}}^{{2}}}{{y}{}{x}}{+}\frac{{y}}{{{x}}^{{3}}}$ (2)
 > sol := dsolve(ode);
 ${\mathrm{sol}}{≔}{y}{=}{\mathrm{_C2}}{}{\mathrm{BesselJ}}{}\left({2}{}{I}{,}{2}{}{\mathrm{_C1}}{}\sqrt{{x}}\right){+}{\mathrm{_C3}}{}{\mathrm{BesselY}}{}\left({2}{}{I}{,}{2}{}{\mathrm{_C1}}{}\sqrt{{x}}\right)$ (3)
 > odetest( sol, ode );
 ${0}$ (4)
 An example where the linearization process implicit in this approach is more transparent:
 > ode := diff(y(x),x,x,x) = 13/8/x^3*y(x) - 1/8*(-20*diff(y(x),x,x)*x^2 + 26*diff(y(x),x)*x)/x^3 - 1/8*(24*diff(y(x),x)*x^3*diff(y(x),x,x) - 20*diff(y(x),x)^2*x^2)/x^3/y(x);
 ${\mathrm{ode}}{≔}{\mathrm{y\text{'}\text{'}\text{'}}}{=}\frac{{13}{}{y}}{{8}{}{{x}}^{{3}}}{-}\frac{{-}{20}{}{{x}}^{{2}}{}{\mathrm{y\text{'}\text{'}}}{+}{26}{}{\mathrm{y\text{'}}}{}{x}}{{8}{}{{x}}^{{3}}}{-}\frac{{24}{}{\mathrm{y\text{'}}}{}{\mathrm{y\text{'}\text{'}}}{}{{x}}^{{3}}{-}{20}{}{{\mathrm{y\text{'}}}}^{{2}}{}{{x}}^{{2}}}{{8}{}{{x}}^{{3}}{}{y}}$ (5)
 This nonlinear ODE example has three integrating factors, which are determined solving a related linear ODE. The integrating factors are then used simultaneously by the new Maple 8 ODE routines to reduce the ODE order by three in one step. To follow the solving process, you can turn ON the userinfo facility for dsolve.
 > infolevel[dsolve] := 4;
 ${{\mathrm{infolevel}}}_{{\mathrm{dsolve}}}{≔}{4}$ (6)
 > sol := dsolve(ode);
 Methods for third order ODEs: --- Trying classification methods --- trying 3rd order ODE linearizable_by_differentiation differential order: 3; trying a linearization to 4th order trying differential order: 3; missing variables trying differential order: 3; exact nonlinear trying 3rd order, integrating factor of the form mu(y'') for some mu Trying the formal computation of integrating factors depending on any 2 of [x, y, y', y'']          *** Sublevel 2 ***          Methods for first order ODEs:          --- Trying classification methods ---          trying a quadrature          trying 1st order linear          <- 1st order linear successful -> Calling odsolve with the ODE, 4*diff(diff(diff(y(x),x),x),x)*x^3+10*diff(diff(y(x),x),x)*x^2-7*diff(y(x),x)*x+7*y(x), y(x)    *** Sublevel 2 ***    Methods for third order ODEs:    --- Trying classification methods ---    trying a quadrature    checking if the LODE has constant coefficients    checking if the LODE is of Euler type    <- LODE of Euler type successful Successful computation of 3 integrating factors: [y(x)*x, x^(-1/4+1/4*29^(1/2))*y(x), x^(-1/4-1/4*29^(1/2))*y(x)] Attempting computing related first integrals... <- high order, formal computation of integrating factors successful
 ${\mathrm{sol}}{≔}{y}{=}{-}\frac{{2}{}\sqrt{{-}{145}{}{{x}}^{\frac{{9}}{{4}}{-}\frac{\sqrt{{29}}}{{4}}}{}{\mathrm{_C2}}{}\sqrt{{29}}{+}{145}{}\sqrt{{29}}{}{{x}}^{\frac{{9}}{{4}}{+}\frac{\sqrt{{29}}}{{4}}}{}{\mathrm{_C3}}{-}{841}{}{{x}}^{\frac{{9}}{{4}}{-}\frac{\sqrt{{29}}}{{4}}}{}{\mathrm{_C2}}{-}{841}{}{{x}}^{\frac{{9}}{{4}}{+}\frac{\sqrt{{29}}}{{4}}}{}{\mathrm{_C3}}{+}{1682}{}{\mathrm{_C1}}{}{x}}}{{29}}{,}{y}{=}\frac{{2}{}\sqrt{{-}{145}{}{{x}}^{\frac{{9}}{{4}}{-}\frac{\sqrt{{29}}}{{4}}}{}{\mathrm{_C2}}{}\sqrt{{29}}{+}{145}{}\sqrt{{29}}{}{{x}}^{\frac{{9}}{{4}}{+}\frac{\sqrt{{29}}}{{4}}}{}{\mathrm{_C3}}{-}{841}{}{{x}}^{\frac{{9}}{{4}}{-}\frac{\sqrt{{29}}}{{4}}}{}{\mathrm{_C2}}{-}{841}{}{{x}}^{\frac{{9}}{{4}}{+}\frac{\sqrt{{29}}}{{4}}}{}{\mathrm{_C3}}{+}{1682}{}{\mathrm{_C1}}{}{x}}}{{29}}$ (7)
 • For second order nonlinear ODEs, the symmetry algorithms introduced in Maple 7 have been refined, now leading to simpler solutions in varied cases.
 Example:
 The following ODE is from Kamke's book. Two nontrivial symmetries for it are found by dsolve routines leading to a solution in terms of Jacobi elliptic functions (note the use of the new dsolve option useint).
 > PDEtools[declare](f(x));
 ${f}{}\left({x}\right){}{\mathrm{will now be displayed as}}{}{f}$ (8)
 > ode := 2*diff(y(x),x,x)*y(x) - diff(y(x),x)^2 - 6*diff(f(x),x,x)/diff(f(x),x)*y(x)*diff(y(x),x) + 2*(-2*diff(f(x),x,x,x)/diff(f(x),x)+6*diff(f(x),x,x)^2/diff(f(x),x)^2)*y(x)^2-8*y(x)^3 = 0;
 ${\mathrm{ode}}{≔}{2}{}{\mathrm{y\text{'}\text{'}}}{}{y}{-}{{\mathrm{y\text{'}}}}^{{2}}{-}\frac{{6}{}{\mathrm{f\text{'}\text{'}}}{}{y}{}{\mathrm{y\text{'}}}}{{\mathrm{f\text{'}}}}{+}{2}{}\left({-}\frac{{2}{}{\mathrm{f\text{'}\text{'}\text{'}}}}{{\mathrm{f\text{'}}}}{+}\frac{{6}{}{{\mathrm{f\text{'}\text{'}}}}^{{2}}}{{{\mathrm{f\text{'}}}}^{{2}}}\right){}{{y}}^{{2}}{-}{8}{}{{y}}^{{3}}{=}{0}$ (9)
 > sol := dsolve(ode, y(x), useint);
 Methods for second order ODEs:--- Trying classification methods --- trying 2nd order Liouville trying 2nd order WeierstrassP trying 2nd order JacobiSN differential order: 2; trying a linearization to 3rd order trying 2nd order ODE linearizable_by_differentiation trying 2nd order, 2 integrating factors of the form mu(x,y) trying differential order: 2; missing variables -> trying 2nd order, dynamical_symmetries, fully reducible to Abel through one integrating factor of the form G(x,y)/(1+H(x,y)*y')^2    --- trying a change of variables {x -> y(x), y(x) -> x} and re-entering methods for dynamical symmetries ---    -> trying 2nd order, dynamical_symmetries, fully reducible to Abel through one integrating factor of the form G(x,y)/(1+H(x,y)*y')^2 trying 2nd order, integrating factors of the form mu(x,y)/(y')^n, only the singular cases trying symmetries linear in x and y(x) trying differential order: 2; exact nonlinear trying 2nd order, integrating factor of the form mu(y') trying 2nd order, integrating factor of the form mu(x,y') trying 2nd order, integrating factor of the form mu(x,y)/(y')^n, only the general case trying 2nd order, integrating factor of the form mu(y,y') trying differential order: 2; mu polynomial in y' trying 2nd order, integrating factor of the form mu(x,y) differential order: 2; looking for linear symmetries -> trying 2nd order, the S-function method    -> trying a change of variables {x -> y(x), y(x) -> x} and re-entering methods for the S-function    -> trying 2nd order, the S-function method    -> trying 2nd order, No Point Symmetries Class V       --- trying a change of variables {x -> y(x), y(x) -> x} and re-entering methods for dynamical symmetries ---       -> trying 2nd order, No Point Symmetries Class V    -> trying 2nd order, No Point Symmetries Class V       --- trying a change of variables {x -> y(x), y(x) -> x} and re-entering methods for dynamical symmetries ---       -> trying 2nd order, No Point Symmetries Class V    -> trying 2nd order, No Point Symmetries Class V       --- trying a change of variables {x -> y(x), y(x) -> x} and re-entering methods for dynamical symmetries ---       -> trying 2nd order, No Point Symmetries Class V trying 2nd order, integrating factor of the form mu(x,y)/(y')^n, only the general case -> trying 2nd order, dynamical_symmetries, only a reduction of order through one integrating factor of the form G(x,y)/(1+H(x,y)*y')^2    --- trying a change of variables {x -> y(x), y(x) -> x} and re-entering methods for dynamical symmetries ---    -> trying 2nd order, dynamical_symmetries, only a reduction of order through one integrating factor of the form G(x,y)/(1+H(x,y)*y')^2 --- Trying Lie symmetry methods, 2nd order ---    -> Computing symmetries using: way = 3    -> Computing symmetries using: way = 5
 <- successful computation of symmetries.2nd order, symmetry integrators to be used are: [can, can2, gon] 2nd order, trying integration using method can -> Computing canonical coordinates for the symmetry [1/diff(f(x),x), 2/diff(f(x),x)^2*diff(diff(f(x),x),x)*y]    -> Calling odsolve with the ODE, diff(y(x),x) = 2*diff(diff(f(x),x),x)/diff(f(x),x)*y(x), y(x)       *** Sublevel 2 ***       Methods for first order ODEs:       --- Trying classification methods ---       trying a quadrature       trying 1st order linear       <- 1st order linear successful -> Rewriting ODE in canonical coordinates by means of differential invariants Try computing 1 more symmetries for ODE written in canonical coordinates    -> Computing symmetries using: way = 3    Found another symmetry:
 Computing a convenient ordering to use the 2 symmetries availableTry integration with the canonical coordinates of the symmetry [1/diff(f(x),x), 2/diff(f(x),x)^2*diff(diff(f(x),x),x)*y] -> Calling odsolve with the ODE, diff(_b(_a),_a) = -1/2*_b(_a)*(8*_b(_a)^2*_a^3+1)/_a, _b(_a), explicit, HINT = [[_a, -3/2*_b]]    *** Sublevel 2 ***    symmetry methods on request    1st order, trying reduction of order with given symmetries:
 1st order, trying the canonical coordinates of the invariance group-> Computing canonical coordinates for the symmetry [_a, -3/2*_b]       -> Calling odsolve with the ODE, diff(y(x),x) = -3/2*y(x)/x, y(x)          *** Sublevel 3 ***          Methods for first order ODEs:          --- Trying classification methods ---          trying a quadrature          trying 1st order linear          <- 1st order linear successful    -> The canonical coordinates may not have unique inverse.       Trying gauging the symmetry to the form [0, eta(x,y)]    -> Computing canonical coordinates for the symmetry [0, 4*_a^3*_b^3-_b]    <- 1st order, canonical coordinates successful <- differential order: 2; canonical coordinates successful
 $\left[\frac{{1}}{{\mathrm{f\text{'}}}}{,}\frac{{2}{}{\mathrm{f\text{'}\text{'}}}{}{y}}{{{\mathrm{f\text{'}}}}^{{2}}}\right]$
 $\left[\frac{{f}}{{\mathrm{f\text{'}}}}{,}\frac{{2}{}{y}{}{\mathrm{f\text{'}\text{'}}}{}{f}}{{{\mathrm{f\text{'}}}}^{{2}}}{-}{2}{}{y}\right]$
 $\left[{\mathrm{_a}}{,}{-}\frac{{3}{}{\mathrm{_b}}}{{2}}\right]$
 ${\mathrm{sol}}{≔}{y}{=}\frac{{{\mathrm{f\text{'}}}}^{{2}}{}\left({{\mathrm{JacobiSN}}{}\left({\mathrm{_C1}}{}\left({-}{\mathrm{_C2}}{+}{f}\right){,}\frac{\sqrt{{2}}}{{2}}\right)}^{{2}}{-}{1}\right){}{{\mathrm{_C1}}}^{{2}}}{{2}}$ (10)
 > map(odetest, {sol}, ode);
 $\left\{{0}\right\}$ (11)
 • New routines for solving two parameterized Abel ODE classes were added. This further enhances the top-level performance of Maple 7 dsolve in tackling ODEs of this type, that is, of the form $y'=f\left(x\right){y}^{3}+g\left(x\right){y}^{2}+h\left(x\right)y+j\left(x\right)$. The two integrable classes are based on recent work.
 Examples:
 New Abel solvable class with solutions expressed using hypergeometric 0F1 (Bessel) functions:
 > infolevel[dsolve] := 0:
 > ode := diff(y(x),x) = 1/2*(x^2-x-1)/(x+1)^2/x^2*y(x)^3-1/2*(3*x+2)/x^2/(x+1)*y(x)^2;
 ${\mathrm{ode}}{≔}{\mathrm{y\text{'}}}{=}\frac{\left({{x}}^{{2}}{-}{x}{-}{1}\right){}{{y}}^{{3}}}{{2}{}{\left({x}{+}{1}\right)}^{{2}}{}{{x}}^{{2}}}{-}\frac{\left({3}{}{x}{+}{2}\right){}{{y}}^{{2}}}{{2}{}{{x}}^{{2}}{}\left(\right)}$