ODESolStruc - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


ODESolStruc

Reductions of order returned by dsolve

 

Calling Sequence

Parameters

Description

Examples

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

ode1diffdiffyx,x,x=diffyx,x2yx2+xyx3

ode1ⅆ2ⅆx2yx=ⅆⅆxyx2yx2+xyx3

(1)

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

ans1dsolveode1

ans1yx=_aⅇ4_b_aⅆ_a3+4c__1334whereⅆⅆ_a_b_a=23_a4+8_b_a39_a3+8_b_a23+_b_a_a,_a=yxx34,_b_a=3x344ⅆⅆxyxx3yx,x=ⅇ4_b_aⅆ_a3+4c__13,yx=_aⅇ4_b_aⅆ_a3+4c__1334

(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

odetestans1,ode1

0

(3)

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

reduced_ODEop2,2,1,1,ans1

reduced_ODEⅆⅆ_a_b_a=23_a4+8_b_a39_a3+8_b_a23+_b_a_a

(4)

TRop2,2,2,ans1

TR_a=yxx34,_b_a=3x344ⅆⅆxyxx3yx

(5)

ITRop2,2,3,ans1

ITRx=ⅇ4_b_aⅆ_a3+4c__13,yx=_aⅇ4_b_aⅆ_a3+4c__1334

(6)

new_varsmaplhs,TR

new_vars_a,_b_a

(7)

old_varsmaplhs,ITR

old_varsx,yx

(8)

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

ODEPDEtoolsdchangeTR,reduced_ODE:

original_ODEnormalisolateODE,diffyx,x,x

original_ODEⅆ2ⅆx2yx=ⅆⅆxyx2yx2+xyx3

(9)

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

RDEPDEtoolsdchangeITR,original_ODE,_a,_b_a:

collectisolateRDE,diff_b_a,_a,_b_a,normal

ⅆⅆ_a_b_a=23_a4+8_b_a39_a3+8_b_a23+_b_a_a

(10)

See Also

DESol

DEtools[buildsol]

dsolve

eval