 ODESolStruc - Maple Help

ODESolStruc

Reductions of order returned by dsolve Calling Sequence ODESolStruc(ans, [{reduced_ODE}, {TR}, {ITR}]) Parameters

 ans - answer expressed in terms of (r, s(r)), for an ODE originally in y(x). {reduced_ODE} - set containing the reduced_ODEs for s(r). {TR} - set containing the transformation equations from (r,s(r)) to (x,y(x)), where (r, s(r)) and (x, y(x)) represent any two pairs of independent/dependent variables. {ITR} - set containing the transformation equations from (x,y(x)) to (r,s(r)). Description

 • For high order ODEs it may happen that dsolve succeeds in reducing the order of the ODE but not in solving the problem to the end. In those cases, the answer is expressed using ODESolStruc. The motivation for this routine is that the user may be able to obtain a solution for the reduced ODE, by manipulating it using the tools available in DEtools, or as a series expansion, or by other means. If a solution to the reduced ODE is obtained, a solution to the original problem can be built using DEtools[buildsol].
 • ODESolStruc is a function of two arguments. The first argument is the true mathematical value of the structure, written in terms of new variables (herein called r and s(r)) introduced by dsolve during the solving process. The second argument is a list with three sets, respectively containing: the reduced ODE for s(r); the transformation of variables (TR) used in the reduction process, from {r, s(r)} to {x, y(x)} (herein representing the variables of the original problem); and the inverse transformation (ITR).
 • The transformation sets TR and ITR are defined as follows: changing variables in the reduced ODE using TR must yield the original ODE; changing variables in the original ODE using ITR must yield the reduced ODE (see the example below). To perform the change of variables see PDEtools[dchange].
 • The differentiation rule of ODESolStruc is defined as follows. When calculating the derivative, only the first argument (true mathematical value of the structure) is differentiated, and it is considered a function of x, the old independent variable. The derivative is then calculated using the chain rule, taking into account the transformation equations TR. Note that the new variables {r, s(r)} are considered "dummies" (like the integration variable in a definite integral), and then the derivative of the ODESolStruc with respect to the new independent variable r is 0. Examples

A second order nonlinear ODE

 > $\mathrm{ode}\left[1\right]≔\mathrm{diff}\left(\mathrm{diff}\left(y\left(x\right),x\right),x\right)=-\frac{{\mathrm{diff}\left(y\left(x\right),x\right)}^{2}{y\left(x\right)}^{2}+x}{{y\left(x\right)}^{3}}$
 ${{\mathrm{ode}}}_{{1}}{≔}\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right){=}{-}\frac{{\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right)}^{{2}}{}{{y}{}\left({x}\right)}^{{2}}{+}{x}}{{{y}{}\left({x}\right)}^{{3}}}$ (1)

This ODE is reduced by dsolve to a first order ODE of Abel type

 > $\mathrm{ans}\left[1\right]≔\mathrm{dsolve}\left(\mathrm{ode}\left[1\right]\right)$
 ${{\mathrm{ans}}}_{{1}}{≔}{y}{}\left({x}\right){=}\left({\mathrm{_a}}{}{\left({{ⅇ}}^{\frac{{4}{}\left({\int }{\mathrm{_b}}{}\left({\mathrm{_a}}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{_a}}\right)}{{3}}{+}\frac{{4}{}{\mathrm{_C1}}}{{3}}}\right)}^{{3}}{{4}}}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{&where}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\left[\left\{\frac{{ⅆ}}{{ⅆ}{\mathrm{_a}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{_b}{}\left({\mathrm{_a}}\right){=}\frac{{2}{}\left({3}{}{{\mathrm{_a}}}^{{4}}{+}{8}\right){}{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}^{{3}}}{{9}{}{{\mathrm{_a}}}^{{3}}}{+}\frac{{8}{}{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}^{{2}}}{{3}}{+}\frac{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}{{\mathrm{_a}}}\right\}{,}\left\{{\mathrm{_a}}{=}\frac{{y}{}\left({x}\right)}{{{x}}^{{3}}{{4}}}}{,}{\mathrm{_b}}{}\left({\mathrm{_a}}\right){=}\frac{{3}{}{{x}}^{{3}}{{4}}}}{{4}{}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){}{x}{-}{3}{}{y}{}\left({x}\right)}\right\}{,}\left\{{x}{=}{{ⅇ}}^{\frac{{4}{}\left({\int }{\mathrm{_b}}{}\left({\mathrm{_a}}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{_a}}\right)}{{3}}{+}\frac{{4}{}{\mathrm{_C1}}}{{3}}}{,}{y}{}\left({x}\right){=}{\mathrm{_a}}{}{\left({{ⅇ}}^{\frac{{4}{}\left({\int }{\mathrm{_b}}{}\left({\mathrm{_a}}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{_a}}\right)}{{3}}{+}\frac{{4}{}{\mathrm{_C1}}}{{3}}}\right)}^{{3}}{{4}}}\right\}\right]$ (2)

The display of ODESolStruc uses where to display the first operand (the answer) on the left hand side and the list with the reduced ODE and the transformation equations on the right hand side.

