DerivedFlag - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

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)