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

Online Help

All Products    Maple    MapleSim


DEtools

  

redode

  

return the nth order ODE having a given integrating factor

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

redode(mu, n, y(x), R)

Parameters

mu

-

integrating factor - one or a list of them - depending on x,y,...,_ym, m=n1

n

-

order of the requested ODE

y(x)

-

dependent variable

R

-

(optional) expected reduced ODE depending on x,y,...,_yk 

Description

• 

Given an integrating factor (x,y,..._yn), where _yn represents the nth order derivative, or a list of them, redode returns the ODE of order n having all the values of mu as integrating factors.

• 

This command is useful to identify the general ODE problem related to a given mu, and to understand the possible links between the integrating factor scheme for reducing the order and other reduction schemes (for example, symmetries).

• 

When the expected reduced ODE, here called R, is also given as argument, its differential order, say m, must satisfy m<n. The routine then proceeds as follows. First, it redefines R by differentiating it such that its differential order becomes n1. Then it performs a test to see if the problem is solvable. The test for solvability is

mu(x,y,`...`,_ym) = nu(x,y,`...`,_y||(m-1))*diff(R(x,y,`...`,_ym),_ym);

μx&comma;y&comma;...&comma;_ym=νx&comma;y&comma;...&comma;_ym1_ymRx&comma;y&comma;...&comma;_ym

(1)
  

for some function nux,y,...,_ym. If the problem is solvable, redode then returns an nth order ODE satisfying

mu(x,y,`...`,diff(y(x),x$m)) * ODE=Diff(R(x,y(x),`...`,diff(y(x),x$m)),x);

μx&comma;y&comma;...&comma;&DifferentialD;m&DifferentialD;xmyxODE=xRx&comma;yx&comma;...&comma;&DifferentialD;m&DifferentialD;xmyx

(2)
  

Note that the reduced ODE being differentiated on the right-hand side is defined up to a constant. For example, R+_C1 also satisfies the above equation.

• 

When the given mu does not depend on _ym and R is nonlinear in _ym, the requested nth order ODE exists if R can be solved for _ym; then nu can be determined as the ratio μd_ymdR.

• 

This function is part of the DEtools package, and so it can be used in the form redode(..) only after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[redode](..).

Examples

The redode command is interesting mainly as a tool for generating solving schemes for given ODE families; we illustrate this with two examples.

withDEtools&colon;

1. Consider the second order ODE family having an integrating factor μ=Fx -- an arbitrary function -- such that the reduced ODE has the same integrating factor. We want to set up an algorithm such that, given a second order linear ODE,

ode_psidiffyx&comma;x&comma;x=&psi;1xdiffyx&comma;x+&psi;2xyx+&psi;3x

ode_psi&DifferentialD;2&DifferentialD;x2yx=&psi;1x&DifferentialD;&DifferentialD;xyx+&psi;2xyx+&psi;3x

(3)

where there are no restrictions on &psi;1x,&psi;2x, or &psi;3x, the scheme determines if the ODE belongs to the family just described, and if so it also determines Fx. The knowledge of Fx is enough to completely solve the given ODE.

To start with, we obtain the general first order ODE having Fx as integrating factor using:

ode_1redodeFx&comma;yx

ode_1&DifferentialD;&DifferentialD;xyx=&DifferentialD;&DifferentialD;xFxyx+_F1xFx

(4)

where _F1x is an arbitrary function. To obtain the second order ODE mentioned above, we pass ode_1 as an argument (playing the role of the reduced ODE) with the integrating factor Fx to obtain:

ode_2redodeFx&comma;yx&comma;ode_1

ode_2&DifferentialD;2&DifferentialD;x2yx=2&DifferentialD;&DifferentialD;xFx&DifferentialD;&DifferentialD;xyx+&DifferentialD;2&DifferentialD;x2Fxyx+&DifferentialD;&DifferentialD;x_F1xFx

(5)

Taking this general ODE pattern as our starting point, we set up the required solving scheme by comparing coefficients in ode_2 and ode_psi obtaining the following expressions.

e12FxdiffFx&comma;x=&psi;1x

e12&DifferentialD;&DifferentialD;xFxFx=&psi;1x

(6)

e21FxdiffFx&comma;x&comma;x=&psi;2x

e2&DifferentialD;2&DifferentialD;x2FxFx=&psi;2x

(7)

By solving e1, we get Fx as:

ans_Fdsolvee1

ans_FFx=c__1&ExponentialE;&psi;1x2&DifferentialD;x

(8)

and by substituting this result into the second one we get the pattern identifying the ODE family.

ode_patternexpandevale2&comma;ans_F

ode_pattern&DifferentialD;&DifferentialD;x&psi;1x2&psi;1x24=&psi;2x

(9)

2. Consider the second order ODE family having an integrating factor μ=Fx -- an arbitrary function -- and the symmetry ξ=0&comma;η=Fx (see infgen), and such that the reduced ODE is the most general first order linear ODE:

ode_1diffyx&comma;x=Axyx+Bx

ode_1&DifferentialD;&DifferentialD;xyx=Axyx+Bx