Answers containing ODESolStruc can also be tested using odetest

 > $\mathrm{odetest}\left(\mathrm{ans}\left[1\right],\mathrm{ode}\left[1\right]\right)$
 ${0}$ (3)

Each piece of the ODESolStruc above can be selected using the mouse, or through the following command:

 > $\mathrm{reduced_ODE}≔\mathrm{op}\left(\left[2,2,1,1\right],\mathrm{ans}\left[1\right]\right)$
 ${\mathrm{reduced_ODE}}{≔}\frac{{ⅆ}}{{ⅆ}{\mathrm{_a}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{_b}{}\left({\mathrm{_a}}\right){=}\frac{{2}{}\left({3}{}{{\mathrm{_a}}}^{{4}}{+}{8}\right){}{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}^{{3}}}{{9}{}{{\mathrm{_a}}}^{{3}}}{+}\frac{{8}{}{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}^{{2}}}{{3}}{+}\frac{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}{{\mathrm{_a}}}$ (4)
 > $\mathrm{TR}≔\mathrm{op}\left(\left[2,2,2\right],\mathrm{ans}\left[1\right]\right)$
 ${\mathrm{TR}}{≔}\left\{{\mathrm{_a}}{=}\frac{{y}{}\left({x}\right)}{{{x}}^{{3}}{{4}}}}{,}{\mathrm{_b}}{}\left({\mathrm{_a}}\right){=}\frac{{3}{}{{x}}^{{3}}{{4}}}}{{4}{}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){}{x}{-}{3}{}{y}{}\left({x}\right)}\right\}$ (5)
 > $\mathrm{ITR}≔\mathrm{op}\left(\left[2,2,3\right],\mathrm{ans}\left[1\right]\right)$
 ${\mathrm{ITR}}{≔}\left\{{x}{=}{{ⅇ}}^{\frac{{4}{}\left({\int }{\mathrm{_b}}{}\left({\mathrm{_a}}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{_a}}\right)}{{3}}{+}\frac{{4}{}{\mathrm{_C1}}}{{3}}}{,}{y}{}\left({x}\right){=}{\mathrm{_a}}{}{\left({{ⅇ}}^{\frac{{4}{}\left({\int }{\mathrm{_b}}{}\left({\mathrm{_a}}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{_a}}\right)}{{3}}{+}\frac{{4}{}{\mathrm{_C1}}}{{3}}}\right)}^{{3}}{{4}}}\right\}$ (6)
 > $\mathrm{new_vars}≔\mathrm{map}\left(\mathrm{lhs},\mathrm{TR}\right)$
 ${\mathrm{new_vars}}{≔}\left\{{\mathrm{_a}}{,}{\mathrm{_b}}{}\left({\mathrm{_a}}\right)\right\}$ (7)
 > $\mathrm{old_vars}≔\mathrm{map}\left(\mathrm{lhs},\mathrm{ITR}\right)$
 ${\mathrm{old_vars}}{≔}\left\{{x}{,}{y}{}\left({x}\right)\right\}$ (8)

The original ODE (ode above) can be reobtained by changing variables in the reduced_ODE, using TR as follows:

 > $\mathrm{ODE}≔\mathrm{PDEtools}\left[\mathrm{dchange}\right]\left(\mathrm{TR},\mathrm{reduced_ODE}\right):$
 > $\mathrm{original_ODE}≔\mathrm{normal}\left(\mathrm{isolate}\left(\mathrm{ODE},\mathrm{diff}\left(y\left(x\right),x,x\right)\right)\right)$
 ${\mathrm{original_ODE}}{≔}\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right){=}{-}\frac{{\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right)}^{{2}}{}{{y}{}\left({x}\right)}^{{2}}{+}{x}}{{{y}{}\left({x}\right)}^{{3}}}$ (9)

The reduced_ODE, in turn, can be obtained from the original_ODE by changing variables using the inverse transformation ITR:

 > $\mathrm{RDE}≔\mathrm{PDEtools}\left[\mathrm{dchange}\right]\left(\mathrm{ITR},\mathrm{original_ODE},\left[\mathrm{_a},\mathrm{_b}\left(\mathrm{_a}\right)\right]\right):$
 > $\mathrm{collect}\left(\mathrm{isolate}\left(\mathrm{RDE},\mathrm{diff}\left(\mathrm{_b}\left(\mathrm{_a}\right),\mathrm{_a}\right)\right),\mathrm{_b}\left(\mathrm{_a}\right),\mathrm{normal}\right)$
 $\frac{{ⅆ}}{{ⅆ}{\mathrm{_a}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{_b}{}\left({\mathrm{_a}}\right){=}\frac{{2}{}\left({3}{}{{\mathrm{_a}}}^{{4}}{+}{8}\right){}{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}^{{3}}}{{9}{}{{\mathrm{_a}}}^{{3}}}{+}\frac{{8}{}{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}^{{2}}}{{3}}{+}\frac{{\mathrm{_b}}{}\left({\mathrm{_a}}\right)}{{\mathrm{_a}}}$ (10)