 Solving Implicit ODEs - Maple Programming Help

Home : Support : Online Help : Mathematics : Differential Equations : Classifying ODEs : First Order : odeadvisor/sym_implicit

Solving Implicit ODEs

Description

 The sym_implicit subroutine of the odeadvisor command tests if a given first order ODE in "implicit form" (that is, dy/dx cannot be isolated) has one or more of the following symmetries:
 > [xi=0, eta=y], [xi=0, eta=x], [xi=0, eta=1/x], [xi=0, eta=1/y], [xi=x, eta=0], [xi=y, eta=0], [xi=1/x, eta=0], [xi=1/y, eta=0], [xi=x, eta=y], [xi=y, eta=x]:
 where the infinitesimal symmetry generator is given by the following:
 > G := f -> xi*diff(f,x) + eta*diff(f,y);
 ${G}{≔}{f}{→}{\mathrm{ξ}}{}\left(\frac{{\partial }}{{\partial }{x}}{}{f}\right){+}{\mathrm{η}}{}\left(\frac{{\partial }}{{\partial }{y}}{}{f}\right)$ (1)
 This routine is relevant when using symmetry methods for solving high-degree ODEs (nonlinear in dy/dx). The cases [xi=0, eta=y], [xi=1/x, eta=y] and [xi=x, eta=y] cover the families of homogeneous ODEs mentioned in Murphy's book, pages 63-64.

Examples

 > $\mathrm{with}\left(\mathrm{DEtools},\mathrm{odeadvisor}\right)$
 $\left[{\mathrm{odeadvisor}}\right]$ (2)

Consider the symmetry

 > $X≔\left[\frac{1}{y},0\right]$
 ${X}{≔}\left[\frac{{1}}{{y}}{,}{0}\right]$ (3)

The most general implicit ODE having this symmetry is given by

 > $\mathrm{implicit_ode}≔F\left(y\left(x\right),\frac{1}{\mathrm{diff}\left(y\left(x\right),x\right)}\left(\mathrm{diff}\left(y\left(x\right),x\right)x+y\left(x\right)\right)\right)=0$
 ${\mathrm{implicit_ode}}{≔}{F}{}\left({y}{}\left({x}\right){,}\frac{\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){}{x}{+}{y}{}\left({x}\right)}{\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)}\right){=}{0}$ (4)
 > $\mathrm{odeadvisor}\left(\mathrm{implicit_ode}\right)$
 $\left[\left[{\mathrm{_1st_order}}{,}{\mathrm{_with_symmetry_\left[F\left(x\right)*G\left(y\right),0\right]}}\right]\right]$ (5)

where F is an arbitrary function of its arguments. Based on this pattern recognition, dsolve solves this ODE as follows

 > $\mathrm{ans}≔\mathrm{dsolve}\left(\mathrm{implicit_ode}\right)$
 ${\mathrm{ans}}{≔}{y}{}\left({x}\right){}{x}{-}\left({{\int }}_{{}}^{{y}{}\left({x}\right)}{\mathrm{RootOf}}{}\left({F}{}\left({\mathrm{_a}}{,}{\mathrm{_Z}}\right)\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{_a}}\right){-}{\mathrm{_C1}}{=}{0}$ (6)

Explicit and implicit answers can be tested, in principle, using odetest

 > $\mathrm{odetest}\left(\mathrm{ans},\mathrm{implicit_ode}\right)$
 ${0}$ (7)