 DEtools - Maple Programming Help

DEtools

 classify ODE and suggest solution methods

Parameters

 ODE - ordinary differential equation y(x) - indeterminate function (necessary when not obvious) type1, type2, ... - (optional) subset of ODE classification types to be checked help - (optional) request the display of a help page based on textbook advice for solving the given ODE (see dsolve, references).

Description

 • Given an ODE, the odeadvisor command's main goal is to classify it according to standard text books (see dsolve,references), and to display a help page including related information for solving it (when the word help is given as an extra argument). The help pages include examples and Maple input lines, along with some advice, allowing you to adapt them to your problem. These help pages are also available by entering ?odeadvisor,; where  is one of:
 • First order ODEs

 Abel,

 In the page for "patterns" there is a discussion of the following ODE patterns:

 $y=g\left(y\text{'}\right)$, $x=g\left(y\text{'}\right)$, $0=G\left(x,y\text{'}\right)$, $0=G\left(y,y\text{'}\right)$, $y=G\left(x,y\text{'}\right)$, $x=G\left(y,y\text{'}\right)$

 There is also a related parametric solving scheme.
 • Second order ODEs

 erf, Halm,

 • High order ODEs

 • When used without extra arguments, the odeadvisor command attempts to classify the given ODE into one or more of the types above, returning a list with the types matched by the ODE. The matching of the types is checked sequentially, and odeadvisor might return more than one type; otherwise, the first matching of a pattern interrupts the process and a classification is returned.
 • As an option, you can specify that odeadvisor should check only a sublist of the types mentioned above, by giving the sublist as an extra argument.
 • This function is part of the DEtools package, and so it can be used in the form odeadvisor(..) only after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[odeadvisor](..).

Examples

Kamke's ODE 97

 > $\mathrm{with}\left(\mathrm{DEtools}\right):$
 > $\mathrm{ODE}≔x\mathrm{diff}\left(y\left(x\right),x\right)+a{y\left(x\right)}^{2}-y\left(x\right)+b{x}^{2}$
 ${\mathrm{ODE}}{≔}{x}{}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}{a}{}{{y}{}\left({x}\right)}^{{2}}{-}{y}{}\left({x}\right){+}{b}{}{{x}}^{{2}}$ (1)
 > $\mathrm{odeadvisor}\left(\mathrm{ODE}\right)$
 $\left[\left[{\mathrm{_homogeneous}}{,}{\mathrm{class D}}\right]{,}{\mathrm{_rational}}{,}{\mathrm{_Riccati}}\right]$ (2)

Kamke's ODE 223

 > $\mathrm{ODE}≔\left(2y\left(x\right)-x\right)\mathrm{diff}\left(y\left(x\right),x\right)-y\left(x\right)-2x$
 ${\mathrm{ODE}}{≔}\left({2}{}{y}{}\left({x}\right){-}{x}\right){}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){-}{y}{}\left({x}\right){-}{2}{}{x}$ (3)
 > $\mathrm{odeadvisor}\left(\mathrm{ODE}\right)$
 $\left[\left[{\mathrm{_homogeneous}}{,}{\mathrm{class A}}\right]{,}{\mathrm{_exact}}{,}{\mathrm{_rational}}{,}\left[{\mathrm{_Abel}}{,}{\mathrm{2nd type}}{,}{\mathrm{class A}}\right]\right]$ (4)
 > $\mathrm{odeadvisor}\left(\mathrm{ODE},\left[\mathrm{homogeneous},\mathrm{Abel}\right]\right)$
 $\left[\left[{\mathrm{_homogeneous}}{,}{\mathrm{class A}}\right]{,}\left[{\mathrm{_Abel}}{,}{\mathrm{2nd type}}{,}{\mathrm{class A}}\right]\right]$ (5)

Some second order ODEs

 > $\mathrm{ODE}≔{x}^{2}\mathrm{diff}\left(y\left(x\right),x,x\right)+x\mathrm{diff}\left(y\left(x\right),x\right)-\left({x}^{2}+{n}^{2}\right)y\left(x\right)$
 ${\mathrm{ODE}}{≔}{{x}}^{{2}}{}\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}{x}{}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){-}\left({{n}}^{{2}}{+}{{x}}^{{2}}\right){}{y}{}\left({x}\right)$ (6)
 > $\mathrm{odeadvisor}\left(\mathrm{ODE}\right)$
 $\left[\left[{\mathrm{_Bessel}}{,}{\mathrm{_modified}}\right]\right]$ (7)
 > $\mathrm{ODE}≔\mathrm{diff}\left(x\left(1-{x}^{2}\right)\mathrm{diff}\left(y\left(x\right),x\right),x\right)-xy\left(x\right)=0$
 ${\mathrm{ODE}}{≔}\left({-}{{x}}^{{2}}{+}{1}\right){}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){-}{2}{}{{x}}^{{2}}{}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}{x}{}\left({-}{{x}}^{{2}}{+}{1}\right){}\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){-}{x}{}{y}{}\left({x}\right){=}{0}$ (8)
 > $\mathrm{odeadvisor}\left(\mathrm{ODE}\right)$
 $\left[\left[{\mathrm{_elliptic}}{,}{\mathrm{_class_I}}\right]\right]$ (9)
 > $\mathrm{ODE}≔\mathrm{diff}\left(y\left(x\right),x,x\right)x\left(1-x\right)=\left(g-\left(a+1\right)x\right)\mathrm{diff}\left(y\left(x\right),x\right)+n\left(a+n\right)y\left(x\right)$
 ${\mathrm{ODE}}{≔}\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){}{x}{}\left({1}{-}{x}\right){=}\left({g}{-}\left({a}{+}{1}\right){}{x}\right){}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}{n}{}\left({a}{+}{n}\right){}{y}{}\left({x}\right)$ (10)
 > $\mathrm{odeadvisor}\left(\mathrm{ODE}\right)$
 $\left[{\mathrm{_Jacobi}}\right]$ (11)

