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

Online Help

All Products    Maple    MapleSim


JetCalculus[HorizontalHomotopy] - apply the horizontal homotopy operator to a bi-form on a jet space

Calling Sequences

     HorizontalHomotopy(, options)

Parameters

             - a differential bi-form on the jet space

     options - any of  the optional arguments used in the commands DeRhamHomotopy

 

Description

Details

Examples

Description

• 

Let be a fiber bundle, with base dimension  and fiber dimension  and let  be the infinite jet bundle of . The space of -forms  decomposes into a direct sum , where  is the space of bi-forms of horizontal degree  and vertical degree The horizontal exterior derivative  is a mapping  with the following properties. A form is called closed if and exact if there is a bi-form such that . Since every exact bi-form is closed.

[i] If , then every closed bi-form is exact,

[ii] If and and where  is the Euler-Lagrange operator, then .

[iii] If and and where is the integration by parts operator, then .

There are a number of algorithms for finding the bi-form One approach is to use the horizontal homotopy operators . Similar to the DeRham homotopy operator, these homotopy operators satisfy the identities

[i]  if  

[ii]  if  and and

[iii]  if  and and

• 

If  is a bi-form of degree with  then HorizontalHomotopy() returns a bi-form of degree (.

• 

For  the operators  are total differential operators and therefore, unlike the usual homotopy operators for the de Rham complex or the vertical homotopy operators for bi-forms on jet spaces, do not involve any quadratures. For the horizontal homotopy does involve quadratures and the optional arguments used in the commands DeRhamHomotopy or VerticalHomotopy can be invoked.

• 

The command HorizontalHomotopy is part of the DifferentialGeometry:-JetCalculus package. It can be used in the form HorizontalHomotopy(...) only after executing the commands with(DifferentialGeometry) and with(JetCalculus), but can always be used by executing DifferentialGeometry:-JetCalculus:-HorizontalHomotopy(...).

Details

Here are the explicit formulas for the horizontal homotopy operators. Let , ..., be a local system of jet coordinates and let . Let  be a -th order bi-form with and let be the higher (interior product) Euler operators. Let  be the multi-total derivative operator and let  . Then

 

 .

 

For the horizontal homotopy operator is defined in terms of the vertical exterior derivative   and the vertical homotopy operator   by

For further information, see:

[i] Ian M. Anderson, Notes on the Variational Bicomplex.

[ii] Niky. Kamran, Selected Topics in the Geometrical Study of Differential Equations, CBMS Lecture Series, 2002.

[iii] Peter J. Olver, Applications of Lie Groups to Differential Equations, Chapter 5.

 

Examples

with(DifferentialGeometry): with(JetCalculus):

 

Example 1.

Create the jet space for the bundle with coordinates

DGsetup([x], [u], E, 3):

 

Show that the EulerLagrange form for is 0 so that  is  exact.

E > 

omega1 := evalDG((u[1,1,1]*u[1] + x*u[1,1,1]*u[1,1] + 2*u[1,1]*u[1,1,1] + x*u[1]*u[1,1,1,1])*Dx);

(3.1)
E > 

EulerLagrange(omega1);

(3.2)

 

Apply the horizontal homotopy operator to

E > 

eta1 := HorizontalHomotopy(omega1);

(3.3)

 

Check that the horizontal exterior derivative of gives .

E > 

omega1 &minus HorizontalExteriorDerivative(eta1);

(3.4)

 

Example 2.

Show that the integration by parts operator for the type (1, 2)  bi-form is 0 so that is  exact.

E > 

omega2 := evalDG(Dx &w Cu[1] &w Cu[1,1,1,1] + Dx &w Cu[1,1] &w Cu[1,1,1]);

(3.5)
E > 

IntegrationByParts(omega2);

(3.6)

 

Apply the horizontal homotopy operator to

E > 

eta2 := HorizontalHomotopy(omega2);

(3.7)
E > 

omega2 &minus HorizontalExteriorDerivative(eta2);

(3.8)

 

Example 3.

Show that the Euler-Lagrange form for is 0 so that  is exact.

E > 

HorizontalExteriorDerivative((u[1]*u[1,1,1])/u[1,1]^4);

(3.9)
E > 

omega3 := map(expand, evalDG((u[1,1]^2*u[1,1,1] - 4*u[1,1,1]^2*u[1] + u[1]*u[1,1,1,1]*u[1,1])/u[1,1]^5*Dx));

(3.10)
E > 

EulerLagrange(omega3);

(3.11)

 

Apply the horizontal homotopy operator to . Because is singular at  we change the integration limits in the homotopy formula but still perform a radial integration.  See  DeRhamHomotopy for a detailed discussion.

E > 

eta3a := HorizontalHomotopy(omega3, integrationlimits = [infinity, 1]);

(3.12)

 

Check that .

E > 

omega3 &minus HorizontalExteriorDerivative(eta3a);

(3.13)

 

Instead of changing the limits of integration we can change the integration path to a sequence of coordinate lines.  See HorizontalExteriorDerivative for a detailed discussion.

opt := intmethod = "ExteriorDerivativeHomotopy", path = "zigzag", variableorder = [x, u[], u[1], u[1,1], u[1,1,1], u[1,1,1,1], u[1,1,1,1,1]], initialpoint = [u[1,1] = 1];

(3.14)
E > 

eta3b := HorizontalHomotopy(omega3, opt);

(3.15)

 

Example 4.

Create the jet space for the bundle with coordinates .

E > 

DGsetup([x, y], [u, v], E2, 2):

 

Define a type (1, 0) biform  and check that it is closed.

E2 > 

omega4 := evalDG((v[2, 2]*u[1, 1] + u[1]*v[1, 2, 2])*Dx + (v[2, 2]*u[1, 2] + u[1]*v[2, 2, 2])*Dy);

(3.16)
E2 > 

HorizontalExteriorDerivative(omega4);

(3.17)

 

Apply the horizontal homotopy operator to define .

E2 > 

eta4 := HorizontalHomotopy(omega4);

(3.18)

 

Check that .

E2 > 

omega4 &minus HorizontalExteriorDerivative(eta4);

(3.19)

 

Example 5.

Define a type (2, 0) form  and check that its Euler-Lagrange form vanishes identically.

E2 > 

omega5 := evalDG((v[2]*u[1, 1] + u[1]*v[1, 2] - v[1]*u[1, 2, 2] - u[1, 2]*v[1, 2])* Dx &w Dy);

(3.20)
E2 > 

EulerLagrange(omega5);

(3.21)
E2 > 

eta5a := HorizontalHomotopy(omega5);

(3.22)
E2 > 

omega5 &minus HorizontalExteriorDerivative(eta5a);

(3.23)

 

So , but we can often find a much simpler answer.

E2 > 

opt := intmethod = "ExteriorDerivativeHomotopy", path = "zigzag", variableorder = Tools:-DGinfo(E2, "FrameJetVariables");

(3.24)
E2 > 

eta5b := HorizontalHomotopy(omega5, opt);

(3.25)
E2 > 

omega5 &minus HorizontalExteriorDerivative(eta5b);

(3.26)

See Also

DifferentialGeometry

JetCalculus

EulerLagrange

HorizontalExteriorDerivative

IntegrationByParts

VerticalExteriorDerivative

VerticalHomotopy

ZigZag

 


Download Help Document