JetCalculus[ZigZag] - lift a dH closed form on a jet space to a d closed form
Calling Sequences
ZigZag(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). If r < n, suppose that dH(omega) = 0 or, if r = n, suppose that I(dV(omega)) = 0. Define a p = r + s form theta on J^l(R^n, R^m) by theta = theta_0 - theta_1 + theta_2 - ... theta_r, where omega = theta_0, theta_i is of type (r - i, s + i), and dV(theta_i) = dH(theta_(i + 1)). Any form theta so constructed is always d closed.
|
•
|
The command ZigZag creates such a form theta, where theta_(i + 1) is computed from theta_i using the horizontal homotopy operator, that is, theta_(i + 1) = HorizontalHomotopy(dV(theta_i)).
|
•
|
If omega is a bi-form of degree (r, s), then HorizontalHomotopy(omega) returns a differential of form r + s.
|
•
|
The command ZigZag is part of the DifferentialGeometry:-JetCalculus package. It can be used in the form ZigZag(...) only after executing the commands with(DifferentialGeometry) and with(JetCalculus), but can always be used by executing DifferentialGeometry:-JetCalculus:-ZigZag(...).
|
|
|
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, 3):
|
Define a type (1, 0) form omega1 and show that it is dH closed.
E >
|
omega1 := evalDG((u[1, 2]*u[1, 1, 1] + u[1 ,1]*u[1, 1, 2])*Dx + (u[1, 2]*u[1 ,1, 2] + u[1, 1]*u[1, 2, 2])*Dy);
|
| (2.1) |
E >
|
HorizontalExteriorDerivative(omega1);
|
| (2.2) |
Apply the ZigZag command to omega1 to obtain a form theta1.
E >
|
theta1 := ZigZag(omega1);
|
| (2.3) |
Check that theta1 is d closed and that its [1, 0] component matches omega1.
E >
|
ExteriorDerivative(theta1);
|
| (2.4) |
E >
|
convert(theta1, DGbiform, [1, 0]);
|
| (2.5) |
Example 2.
Define a type (2, 0) form omega2 and show that its Euler-Lagrange form is 0.
E >
|
omega2 := evalDG((- u[2, 2]*u[1, 2] - u[2]*u[1, 2, 2] - u[1]*u[1, 2, 2] - u[1, 2]^2)*Dx &w Dy);
|
| (2.6) |
E >
|
EulerLagrange(omega2);
|
| (2.7) |
Apply the ZigZag command to omega2 to obtain a form theta2.
E >
|
theta2 := ZigZag(omega2);
|
| (2.8) |
Check that theta2 is d closed and that its [2, 0] component matches omega2.
E >
|
ExteriorDerivative(theta2);
|
| (2.9) |
E >
|
convert(theta2, DGbiform, [2, 0]);
|
| (2.10) |
Example 3.
Define a type (2, 1) form omega3 and show that its Euler-Lagrange form is 0.
E >
|
omega3 := EulerLagrange(u[1]*u[2]^2*Dx &w Dy);
|
| (2.11) |
E >
|
IntegrationByParts(VerticalExteriorDerivative(omega3));
|
| (2.12) |
Apply the ZigZag command to omega3 to obtain a form theta3.
E >
|
theta3 := ZigZag(omega3);
|
| (2.13) |
Check that theta3 is d closed and that its [2, 1] component matches omega3.
E >
|
ExteriorDerivative(theta3);
|
| (2.14) |
E >
|
convert(theta3, DGbiform, [2, 1]);
|
| (2.15) |
|
|
See Also
|
|
DifferentialGeometry, JetCalculus, DeRhamHomotopy, DGbiform, EulerLagrange, ExteriorDerivative, HorizontalExteriorDerivative, HorizontalHomotopy, IntegrationByParts, VerticalExteriorDerivative, VerticalHomotopy
|
|