DerivedFlag - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


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

(1)

 

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]);

Θy1dx+dy,y2dx+dy1,y3dx+dy2,y4dx+dy3

(2)

 

Here is the derived flag.

M > 

DF1 := DerivedFlag(Theta);

DF1y1dx+dy,y2dx+dy1,y3dx+dy2,y4dx+dy3,y3dx+dy2,y2dx+dy1,y1dx+dy,y1dx+dy,y2dx+dy1,y1dx+dy,

(3)

 

We see that the rank of the differential systems in the derived flag decreases by one at each iteration.

M > 

map(nops, DF1);

4,3,2,1,0

(4)

 

Here is the distribution defined by as the annihilator of the contact system.

M > 

A := Annihilator(Theta);

AD_y4,1y4D_x+y1y4D_y+y2y4D_y1+y3y4D_y2+D_y3

(5)

 

The command CanonicalBasis can be used to simplify this output.

M > 

A := Tools:-CanonicalBasis(A);

AD_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4

(6)

 

Here is the derived flag for the distribution A.

M > 

DF2 := DerivedFlag(A);

DF2D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_y3,D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_y3,D_y2,D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_y3,D_y2,D_y1,D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_y3,D_y2,D_y1,D_y

(7)

 

We see that the rank of the distributions in the derived flag increases by one at each iteration.

M > 

map(nops, DF2);

2,3,4,5,6

(8)

 

Here is the weak derived flag. In this simple example, the derived flag and weak derived flag coincide.

M > 

DerivedFlag(A, flagtype = "WeakDerivedFlag");

D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_y3,D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_y3,D_y2,D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_y3,D_y2,D_y1,D_x+y1D_y+y2D_y1+y3D_y2+y4D_y3,D_y4,D_y3,D_y2,D_y1,D_y

(9)

 

Example 2

In this example, we calculate the derived flag for the Pfaffian system defined by the underdetermined ODE  z''= y''2.

 

M > 

DGsetup([x, z, z1, y, y1, y2], M2);

frame name: M2

(10)

 

The generators for the Pfaffian system are:

M2 > 

Theta := evalDG([dy - y1*dx, dy1 - y2*dx, dz - z1*dx, dz1 - y2^2*dx]);

Θy1dx+dy,y2dx+dy1,z1dx+dz,y22dx+dz1

(11)
M2 > 

DF := DerivedFlag(Theta);

DFy1dx+dy,y2dx+dy1,z1dx+dz,y22dx+dz1,z1dx+dz,y1dx+dy,y22dx+dz12y2dy1,2y1y2z12y2dx12y2dz+dy,

(12)

 

Notice that the rank of second derived system is two less than that of the first derived system.

M2 > 

map(nops,DF);

4,3,1,0

(13)