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

Online Help

All Products    Maple    MapleSim


dsolve

dsolve and the Lie method of symmetries

 

Calling Sequence

Parameters

Description

Examples

References

Calling Sequence

dsolve(ODE,Lie)

dsolve(ODE, y(x), way=xxx, HINT=[expr1, expr2], int_scheme)

Parameters

ODE

-

ordinary differential equation

Lie

-

request that Lie's symmetry method be used first

y(x)

-

dependent variable (required when not obvious)

way=xxx

-

(optional) use only one of symgen's algorithms: 2, 3, 4, 5, 6, abaco1, abaco2, all, exp_sym, formal, mu, patterns, and pdsolve when looking for symmetry generators

HINT = [e1, e2]

-

(optional) e1 and e2 indicate a possible functional form for the infinitesimals of symmetry generators

HINT = [[e1, e2], [e3, e4], ...]

-

(optional) list of the above

int_scheme

-

(optional) can be one of fat, can, can2, gon, gon2, and dif

 

-

Optional parameters can be given alone or in conjunction and in any order

Description

• 

Given an ODE, when using the method of symmetries, dsolve first tries to determine symmetry generators of invariance Lie groups corresponding to the given ODE, and then uses this information to integrate or at least reduce the order of the ODE. In the case of first order ODEs, the routine can determine invariant singular solutions (if any) from the knowledge of the symmetries. Although this method covers most of the standard classification methods (but at a slower speed), its usefulness is mainly related to the solving of non-classifiable ODEs, that is, for ODEs not matching any pattern for which dsolve has a solving scheme.

• 

To determine the infinitesimals, dsolve makes calls to DEtools[symgen]. To integrate the ODE using these infinitesimals, dsolve has seven integration schemes, almost all of them explained in "Differential Equations: Their solution using symmetries", by H.Stephani, and "Symmetries and Differential Equations", by G.W. Bluman and S.Kumei. dsolve has its own defaults concerning these integration schemes, but it is possible to force the use of a given scheme by giving extra arguments as explained below. The integration schemes available are:

1. 

building an integrating factor ('fat', only for first order ODEs),

2. 

reducing the order of the ODE by one, by using the canonical coordinates of the invariance group ('can'),

3. 

reducing a second order ODE to a quadrature, by using two pairs of infinitesimals (a 2-D subalgebra) simultaneously ('can2'),

4. 

reducing a second order ODE to a quadrature, constructively, by using a normal form of the symmetry generator in the space of first integrals ('gon'),

5. 

reducing a second order ODE to a quadrature, by using two pairs of infinitesimals (a 2-D subalgebra) and normal forms of the symmetry generators in the space of first integrals ('gon2'),

6. 

using differential invariants constructively ('dif'), or

7. 

reducing a second order ODE to a quadrature, by using three pairs of infinitesimals, when no pair of them forms a 2-D subalgebra.

• 

The integration schemes 1) and 2) can be used with first order ODEs, schemes 2) through 7) can be used with second order ODEs, and scheme 2) can be used with high order ODEs. The integration schemes 4), 5), and 6) work with both point and dynamical symmetries. That is, the methods can integrate by using symmetries even when they involve derivatives of the unknown function.

• 

dsolve/Lie first attempts to isolate the derivative in the given ODE, then it uses restricted subsets (determined according to the given ODE) of the internal algorithms of symgen to try to calculate the infinitesimals. Finally, it applies the aforementioned integration schemes one after the other to obtain a closed form solution.

• 

You can change the dsolve defaults for the method of symmetries. The main options are the following.

– 

To use only symmetry methods and all symgen's algorithms for determining the infinitesimals, give the word 'Lie' as an extra argument in the calling sequence.

– 

To avoid using the method of symmetries, give the word 'class' as extra argument.

– 

To request the use of all symgen's algorithms for determining the infinitesimals, give the equation 'way=all' as an extra argument (equivalent to the 'Lie' extra argument; see symgen).

– 

