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

Online Help

All Products    Maple    MapleSim


DEtools

  

FindODE

  

find an ODE for a given expression

 

Calling Sequence

Parameters

Options

Description

Examples

References

Compatibility

Calling Sequence

FindODE(f, y(x), maxorder, opts)

FindODE(f, D[x], maxorder, opts)

FindODE(f, [Dx,x], maxorder, opts)

Parameters

f

-

differentiable expression

y(x)

-

dependent variable of the differential equation sought. x is the independent variable.

D[x]

-

derivative operator given in indexed type form with index of type name.

[Dx,x]

-

list of two names where Dx represents the derivative operator and x is the independent variable

maxorder

-

(optional) positive integer representing the maximal order of the ODE sought. Default value: 10.

opts

-

sequence of optional equations of the form keyword=value; possible keywords are method and destep

Options

• 

destep  :  a positive integer representing the minimum possible value of the difference between two derivative orders appearing in the computed ODE. Default value: 1.

• 

method  :  one of default, holonomic, linear or quadratic; specifies the method to be used. method=holonomic looks for a holonomic differential equation; method=linear looks for a linear differential equation with possibly elementary functions as coefficients; method=quadratic looks for a quadratic differential equation.

Description

• 

The DEtools[FindODE] command searches for a homogeneous differential equation of order at most maxorder (at least 10) satisfied by f. There are three general purpose methods applied by default: a method to compute a holonomic ODE, i.e. a linear differential equation with polynomial coefficients. If the maxorder is reached and no holonomic ODE is found then the second method is used. The second method consists of finding a linear differential equation that may have some elementary functions as coefficients. If such an ODE of order at most maxorder is not found then the third method is used. The latter method searches for a quadratic differential equation with polynomial coefficients, i.e. an ODE which contains at most one product of derivatives (the square of a derivative is also included) in its summands. All these three methods can be applied independently by the user through the method keyword. The input f should be a function for which Maple easily manipulates the derivatives. If no ODE is found, then FAIL is returned.

• 

When using the FindODE(f, y(x)) calling sequence, the ODE is returned as an equation in terms of the dependent variable yx, with right-hand side equal to 0.

• 

When using one of FindODE(f,D[x]) and FindODE(f, [Dx,x]) calling sequences, the result is a differential operator in terms of D[x] or Dx, respectively if the underlying differential equation is linear. The differential operator cannot be obtained for quadratic ODEs.

• 

The second argument can be omitted if the environment variable _Envdiffopdomain is assigned a list of two names or an indexed variable with index of type name, in which case the result is given in differential operator notation.

• 

By default, FindODE incrementally searches for an ODE up to order 10. This maximal order can be overridden by specifying the optional third argument, maxorder.

Examples

withDEtools:

FindODEarctanx32,yx

5x31ⅆⅆxyx+2xx+1x2x+1ⅆ2ⅆx2yx

(1)

FindODEarctanx32,Dx

2x4+2xDx2+5x31Dx

(2)

FindODEarctanx32,Dx,x

2x4+2xDx2+5x31Dx

(3)

FindODEcosnarccosx,yx

n2yx+xⅆⅆxyx+x1x+1ⅆ2ⅆx2yx

(4)

FindODEhypergeoma,b,c,x,yx

abyx+xa+xbc+xⅆⅆxyx+xx1ⅆ2ⅆx2yx

(5)

FindODEKummerM14,1,x+KummerM14,1,x,Dx,x

16x2Dx4+32x2+64xDx3+16x280x+32Dx2+16x16Dx1

(6)

FindODELegendreP14,xLegendreP12,x,yx

495yx+1440xⅆⅆxyx+5600x21504ⅆ2ⅆx2yx+2560x1x+1xⅆ3ⅆx3yx+256x12x+12ⅆ4ⅆx4yx

(7)

Differential equations for Mathieu's functions can be computed.

FindODEMathieuCa,q,x,yx

2qcos2x+ayx+ⅆ2ⅆx2yx

(8)

FindODExexpx1,yx

x1yx+yx2+xⅆⅆxyx

(9)

