assign a type (one of contact, evolutionary, generalized, generic, point, projectable, total) to a vector field - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : DifferentialGeometry : JetCalculus : DifferentialGeometry/JetCalculus/AssignVectorType

JetCalculus[AssignVectorType] - assign a type (one of contact, evolutionary, generalized, generic, point, projectable, total) to a vector field

Calling Sequences

     AssignVectorType(X)

Parameters

     X         - a vector field on a jet space

 

Description

Examples

Description

• 

Let π:EM  be a fiber bundle and let πk:JkE M be the associated bundle of kjets.

[i] A vector field X on E is called a point vector field.

[ii] If X is a point vector field which projects under πto a vector field on M, then X is called a projectable vector field.

[iii] If the fiber dimension of E is 1 and X is a vector field on J1E which preserves the contact 1-form on J1E (under Lie differentiation), then X is a contact vector field.

[iv] If X is a vector field on JkE which takes values in the tangent space of E, then X is called a generalized vector field on X (also called a Lie-Backlund vector field or a dynamical vector field).

[v] If X is a generalized vector field on JkE which projects under π to the zero vector field on M, then X is called a vertical generalized vector field or an evolutionary vector on E.

[vi] A generalized vector field which annihilates the contact ideal on JkE is called a total vector field.

[vii] A vector field not of the types [i]--[vi] or a prolongation of such is labeled generic.

• 

 The command AssignVectorType(X) returns the vector field X, but with internal representation of X changed to encode its vector type. The type of a vector and its prolongation order can be determined by the command DGinfo with the keyword "VectorType".

• 

Any of the vector fields [i]--[vi] admit a unique lift to a vector field with values in JpEby the Lie prolongation formula. We call, for example, a vector field on JpE obtained from the prolongation of a point vector field a prolonged point vector field. See Prolong for further information.

• 

Explicit coordinate formulas for each of these types of vector fields in the case E =ℝ2×ℝ ℝ2 are presented in Example 1.

• 

The type of a vector field and its prolongation order can be determined by the command DGinfo with keyword "VectorType".

• 

The command AssignVectorType is part of the DifferentialGeometry:-JetCalculus package. It can be used in the form AssignVectorType(...) only after executing the commands with(DifferentialGeometry) and with(JetCalculus), but can always be used by executing DifferentialGeometry:-JetCalculus:-AssignVectorType(...).

Examples

with(DifferentialGeometry): with(JetCalculus):

 

Example 1.

First initialize the jet space for two independent variables and one dependent variable and prolong it to order 4.

DGsetup([x, y], [u], J22, 4):

 

Case 1. Point vector fields:

J22 > 

X1 := evalDG(A(x, y, u[])*D_x + B(x, y, u[])*D_y + C(x, y, u[])*D_u[]);

X1:=Ax,y,uD_x+Bx,y,uD_y+Cx,y,uD_u

(2.1)

 

When a vector field is first defined, it is not given a type.

J22 > 

Tools:-DGinfo(X1, "VectorType");

(2.2)

 

Now assign the vector field a type.

J22 > 

newX1 := AssignVectorType(X1);

newX1:=Ax,y,uD_x+Bx,y,uD_y+Cx,y,uD_u

(2.3)
J22 > 

Tools:-DGinfo(newX1, "VectorType");

point,0

(2.4)

 

This indicates that the vector field is a point vector field, the 0 indicates that the vector field has not been prolonged to a jet space.

 

Case 2. Projectable vector fields:

J22 > 

X2 := evalDG(A(x, y)*D_x + B(x, y)*D_y + C(x, y, u[])*D_u[]);

X2:=Ax,yD_x+Bx,yD_y+Cx,y,uD_u

(2.5)
J22 > 

newX2 := AssignVectorType(X2);

newX2:=Ax,yD_x+Bx,yD_y+Cx,y,uD_u

(2.6)
J22 > 

Tools:-DGinfo(newX2, "VectorType");

