|
Description
|
|
•
|
Let be a fiber bundle, with base dimension and fiber dimension and let be the infinite jet bundle of . The space of -forms on decomposes as a direct sum of bi-forms
|
Let be a bi-form of degree . I f suppose that or, if , that . See HorizontalExteriorDerivative, VerticalExteriorDerivative, and IntegrationByParts for the definitions of the space , the horizontal exterior derivative , the vertical exterior derivative and the integration by parts operator
Given that or define a degree form by
where and
The forms are of bi-degree The forms can be calculated inductively using the horizontal homotopy operators . The fundamental property of this construction is that the form is always closed with respect to the standard exterior derivative, that is,
•
|
If is a bi-form of degree then ZigZag() returns the differential form of degree .
|
•
|
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 for the bundle with coordinates .
>
|
DGsetup([x, y], [u], E, 3):
|
Define a type (1, 0) form and show that it is -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);
|
Apply the ZigZag command to to obtain a form .
E >
|
theta1 := ZigZag(omega1);
|
| (2.3) |
Check that is -closed and that its [1, 0] component matches .
E >
|
ExteriorDerivative(theta1);
|
E >
|
convert(theta1, DGbiform, [1, 0]);
|
| (2.5) |
Example 2.
Define a type (2, 0) form 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);
|
Apply the ZigZag command to to obtain a 2-form .
E >
|
theta2 := ZigZag(omega2);
|
| (2.8) |
Check that is closed and that its [2, 0] component matches .
E >
|
ExteriorDerivative(theta2);
|
E >
|
convert(theta2, DGbiform, [2, 0]);
|
| (2.10) |
Example 3.
Define a type (2, 1) form and show that .
E >
|
omega3 := EulerLagrange(u[1]*u[2]^2*Dx &w Dy);
|
| (2.11) |
E >
|
IntegrationByParts(VerticalExteriorDerivative(omega3));
|
| (2.12) |
Apply the ZigZag command to to obtain a form .
E >
|
theta3 := ZigZag(omega3);
|
| (2.13) |
Check that is closed and that its [2, 1] component matches
E >
|
ExteriorDerivative(theta3);
|
| (2.14) |
E >
|
convert(theta3, DGbiform, [2, 1]);
|
| (2.15) |
|
|
|