The following example is a generating function from the Online Encyclopedia of Integer Sequences (http://oeis.org/A151357).

ogfIntInt2hypergeom34,54,2,64x31+x4x2+124x2+132,x,xx2

ogf2hypergeom34,54,2,64x3x+14x2+124x2+132ⅆxⅆxx2

(10)

LFindODEogf,Dx,x

L192x10+640x9+880x8+656x7+244x6+16x57x43x3Dx4+3072x9+9792x8+13344x7+10016x6+3632x5+244x486x336x2Dx3+13824x8+42048x7+56832x6+42816x5+15072x4+1068x3264x2108xDx2+18432x7+53376x6+71616x5+53952x4+18336x3+1416x2180x72Dx+4608x6+12672x5+16896x4+12672x3+4128x2+360x

(11)

DFactorL,Dx,x

192x10+640x9+880x8+656x7+244x6+16x57x43x3Dx2+21152x7+3616x6+4912x5+3696x4+1328x3+90x229x12Dxx192x7+640x6+880x5+656x4+244x3+16x27x3+22880x7+8480x6+11408x5+8592x4+2956x3+222x237x15x2192x7+640x6+880x5+656x4+244x3+16x27x3,Dx+2x,Dx+2x

(12)

mapdegree,,Dx

2,1,1

(13)

FindODEhypergeom13,23,1,x2hypergeom13,13,1,xhypergeom43,23,1,x,Dx,x

9x527x3+18x2Dx3+45x4+54x3135x2+36xDx2+38x3+110x294xDx+2x2+18x2

(14)

FindODEBesselI0,x+xBesselI2,x,yx

xx+1x2+x+3yx+x3+x+4ⅆⅆxyx+xx+2x2+1ⅆ2ⅆx2yx

(15)

_EnvdiffopdomainDx:

FindODEBesselI0,sqrtxBesselI3,sqrtx

24x4+64x3Dx3+84x3+288x2Dx2+24x3130x2+16xDx24x2179x216

(16)

Illustration for the destep option. A useful feature to generate many ODEs for the same holonomic expression.

FindODEexpxcosx,yx

2yx2ⅆⅆxyx+ⅆ2ⅆx2yx

(17)

FindODEexpxcosx,yx,destep=4

ⅆ4ⅆx4yx+4yx

(18)

FindODE1+xα,yx

x+1ⅆⅆxyxαyx

(19)

FindODE1+xα,yx,destep=2

x+12ⅆ2ⅆx2yxαα1yx

(20)

Illustration for the method option. All the outputs below can be obtained by the default option. However, using a non-default method is usually more efficient.

FindODEMathieuFloqueta,q,x2,yx,method=linear

4x32qcos2x2ayxⅆⅆxyx+xⅆ2ⅆx2yx

(21)

FindODEsqrtarctanx,yx,method=quadratic

2xⅆⅆxyxyx+x2+1ⅆⅆxyx2+x2+1ⅆ2ⅆx2yxyx

(22)

FindODEexpsinx,yx,method=linear

cosxyx+ⅆⅆxyx

(23)

The tangent function is not holonomic but satisfies both linear and quadratic ODEs.

FindODEtanx,yx,method=linear

secxcscxyx+ⅆⅆxyx

(24)

FindODEtanx,yx,method=quadratic

2ⅆⅆxyxyx+ⅆ2ⅆx2yx

(25)

FindODEtanxn,yx,method=linear

nsecxcscxyx+ⅆⅆxyx

(26)

FindODEtanxn,yx,method=quadratic

20n224ⅆⅆxyx2+4n2ⅆ2ⅆx2yxyx+3n2n+2ⅆ2ⅆx2yx2+4n2+6ⅆ3ⅆx3yxⅆⅆxyx+n2ⅆ4ⅆx4yxyx

(27)

secxn does not satisfy a linear ODE with polynomial coefficients but satisfies a quadratic one.

FindODEsecxn,yx,method=linear

tanxnyx+ⅆⅆxyx

(28)

FindODEsecxn,yx,method=quadratic

n2yx2+n1ⅆⅆxyx2+nⅆ2ⅆx2yxyx

(29)

References

  

Bertrand Teguia Tabuguia and Wolfram Koepf. "On the representation of non-holonomic power series".arXiv:2109.09574 [cs.SC]. September 2021.

  

Bertrand Teguia Tabuguia and Wolfram Koepf. Symbolic conversion of holonomic functions to hypergeometric type power series. Computer Algebra issue of the Journal of Programming and Computer Software. February 2022.

  

Bertrand Teguia Tabuguia. "Power Series Representations of Hypergeometric Type and Non-Holonomic Functions in Computer Algebra". Ph.D. thesis. University of Kassel, Germany. May 2020.

Compatibility

• 

The DEtools[FindODE] command was introduced in Maple 2019.

• 

For more information on Maple 2019 changes, see Updates in Maple 2019.

• 

The DEtools[FindODE] command was updated in Maple 2022.

• 

The D[x] and [Dx,x] parameters were introduced in Maple 2022.

• 

The destep and method options were introduced in Maple 2022.

• 

For more information on Maple 2022 changes, see Updates in Maple 2022.

See Also

convert/FormalPowerSeries

DEtools

gfun[holexprtodiffeq]

LinearOperators

PDEtools[dpolyform]