JetCalculus[ZigZag] - lift a dH-closed form on a jet space to a d-closed form
ω - a differential bi-form on the jet space of a fiber bundle
Let π:E→M be a fiber bundle, with base dimension n and fiber dimension m and let π∞:J∞E → M be the infinite jet bundle of E. The space of p-forms on J∞E decomposes as a direct sum of bi-forms
ΩpJ∞ = ⨁r+s =p Ωr,sJ∞E.
Let ω ∈ Ωr,sJ∞E be a bi-form of degree r,s. I f r <n , suppose that dH ω=0 or, if r= n, that IdV ω = 0. See HorizontalExteriorDerivative, VerticalExteriorDerivative, and IntegrationByParts for the definitions of the space Ωr,sJ∞E, the horizontal exterior derivative dH, the vertical exterior derivative dV, and the integration by parts operator I.
Given that dH ω=0 or IdV ω = 0, define a degree p=r+s form θ ∈ ΩpJ∞ by
θ = θ0 − θ1 +θ2−⋅⋅⋅ +θr where θ0 = ω and dVθi=dHθi+1.
The forms θi are of bi-degree r−i, s+i. The forms θi can be calculated inductively using the horizontal homotopy operators θi+1= hHr−i, s+i+1dVθi. The fundamental property of this construction is that the form θ is always closed with respect to the standard exterior derivative, that is, dθ = 0.
If ω is a bi-form of degree r,s,then ZigZag(ω) returns the differential form θ of degree 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(...).
Create the jet space J3Efor the bundle E= ℝ2 ×ℝ with coordinates x,y,u→x,y.
DGsetup([x, y], [u], E, 3):
Define a type (1, 0) form ω1 and show that it is dH -closed.
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);
Apply the ZigZag command to ω1 to obtain a form θ1.
theta1 := ZigZag(omega1);
Check that θ1 is d-closed and that its [1, 0] component matches ω1.
convert(theta1, DGbiform, [1, 0]);
Define a type (2, 0) form ω2 and show that its Euler-Lagrange form is 0.
omega2 := evalDG((- u[2, 2]*u[1, 2] - u*u[1, 2, 2] - u*u[1, 2, 2] - u[1, 2]^2)*Dx &w Dy);
Apply the ZigZag command to ω2 to obtain a 2-form θ2.
theta2 := ZigZag(omega2);
Check that θ2 is d−closed and that its [2, 0] component matches ω2.
convert(theta2, DGbiform, [2, 0]);
Define a type (2, 1) form ω3 and show that IdVω3 =0.
omega3 := EulerLagrange(u*u^2*Dx &w Dy);
Apply the ZigZag command to ω3 to obtain a form θ3.
theta3 := ZigZag(omega3);
Check that θ3 is d−closed and that its [2, 1] component matches ω3.
convert(theta3, DGbiform, [2, 1]);
Download Help Document
What kind of issue would you like to report? (Optional)