(10)

where A(x) and B(x) are arbitrary functions. To start with, we obtain the second order ODE mentioned above which has the integrating factor Fx as in example 1.

ode_2redodeFx&comma;yx&comma;ode_1

ode_2&DifferentialD;2&DifferentialD;x2yx=Ax&DifferentialD;&DifferentialD;xFxyx+Ax&DifferentialD;&DifferentialD;xyxFx+&DifferentialD;&DifferentialD;xAxyxFx+Bx&DifferentialD;&DifferentialD;xFx+&DifferentialD;&DifferentialD;xBxFx&DifferentialD;&DifferentialD;xFx&DifferentialD;&DifferentialD;xyxFx

(11)

In the previous step, ode_2 is in fact the most general second order linear ODE we can imagine. If we now impose the symmetry condition Xode_2=0 (see odepde), where X=0&comma;Fx, we arrive at the following restriction on Ax.

constraintexpandodepdeode_2&comma;yx&comma;0&comma;Fx

constraint2Ax&DifferentialD;&DifferentialD;xFx&DifferentialD;&DifferentialD;xAxFx+&DifferentialD;&DifferentialD;xFx2Fx+&DifferentialD;2&DifferentialD;x2Fx

(12)

We can solve this ODE for Ax.

ans_Adsolveconstraint&comma;Ax

ans_AAx=Fx&DifferentialD;&DifferentialD;xFx+c__1Fx2

(13)

Introducing the result into ode_2 and disregarding the nonhomogeneous term (irrelevant in the solving scheme), we obtain the homogeneous ODE family pattern:

ode_2_Hdiffyx&comma;x&comma;x=collectselecthas&comma;expandrhsode_2&comma;y&comma;diffyx&comma;x&comma;yx

ode_2_H&DifferentialD;2&DifferentialD;x2yx=Ax&DifferentialD;&DifferentialD;xFxFx&DifferentialD;&DifferentialD;xyx+Ax&DifferentialD;&DifferentialD;xFxFx+&DifferentialD;&DifferentialD;xAxyx

(14)

ode_patternsubs_C1=1&comma;collectexpandsubsans_A&comma;ode_2_H&comma;y

ode_pattern&DifferentialD;2&DifferentialD;x2yx=&DifferentialD;&DifferentialD;xFxFx3+&DifferentialD;2&DifferentialD;x2FxFxyx+&DifferentialD;&DifferentialD;xyxFx2

(15)

where we have set the constant c__1 equal to 1 without loss of generality (μ=Fx is defined up to a constant factor). To set up a solving scheme here, check if the coefficient of dydx in a given ODE is related to the coefficient of y as in the equation above, in which case the integrating factor is just Fx.

3. Consider the following three integrating factors of some (unknown) third order ODE:

μyxx&comma;x14+142912yx&comma;x14142912yx

μyxx&comma;x14+294yx&comma;x14294yx

(16)

The most general third order ODE simultaneously admitting all these integrating factors depends on an arbitrary function of _F1x and can be computed as follows.

redodeμ&comma;3&comma;yx

&DifferentialD;3&DifferentialD;x3yx=13yx8x3+5&DifferentialD;2&DifferentialD;x2yx2x13&DifferentialD;&DifferentialD;xyx4x2+3&DifferentialD;&DifferentialD;xyx&DifferentialD;2&DifferentialD;x2yx+5&DifferentialD;&DifferentialD;xyx22x+f__1xyx

(17)

mapDEtoolsmutest&comma;μ&comma;

0&comma;0&comma;0

(18)

The test performed above verifies - returning zero - that the given integrating factors (the list mu) indeed turn the returned ODE exact - see mutest.

The number of given integrating factors can be different than the differential order. For example, taking just the first two integrating factors of the previous example, the most general third order ODE turned exact by them actually depends - in addition - on an arbitrary function of two variables, _F3x&comma;y.

μ1..2

yxx&comma;x14+294yx

(19)

redode&comma;3&comma;yx

&DifferentialD;3&DifferentialD;x3yx=D2f__3x&comma;yx&DifferentialD;&DifferentialD;xyx2+16D1f__3x&comma;yxx2+2xf__3x&comma;yx292xf__3x&comma;yx529+19&DifferentialD;&DifferentialD;xyx8x2+f__3x&comma;yx&DifferentialD;2&DifferentialD;x2yx+f__3x&comma;yx&DifferentialD;&DifferentialD;xyx23&DifferentialD;&DifferentialD;xyx&DifferentialD;2&DifferentialD;x2yx+` `yx229xf__3x&comma;_ax2+82x2f__3x&comma;_ax32xf__3x&comma;_ax2+52919_a8x3&DifferentialD;_a+f__4xyx

(20)

mapDEtoolsmutest&comma;μ1..2&comma;

0&comma;0

(21)

See Also

DEtools

DEtools[equinv]

DEtools[intfactor]

DEtools[odeadvisor]

DEtools[symgen]

DEtools[symtest]

dsolve

odetest

PDEtools

PDEtools[dchange]