To request the use of only one of symgen's algorithms for determining the infinitesimals, give the equation 'way=xxx', where xxx is one of 2, 3, 4, 5, 6, abaco1, abaco2, all, exp_sym, formal, mu, patterns, and pdsolve. Note that different algorithms can lead to different symmetries for the same ODE, sometimes making the integration step easier. The option 'way=6' is to be used only if solving Riccati type ODEs. See symgen. Note also that the formal algorithm is special because it formally computes all point symmetries when they exist.

– 

To enforce the use of only one or more of the alternative schemes for integrating a given ODE, in any desired order, after finding the infinitesimals, give one or many of the following optional arguments: fat, can, can2, gon, gon2, and dif. These optional arguments are useful to select the best integration strategy for each case.

– 

To indicate a possible functional form for the infinitesimals, use the HINT=[e1,e2] option. This option is valuable when the solver does not meet with success, or to study the possible connection between the algebraic pattern of the given ODE and that of the symmetry generators.

• 

The HINT=[e1,e2] option can be used is as follows.

  

HINT=[e1,e2], indicates to the solver that it should take e1 and e2 as the infinitesimals, where e1 and e2 can contain a maximum of two indeterminate functions. The solver tries to determine the infinitesimals to solve the problem.

  

HINT=[e1,`+`], where e1 represents your guess for the first infinitesimal, xi. The `+` indicates to the solver that it must consider the other infinitesimal, eta, as the sum of two indeterminate functions of one variable, depending on the independent and dependent variables, respectively.

  

HINT=[e1,`*`], works as in the previous case, but replacing the sum of two indeterminate functions by their product.

  

HINT=[[e1,e2], [e3,e4],...], where [e1,e2], [e3,e4], ... can take any of the above forms.

• 

Finally, three global variables manage the solving process. They are automatically set by internal routines, but you can assign their values. They are {`ODEtools/dgun`, `ODEtools/ngun`, `ODEtools/sgun`}, for setting, respectively, the maximum degree of polynomials entering the ansatz for the infinitesimals, the maximum number of subproblems into which the original ODE can be mapped, and the maximum size permitted for such subproblems.

  

Note: When using dsolve with way=formal, the values of these three variables {`ODEtools/dgun`, `ODEtools/ngun`, `ODEtools/sgun`} have no effect on the computation of the symmetries.

• 

The `ODEtools/dgun` variable is automatically set each time symgen is called, according to the given ODE, whereas, by default, `ODEtools/ngun` and `ODEtools/sgun` are assigned 1. Increasing the value of `ODEtools/dgun` usually helps, especially in the case of polynomial ODEs. If you assign values to the `ODEtools/ngun` or `ODEtools/sgun` variable, it may increase the power of the algorithms. However, each increase of one unit can slow the solving process geometrically.

Examples

Three first order ODEs

A Riccati type ODE:

ode1diffyx,x=yxxlnx2x2+lnx

ode1ⅆⅆxyx=yxxlnx2x2+lnx

(1)

Use canonical coordinates to integrate ode[1]:

dsolveode1,can

yx=x25lnx+5tanhlnx+c__1525510

(2)

The general family of ODEs having the symmetries of ode[1] is as follows. See DEtools[equinv].

ode2diffyx,x=Fyxxlnxx+lnx

ode2ⅆⅆxyx=Fyxxlnxx+lnx

(3)

dsolveode2

yx=lnx+RootOflnx+` `_Z11+F_a_aⅆ_a+c__1x

(4)

The answer above includes the solution for ode[1] for which _F := u -> u^2.

ode3diffyx,x=x+cosexpx1+x+expyxexpx+yx

ode3ⅆⅆxyx=x+cosⅇx1+x+ⅇyxⅇx+yx

(5)

Infinitesimals for ode[3] can be found by using the HINT option.

withDEtools,symgen

symgen

(6)

symgenode3,HINT=fx,xgy

_ξ=ⅇx,_η=xⅇy

(7)

In above, 'f(x)' was determined as exp(x) and g(y) as exp(-y). This HINT can be given directly to dsolve, which calls symgen and uses the returned infinitesimals to arrive at:

dsolveode3,HINT=fx,xgy

yx=lnarctan1c__12ⅇ1ⅇx211c__12ⅇ1ⅇx2+1,2c__1ⅇ1ⅇx1c__12ⅇ1ⅇx2+1ⅇxx1x

(8)

Three second order ODEs

