JetCalculus[VerticalHomotopy] - apply the vertical homotopy operator to a bi-form on a jet space
Calling Sequences
VerticalHomotopy(omega)
Parameters
omega - a differential bi-form on the jet space J^k(R^n, R^m)
|
Description
|
|
•
|
Let omega be a bi-form of degree (r, s) on J^k(R^n, R^m). Then omega is called dV closed if dV(omega) = 0 where dV denotes the vertical exterior derivative and dV exact if there exists a bi-form eta of degree (r, s - 1) on J^l(R^n, R^m) such that omega = dV(eta).
|
•
|
If dV(omega) = 0 then there are numerous algorithms for finding a bi-form eta such that omega = dV(eta). One approach is to use the vertical homotopy operators. These homotopy operators are very similar to the usual homotopy operators for the deRham complex.
|
•
|
The optional arguments available to DeRhamHomotopy can be invoked with VerticalHomotopy.
|
•
|
If omega is a bi-form of degree (r, s) with s > 1, then VerticalHomotopy(omega) returns a bi-form of degree (r, s - 1).
|
•
|
The command VerticalHomotopy is part of the DifferentialGeometry:-JetCalculus package. It can be used in the form VerticalHomotopy(...) only after executing the commands with(DifferentialGeometry) and with(JetCalculus), but can always be used by executing DifferentialGeometry:-JetCalculus:-VerticalHomotopy(...).
|
|
|
Examples
|
|
>
|
with(DifferentialGeometry): with(JetCalculus):
|
Example 1.
Create the jet space J^3(E) for the bundle E = R^2 x R with coordinates (x, y, u) -> (x, y).
>
|
DGsetup([x, y], [u], E, 1):
|
Show that the Euler-Lagrange form for omega1 is 0 so that omega1 is dH exact.
E >
|
omega1 := evalDG(Cu[] &w Cu[1] &w Cu[2]);
|
| (2.1) |
E >
|
VerticalExteriorDerivative(omega1);
|
| (2.2) |
Apply the vertical homotopy operator to omega1.
E >
|
eta1a := VerticalHomotopy(omega1);
|
| (2.3) |
Check that the vertical exterior derivative of eta1a gives omega1.
E >
|
omega1 &minus VerticalExteriorDerivative(eta1a);
|
| (2.4) |
Alternatives to eta1a can be obtained using the path = "zigzag" option for the VerticalHomotopy command.
E >
|
eta1b := VerticalHomotopy(omega1, path = "zigzag");
|
| (2.5) |
E >
|
eta1b := VerticalHomotopy(omega1, path = "zigzag", variableorder = [u[1], u[2], u[], u[1, 1], u[1, 2], u[2, 2]]);
|
| (2.6) |
|
|