ExteriorDifferentialSystems[DerivedFlag] - calculate the derived flag for a distribution of vector fields or a Pfaffian differential system
Calling Sequences
DerivedFlag(A, options)
DerivedFlag(Theta, options)
Parameters
A - a list of vector fields on a manifold M, defining a distribution
Theta - a lists of 1-forms on a manifold M, defining the (differential) generators for a Pfaffian differential system
options - (optional keyword arguments) flagtype = "WeakDerivedFlag"
Description
In differential geometry a distribution is a set of vector fields 𝒜 defined on a manifold M. Associated to any distribution 𝒜 are two increasing nested sequences of distributions called the derived flag 𝒟i and the weak derived flag 𝒲i. They are defined inductively by:
𝒟0 = 𝒜 , 𝒟1 = [𝒟0 , 𝒟0] + 𝒟0 , ..., 𝒟i+1 = [𝒟i , 𝒟i] + 𝒟i
and:
𝒲0 = 𝒜 , 𝒲1 = [𝒲0 , 𝒲0] + 𝒲0 , ..., 𝒲i+1 = [𝒲0 , 𝒲i] + 𝒲i .
These distributions satisfy 𝒟i ⊂ 𝒟i+1 and [𝒟i , 𝒟j]⊂𝒟i+j and, likewise, 𝒲i ⊂𝒲 i+1 and [𝒲i , 𝒲j]⊂𝒲i+j. Note that 𝒟1= 𝒲1 − these are called the derived distribution of 𝒜 and are often denoted by𝒜 ' .
Let ℐ be a Pfaffian differential system generated by a space of 1-forms Θ. Then the derived differential system of ℐ is the Pfaffian system ℐ' generated by the 1 forms Θ' = {θ | dθ ≡ 0 mod Θ}. If 𝒜 is the distribution annihilated by Θ, that is, if 𝒜 = ann(Θ), then Θ' = ann(𝒜'). The derived flag of ℐ is defined inductively by ℐ1 = ℐ' and ℐi+1 = ℐi' .
The command DerivedFlag returns a list DF of lists of vector fields or a list of lists of 1-forms. The first list DF1 is always the original list of vector fields or 1-forms specified in the calling sequence and DFℓ = 𝒟ℓ−1 or = ℐℓ−1. The computation of the derived flag terminates at 𝒟ℓ, 𝒲 ℓ, or ℐℓ if 𝒟ℓ = 𝒟ℓ+1, 𝒲 ℓ = 𝒲 ℓ +1or ℐℓ = ℐℓ+1 . If the last differential system in the derived flag for a Pfaffian system ℐ is 0, then an empty list is given.
See Also
DifferentialGeometry
LieBracket
ExteriorDerivative
SymbolAlgebra
Examples
with(DifferentialGeometry): with(ExteriorDifferentialSystems):
Example 1.
In this example, we calculate the derived flags for the standard contact system ℐ on the jet space J4ℝ, ℝ . First, we introduce the coordinates that are needed.
DGsetup([x, y, y1, y2, y3, y4], M);
frame name: M
Here are the 1-form generators for the contact system.
Theta := evalDG([dy - y1*dx, dy1 - y2*dx, dy2 - y3*dx, dy3 - y4*dx]);
Θ≔−y1⁢dx+dy,−y2⁢dx+dy1,−y3⁢dx+dy2,−y4⁢dx+dy3
Here is the derived flag.
DF1 := DerivedFlag(Theta);
DF1≔−y1⁢dx+dy,−y2⁢dx+dy1,−y3⁢dx+dy2,−y4⁢dx+dy3,−y3⁢dx+dy2,−y2⁢dx+dy1,−y1⁢dx+dy,−y1⁢dx+dy,−y2⁢dx+dy1,−y1⁢dx+dy,
We see that the rank of the differential systems in the derived flag decreases by one at each iteration.
map(nops, DF1);
4,3,2,1,0
Here is the distribution defined by as the annihilator of the contact system.
A := Annihilator(Theta);
A≔D_y4,1y4⁢D_x+y1y4⁢D_y+y2y4⁢D_y1+y3y4⁢D_y2+D_y3
The command CanonicalBasis can be used to simplify this output.
A := Tools:-CanonicalBasis(A);
A≔D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4
Here is the derived flag for the distribution A.
DF2 := DerivedFlag(A);
DF2≔D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,−D_y3,D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,−D_y3,D_y2,D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,−D_y3,D_y2,−D_y1,D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,−D_y3,D_y2,−D_y1,D_y
We see that the rank of the distributions in the derived flag increases by one at each iteration.
map(nops, DF2);
2,3,4,5,6
Here is the weak derived flag. In this simple example, the derived flag and weak derived flag coincide.
DerivedFlag(A, flagtype = "WeakDerivedFlag");
D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,−D_y3,D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,−D_y3,D_y2,D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,−D_y3,D_y2,−D_y1,D_x+y1⁢D_y+y2⁢D_y1+y3⁢D_y2+y4⁢D_y3,D_y4,−D_y3,D_y2,−D_y1,D_y
Example 2
In this example, we calculate the derived flag for the Pfaffian system defined by the underdetermined ODE z''= y''2.
DGsetup([x, z, z1, y, y1, y2], M2);
frame name: M2
The generators for the Pfaffian system are:
Theta := evalDG([dy - y1*dx, dy1 - y2*dx, dz - z1*dx, dz1 - y2^2*dx]);
Θ≔−y1⁢dx+dy,−y2⁢dx+dy1,−z1⁢dx+dz,−y22⁢dx+dz1
DF := DerivedFlag(Theta);
DF≔−y1⁢dx+dy,−y2⁢dx+dy1,−z1⁢dx+dz,−y22⁢dx+dz1,−z1⁢dx+dz,−y1⁢dx+dy,y22⁢dx+dz1−2⁢y2⁢dy1,−2⁢y1⁢y2−z12⁢y2⁢dx−12⁢y2⁢dz+dy,
Notice that the rank of second derived system is two less than that of the first derived system.
map(nops,DF);
4,3,1,0
Download Help Document