ode4diffyx,x,x=1x2diffyx,x2x22yxdiffyx,xx+yx2

ode4ⅆ2ⅆx2yx=ⅆⅆxyx2x22yxⅆⅆxyxx+yx2x2

(9)

dsolveode4

yx=ⅇc__1Ei1ln1x+c__1+c__2x

(10)

ode5diffyx,x,xdiffyx,xyxx62diffyx,x3x6+2diffyx,x2yxx5+yx5

ode5ⅆ2ⅆx2yxⅆⅆxyxyxx62ⅆⅆxyx3x6+2ⅆⅆxyx2yxx5+yx5

(11)

Three pairs of infinitesimals for ode[5] above:

sym2symgenode5

sym2_ξ=0,_η=y2,_ξ=x2,_η=0,_ξ=x,_η=3y2

(12)

A solution obtained using normal forms in the space of first integrals (extra argument gon2) for the generators corresponding to the infinitesimals above:

ansgon2dsolveode5,gon2

ansgon2yx=3x22xc__1x+12c__1x3c__2x2+22xc__1x+1

(13)

A rational ODE solved by using the formal approach and integrated by using its two symmetries simultaneously:

ode6diffyx,x,x+yx9xdiffyx,xyx33yx2x+21yxx2=0

ode6ⅆ2ⅆx2yx+yx9xⅆⅆxyxyx33yx2x+21yxx2=0

(14)

ans6dsolveode6,way=formal,can2,implicit

ans6x42x64x323+2c__1` `x3yx1c__1RootOf_a6c__1_Z18+6_a6+6c__1_Z12+12_a69c__1_Z68_a612RootOf_a6c__1_Z18+6_a6+6c__1_Z12+12_a69c__1_Z68_a612_a64c__1RootOf_a6c__1_Z18+6_a6+6c__1_Z12+12_a69c__1_Z68_a66+4RootOf_a6c__1_Z18+6_a6+6c__1_Z12+12_a69c__1_Z68_a66_a6+c__14_a6ⅆ_ac__2=0

(15)

In above, without using way=formal the same solution is obtained, but other (unsuccessful in this case) methods are tried first and so the solving process takes a bit more of time.

Higher order ODEs

A nonlinear fifth order example (number 17 from Kamke's book) solved by reducing the order constructively using canonical coordinates.

ode79diffyx,x,x2diffyx,x,x,x,x,x45diffyx,x,xdiffyx,x,x,xdiffyx,x,x,x,x+40diffyx,x,x,x

ode79ⅆ2ⅆx2yx2ⅆ5ⅆx5yx45ⅆ2ⅆx2yxⅆ3ⅆx3yxⅆ4ⅆx4yx+40ⅆ3ⅆx3yx

(16)

ans7dsolveode7,Lie

ans7yx=RootOf` `_Z1RootOf20ln_f+` `_Z_kⅇRootOf81_k2ⅇ_Z40ⅇ_Zln220ⅇ_Zln5+20ⅇ_Zlnⅇ_Z+27+162c__1ⅇ_Z20_Zⅇ_Z+2187_k21080ln2540ln5+540lnⅇ_Z+27+4374c__1540_Z540+27ⅆ_k+20c__2ⅆ_f+x+c__3ⅆxⅆx+c__4x+c__5

(17)

Explicit or implicit answers can be tested, in principle, by using odetest.

mapodetest,ans7,ode7

0

(18)

References

  

E.S. Cheb-Terrab, L.G.S. Duarte and L.A.C.P. da Mota, "Computer Algebra Solving of First Order ODEs Using Symmetry Methods", Computer Physics Communications, 101 (1997): 254.

  

E.S. Cheb-Terrab, L.G.S. Duarte and L.A.C.P. da Mota, "Computer Algebra Solving of Second Order ODEs Using Symmetry Methods", Computer Physics Communications, 108 (1997): 90.

See Also

DEtools[buildsym]

DEtools[canoni]

DEtools[equinv]

DEtools[odeadvisor]

DEtools[symgen]

DEtools[transinv]

diff

dsolve

dsolve,ICs

dsolve,inttrans

dsolve,numeric

dsolve,series

dsolve,system

odetest