The odeadvisor command also recognizes some patterns in high order ODEs

 > $\mathrm{ODE}≔\mathrm{diff}\left(y\left(x\right),x,x,x\right)+\mathrm{D}\left(g\right)\left(y\left(x\right)\right){\mathrm{diff}\left(y\left(x\right),x\right)}^{3}+2g\left(y\left(x\right)\right)\mathrm{diff}\left(y\left(x\right),x\right)\mathrm{diff}\left(y\left(x\right),x,x\right)+\mathrm{diff}\left(f\left(x\right),x\right)\mathrm{diff}\left(y\left(x\right),x\right)+f\left(x\right)\mathrm{diff}\left(y\left(x\right),x,x\right)=0$
 ${\mathrm{ODE}}{≔}\frac{{{ⅆ}}^{{3}}}{{ⅆ}{{x}}^{{3}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right){+}{\mathrm{D}}{}\left({g}\right){}\left({y}{}\left({x}\right)\right){}{\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right)}^{{3}}{+}{2}{}{g}{}\left({y}{}\left({x}\right)\right){}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){}\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{f}{}\left({x}\right)\right){}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}{f}{}\left({x}\right){}\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){=}{0}$ (12)
 > $\mathrm{odeadvisor}\left(\mathrm{ODE},y\left(x\right)\right)$
 $\left[\left[{\mathrm{_3rd_order}}{,}{\mathrm{_exact}}{,}{\mathrm{_nonlinear}}\right]{,}\left[{\mathrm{_3rd_order}}{,}{\mathrm{_reducible}}{,}{\mathrm{_mu_y2}}\right]\right]$ (13)
 > $\mathrm{ODE}≔\mathrm{diff}\left(y\left(x\right),\mathrm{}\left(x,4\right)\right)+{\mathrm{diff}\left(y\left(x\right),x\right)}^{4}\mathrm{exp}\left(y\left(x\right)\right)+5\mathrm{exp}\left(y\left(x\right)\right){\mathrm{diff}\left(y\left(x\right),x\right)}^{2}\mathrm{diff}\left(y\left(x\right),x,x\right)+2\mathrm{exp}\left(y\left(x\right)\right){\mathrm{diff}\left(y\left(x\right),x,x\right)}^{2}+2\mathrm{exp}\left(y\left(x\right)\right)\mathrm{diff}\left(y\left(x\right),x\right)\mathrm{diff}\left(y\left(x\right),\mathrm{}\left(x,3\right)\right)+\mathrm{diff}\left(f\left(x\right),x,x\right)\mathrm{diff}\left(y\left(x\right),x\right)+2\mathrm{diff}\left(f\left(x\right),x\right)\mathrm{diff}\left(y\left(x\right),x,x\right)+f\left(x\right)\mathrm{diff}\left(y\left(x\right),\mathrm{}\left(x,3\right)\right)=0$
 ${\mathrm{ODE}}{≔}\frac{{{ⅆ}}^{{4}}}{{ⅆ}{{x}}^{{4}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right){+}{\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right)}^{{4}}{}{{ⅇ}}^{{y}{}\left({x}\right)}{+}{5}{}{{ⅇ}}^{{y}{}\left({x}\right)}{}{\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right)}^{{2}}{}\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}{2}{}{{ⅇ}}^{{y}{}\left({x}\right)}{}{\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right)}^{{2}}{+}{2}{}{{ⅇ}}^{{y}{}\left({x}\right)}{}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){}\left(\frac{{{ⅆ}}^{{3}}}{{ⅆ}{{x}}^{{3}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{f}{}\left({x}\right)\right){}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}{2}{}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{f}{}\left({x}\right)\right){}\left(\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){+}{f}{}\left({x}\right){}\left(\frac{{{ⅆ}}^{{3}}}{{ⅆ}{{x}}^{{3}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){=}{0}$ (14)
 > $\mathrm{odeadvisor}\left(\mathrm{ODE},y\left(x\right)\right)$
 $\left[\left[{\mathrm{_high_order}}{,}{\mathrm{_exact}}{,}{\mathrm{_nonlinear}}\right]\right]$ (15)

References

 Cheb-Terrab, E.S.; Duarte, L.G.S.; and da Mota, L.A.C.P. "Computer Algebra Solving of First Order ODEs Using Symmetry Methods." Computer Physics Communications. Vol. 101. (1997): 254.
 Kamke, E. Differentialgleichungen: Losungsmethoden und Losungen. New York: Chelsea Publishing Company, 1959.
 Zwillinger, D. Handbook of Differential Equations. 2d ed. Orlando, Florida: Academic Press, 1992.