projectable,0

(2.7)

 

Case 3. Contact vector fields:

The command GeneratingFunctionToContactVector always returns a contact vector field.

J22 > 

PDEtools[declare](S(x, y, u[], u[1], u[2]), quiet);

J22 > 

X3 := GeneratingFunctionToContactVector(S(x, y, u[], u[1], u[2]));

X3:=Su1D_xSu2D_y+u1Su1u2Su2+SD_u+u1Su+SxD_u1+u2Su+SyD_u2

(2.8)
J22 > 

Tools:-DGinfo(X3, "VectorType");

(2.9)
J22 > 

newX3 := AssignVectorType(X3):

J22 > 

Tools:-DGinfo(newX3, "VectorType");

contact,1

(2.10)

 

Case 4. Generalized vector fields:

J22 > 

vars := x, y, u[], u[1], u[2]:

J22 > 

X4 := evalDG(A(vars)*D_x + B(vars)*D_y + C(vars)*D_u[]);

X4:=Ax,y,u,u1,u2D_x+Bx,y,u,u1,u2D_y+Cx,y,u,u1,u2D_u

(2.11)
J22 > 

newX4 := AssignVectorType(X4):

J22 > 

Tools:-DGinfo(newX4, "VectorType");

generalized,0

(2.12)

 

Generalized vector fields may depend upon higher order jet variables. For example:

J22 > 

vars := x, y, u[], u[1], u[2], u[1, 1], u[1, 1, 1], u[1, 1, 1, 1]:

J22 > 

X4 := evalDG(A(vars)*D_x);

X4:=Ax,y,u,u1,u2,u1,1,u1,1,1,u1,1,1,1D_x

(2.13)
J22 > 

newX4 := AssignVectorType(X4):

J22 > 

Tools:-DGinfo(newX4, "VectorType");

generalized,0

(2.14)

 

Case 5. Evolutionary vector fields:

J22    > 

vars := x, y, u[], u[1], u[2], u[1, 1], u[1, 2], u[2, 2]:

J22 > 

X5 := evalDG(C(vars)*D_u[]);

X5:=Cx,y,u,u1,u2,u1,1,u1,2,u2,2D_u

(2.15)
J22 > 

newX5 := AssignVectorType(X5):

J22 > 

Tools:-DGinfo(newX5, "VectorType");

evolutionary,0

(2.16)

 

Case 6. Total vector fields:

J22 > 

X6 := evalDG(A*D_x + B*D_y + (A*u[1] + B*u[2])*D_u[]);

X6:=AD_x+BD_y+Au1+Bu2D_u

(2.17)
J22 > 

newX6 := AssignVectorType(X6):

J22 > 

Tools:-DGinfo(newX6, "VectorType");

total,0

(2.18)

 

Case 7. Generic vector fields:

A generic vector field cannot be prolonged--the order of prolongation is therefore declared to be "NA" (Not Applicable).

J22 > 

X7 := evalDG(D_u[1]);

X7D_u1

(2.19)
J22 > 

newX7 := AssignVectorType(X7):

J22 > 

Tools:-DGinfo(newX7, "VectorType");

generic,NA

(2.20)

 

Example 2.

Here we give examples of prolonged vector fields of the various types. First initialize the jet space for one independent variable and one dependent variable and prolong it to order 4.

J22 > 

DGsetup([x], [u], E, 7):

 

Case 1. A prolonged point vector field.

E > 

X1 := evalDG(u[]*D_x - x*D_u[] + (- 1 - u[1]^2)*D_u[1] - 3*u[1]*u[1,1]*D_u[1, 1]);

X1uD_xxD_uu12+1D_u13u1u1,1D_u1,1

(2.21)

 

When a vector field is first defined, it is not given a type.

E > 

Tools:-DGinfo(X1, "VectorType");

(2.22)

 

Now assign the vector field a type.

E > 

newX1 := AssignVectorType(X1);

