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 Associated to any distribution are two increasing nested sequences of distributions called the derived flag and the weak derived flag . They are defined inductively by:
|
= = [ + = [+
and:
= = [ + = [+ .
•
|
These distributions satisfy and [ and, likewise, and [. Note that 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 systemgenerated by the 1 forms mod . If is the distribution annihilated by , that is, if ann(, then ann(. The derived flag of is defined inductively by and .
|
•
|
The command DerivedFlag returns a list of lists of vector fields or a list of lists of 1-forms. The first list is always the original list of vector fields or 1-forms specified in the calling sequence and or . The computation of the derived flag terminates at or if or . If the last differential system in the derived flag for a Pfaffian system is then an empty list is given.
|
|
|
|
|
|
Examples
>
|
with(DifferentialGeometry): with(ExteriorDifferentialSystems):
|
Example 1.
In this example, we calculate the derived flags for the standard contact system on the jet space . First, we introduce the coordinates that are needed.
>
|
DGsetup([x, y, y1, y2, y3, y4], M);
|
Here are the 1-form generators for the contact system.
M >
|
Theta := evalDG([dy - y1*dx, dy1 - y2*dx, dy2 - y3*dx, dy3 - y4*dx]);
|
| (2) |
Here is the derived flag.
M >
|
DF1 := DerivedFlag(Theta);
|
| (3) |
We see that the rank of the differential systems in the derived flag decreases by one at each iteration.
| (4) |
Here is the distribution defined by as the annihilator of the contact system.
M >
|
A := Annihilator(Theta);
|
| (5) |
The command CanonicalBasis can be used to simplify this output.
M >
|
A := Tools:-CanonicalBasis(A);
|
| (6) |
Here is the derived flag for the distribution
M >
|
DF2 := DerivedFlag(A);
|
| (7) |
We see that the rank of the distributions in the derived flag increases by one at each iteration.
| (8) |
Here is the weak derived flag. In this simple example, the derived flag and weak derived flag coincide.
M >
|
DerivedFlag(A, flagtype = "WeakDerivedFlag");
|
| (9) |
Example 2
In this example, we calculate the derived flag for the Pfaffian system defined by the underdetermined ODE .
M >
|
DGsetup([x, z, z1, y, y1, y2], M2);
|
The generators for the Pfaffian system are:
M2 >
|
Theta := evalDG([dy - y1*dx, dy1 - y2*dx, dz - z1*dx, dz1 - y2^2*dx]);
|
| (11) |
M2 >
|
DF := DerivedFlag(Theta);
|
| (12) |
Notice that the rank of second derived system is two less than that of the first derived system.
| (13) |
|