newX1uD_xxD_uu12+1D_u13u1u1,1D_u1,1

(2.23)
E > 

Tools:-DGinfo(newX1, "VectorType");

point,2

(2.24)

 

This indicates that the vector field is a prolonged point vector field, the 2 indicates that the vector field has been prolonged from the space E (of independent and dependent variables) to the 2nd jet space.

 

Case 2. A prolonged projectable vector field: ???XXX  I get "generic"

E > 

X2 := evalDG(x*D_x + u[0]*D_u[] - u[2]*D_u[1] - 2*u[1,1,1]*D_u[1,1,1] - 3*u[1,1,1,1]*D_u[1,1,1,1]);

X2xD_x+u0D_uu2D_u12u1,1,1D_u1,1,13u1,1,1,1D_u1,1,1,1

(2.25)
E > 

newX2 := AssignVectorType(X2);

newX2xD_x+u0D_uu2D_u12u1,1,1D_u1,1,13u1,1,1,1D_u1,1,1,1

(2.26)
E > 

Tools:-DGinfo(newX2, "VectorType");

generic,NA

(2.27)

 

Case 3. A prolonged contact vector field: ???XXX

E > 

X3 := evalDG(- 2*u[1]*D_x + (- u[1]^2 + x^2)*D_u[] + 2*x*D_u[1] + (2 + 2*u[1,1]^2)*D_u[1, 1] + 6*u[2]*u[1, 1, 1]*D_u[1, 1, 1]);

X32u1D_x+x2u12D_u+2xD_u1+2u1,12+2D_u1,1+6u2u1,1,1D_u1,1,1

(2.28)
E > 

newX3 := AssignVectorType(X3);

newX32u1D_x+x2u12D_u+2xD_u1+2u1,12+2D_u1,1+6u2u1,1,1D_u1,1,1

(2.29)
E > 

Tools:-DGinfo(newX3, "VectorType");

generic,NA

(2.30)

 

Case 4. A prolonged generalized vector field:

E > 

X4 := evalDG(u[1,1]*D_x - u[1, 1, 1]*D_u[] + (- u[1, 1, 1, 1] - u[1]*u[1, 1, 1])*D_u[1]);

X4u1,1D_xu1,1,1D_uu1u1,1,1+u1,1,1,1D_u1

(2.31)
E > 

newX4 := AssignVectorType(X4):

E > 

Tools:-DGinfo(newX4, "VectorType");

generalized,1

(2.32)

 

Case 5. A prolonged evolutionary vector field:

E > 

X5 := evalDG(u[1, 1]*D_u[] + u[1 ,1, 1]*D_u[1] + u[1, 1, 1, 1]*D_u[1,1] + u[1,1,1,1,1]*D_u[1, 1, 1] + u[1, 1, 1, 1, 1, 1]*D_u[1, 1, 1, 1] + u[1, 1, 1, 1, 1, 1, 1]*D_u[1, 1, 1, 1, 1, 1]);

X5:=u1,1D_u+u1,1,1D_u1+u1,1,1,1D_u1,1+u1,1,1,1,1D_u1,1,1+u1,1,1,1,1,1D_u1,1,1,1+u1,1,1,1,1,1,1D_u1,1,1,1,1,1

(2.33)
E > 

newX5 := AssignVectorType(X5):

E > 

Tools:-DGinfo(newX5, "VectorType");

generic,NA

(2.34)

 

Case 6.  A prolonged total vector field:

E > 

X6 := Prolong(D_x + u[1]*D_u[], 3);

X6:=D_x+u1D_u+u1,1D_u1+u1,1,1D_u1,1+u1,1,1,1D_u1,1,1

(2.35)
E > 

newX6 := AssignVectorType(X5):

E > 

Tools:-DGinfo(newX6, "VectorType");

generic,NA

(2.36)
E > 

 

See Also

DifferentialGeometry

JetCalculus

AssignTransformationType

DGinfo

GeneratingFunctionToContactVector

Prolong