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

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

 • Let  be a fiber bundle and let be the associated bundle of $k-$jets.

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

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

[iii] If the fiber dimension of $E$ is 1 and $X$ is a vector field on which preserves the contact 1-form on ${J}^{1}\left(E\right)$ (under Lie differentiation), then is a contact vector field.

[iv] If $X$ is a vector field on ${J}^{k}\left(E\right)$ 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 ${J}^{k}\left(E\right)$ which projects under $\mathrm{π}$ to the zero vector field on $M$, then is called a vertical generalized vector field or an evolutionary vector on $E.$

[vi] A generalized vector field which annihilates the contact ideal on ${J}^{k}\left(E\right)$ 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 ${J}^{p}\left(E\right)$by the Lie prolongation formula. We call, for example, a vector field on 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  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[]);
 ${\mathrm{X1}}{:=}{A}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}\right){}{\mathrm{D_x}}{+}{B}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}\right){}{\mathrm{D_y}}{+}{C}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}\right){}{{\mathrm{D_u}}}_{\left[\right]}$ (2.1)

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

 J22 > Tools:-DGinfo(X1, "VectorType");
 $\left[{}\right]$ (2.2)

Now assign the vector field a type.

 J22 > newX1 := AssignVectorType(X1);
 ${\mathrm{newX1}}{:=}{A}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}\right){}{\mathrm{D_x}}{+}{B}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}\right){}{\mathrm{D_y}}{+}{C}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}\right){}{{\mathrm{D_u}}}_{\left[\right]}$ (2.3)
 J22 > Tools:-DGinfo(newX1, "VectorType");
 $\left[{"point"}{,}{0}\right]$ (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[]);
 ${\mathrm{X2}}{:=}{A}{}\left({x}{,}{y}\right){}{\mathrm{D_x}}{+}{B}{}\left({x}{,}{y}\right){}{\mathrm{D_y}}{+}{C}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}\right){}{{\mathrm{D_u}}}_{\left[\right]}$ (2.5)
 J22 > newX2 := AssignVectorType(X2);
 ${\mathrm{newX2}}{:=}{A}{}\left({x}{,}{y}\right){}{\mathrm{D_x}}{+}{B}{}\left({x}{,}{y}\right){}{\mathrm{D_y}}{+}{C}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}\right){}{{\mathrm{D_u}}}_{\left[\right]}$ (2.6)
 J22 > Tools:-DGinfo(newX2, "VectorType");
 $\left[{"projectable"}{,}{0}\right]$ (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]));
 ${\mathrm{X3}}{:=}{-}{{S}}_{{{u}}_{{1}}}{}{\mathrm{D_x}}{-}{{S}}_{{{u}}_{{2}}}{}{\mathrm{D_y}}{+}\left({-}{{u}}_{{1}}{}{{S}}_{{{u}}_{{1}}}{-}{{u}}_{{2}}{}{{S}}_{{{u}}_{{2}}}{+}{S}\right){}{{\mathrm{D_u}}}_{\left[\right]}{+}\left({{u}}_{{1}}{}{{S}}_{{{u}}_{\left[\right]}}{+}{{S}}_{{x}}\right){}{{\mathrm{D_u}}}_{{1}}{+}\left({{u}}_{{2}}{}{{S}}_{{{u}}_{\left[\right]}}{+}{{S}}_{{y}}\right){}{{\mathrm{D_u}}}_{{2}}$ (2.8)
 J22 > Tools:-DGinfo(X3, "VectorType");
 $\left[{}\right]$ (2.9)
 J22 > newX3 := AssignVectorType(X3):
 J22 > Tools:-DGinfo(newX3, "VectorType");
 $\left[{"contact"}{,}{1}\right]$ (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[]);
 ${\mathrm{X4}}{:=}{A}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}{,}{{u}}_{{1}}{,}{{u}}_{{2}}\right){}{\mathrm{D_x}}{+}{B}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}{,}{{u}}_{{1}}{,}{{u}}_{{2}}\right){}{\mathrm{D_y}}{+}{C}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}{,}{{u}}_{{1}}{,}{{u}}_{{2}}\right){}{{\mathrm{D_u}}}_{\left[\right]}$ (2.11)
 J22 > newX4 := AssignVectorType(X4):
 J22 > Tools:-DGinfo(newX4, "VectorType");
 $\left[{"generalized"}{,}{0}\right]$ (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);
 ${\mathrm{X4}}{:=}{A}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}{,}{{u}}_{{1}}{,}{{u}}_{{2}}{,}{{u}}_{{1}{,}{1}}{,}{{u}}_{{1}{,}{1}{,}{1}}{,}{{u}}_{{1}{,}{1}{,}{1}{,}{1}}\right){}{\mathrm{D_x}}$ (2.13)
 J22 > newX4 := AssignVectorType(X4):
 J22 > Tools:-DGinfo(newX4, "VectorType");
 $\left[{"generalized"}{,}{0}\right]$ (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[]);
 ${\mathrm{X5}}{:=}{C}{}\left({x}{,}{y}{,}{{u}}_{\left[\right]}{,}{{u}}_{{1}}{,}{{u}}_{{2}}{,}{{u}}_{{1}{,}{1}}{,}{{u}}_{{1}{,}{2}}{,}{{u}}_{{2}{,}{2}}\right){}{{\mathrm{D_u}}}_{\left[\right]}$ (2.15)
 J22 > newX5 := AssignVectorType(X5):
 J22 > Tools:-DGinfo(newX5, "VectorType");
 $\left[{"evolutionary"}{,}{0}\right]$ (2.16)

Case 6. Total vector fields:

 J22 > X6 := evalDG(A*D_x + B*D_y + (A*u[1] + B*u[2])*D_u[]);
 ${\mathrm{X6}}{:=}{A}{}{\mathrm{D_x}}{+}{B}{}{\mathrm{D_y}}{+}\left({A}{}{{u}}_{{1}}{+}{B}{}{{u}}_{{2}}\right){}{{\mathrm{D_u}}}_{\left[\right]}$ (2.17)
 J22 > newX6 := AssignVectorType(X6):
 J22 > Tools:-DGinfo(newX6, "VectorType");
 $\left[{"total"}{,}{0}\right]$ (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]);
 ${\mathrm{X7}}{≔}{{\mathrm{D_u}}}_{{1}}$ (2.19)
 J22 > newX7 := AssignVectorType(X7):
 J22 > Tools:-DGinfo(newX7, "VectorType");
 $\left[{"generic"}{,}{"NA"}\right]$ (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]);
 ${\mathrm{X1}}{≔}{{u}}_{\left[\right]}{}{\mathrm{D_x}}{-}{x}{}{{\mathrm{D_u}}}_{\left[\right]}{-}\left({{u}}_{{1}}^{{2}}{+}{1}\right){}{{\mathrm{D_u}}}_{{1}}{-}{3}{}{{u}}_{{1}}{}{{u}}_{{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}}$ (2.21)

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

 E > Tools:-DGinfo(X1, "VectorType");
 $\left[\right]$ (2.22)

Now assign the vector field a type.

 E > newX1 := AssignVectorType(X1);
 ${\mathrm{newX1}}{≔}{{u}}_{\left[\right]}{}{\mathrm{D_x}}{-}{x}{}{{\mathrm{D_u}}}_{\left[\right]}{-}\left({{u}}_{{1}}^{{2}}{+}{1}\right){}{{\mathrm{D_u}}}_{{1}}{-}{3}{}{{u}}_{{1}}{}{{u}}_{{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}}$ (2.23)
 E > Tools:-DGinfo(newX1, "VectorType");
 $\left[{"point"}{,}{2}\right]$ (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]);
 ${\mathrm{X2}}{≔}{x}{}{\mathrm{D_x}}{+}{{u}}_{{0}}{}{{\mathrm{D_u}}}_{\left[\right]}{-}{{u}}_{{2}}{}{{\mathrm{D_u}}}_{{1}}{-}{2}{}{{u}}_{{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}}{-}{3}{}{{u}}_{{1}{,}{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}{,}{1}}$ (2.25)
 E > newX2 := AssignVectorType(X2);
 ${\mathrm{newX2}}{≔}{x}{}{\mathrm{D_x}}{+}{{u}}_{{0}}{}{{\mathrm{D_u}}}_{\left[\right]}{-}{{u}}_{{2}}{}{{\mathrm{D_u}}}_{{1}}{-}{2}{}{{u}}_{{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}}{-}{3}{}{{u}}_{{1}{,}{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}{,}{1}}$ (2.26)
 E > Tools:-DGinfo(newX2, "VectorType");
 $\left[{"generic"}{,}{"NA"}\right]$ (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]);
 ${\mathrm{X3}}{≔}{-}{2}{}{{u}}_{{1}}{}{\mathrm{D_x}}{+}\left({{x}}^{{2}}{-}{{u}}_{{1}}^{{2}}\right){}{{\mathrm{D_u}}}_{\left[\right]}{+}{2}{}{x}{}{{\mathrm{D_u}}}_{{1}}{+}\left({2}{}{{u}}_{{1}{,}{1}}^{{2}}{+}{2}\right){}{{\mathrm{D_u}}}_{{1}{,}{1}}{+}{6}{}{{u}}_{{2}}{}{{u}}_{{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}}$ (2.28)
 E > newX3 := AssignVectorType(X3);
 ${\mathrm{newX3}}{≔}{-}{2}{}{{u}}_{{1}}{}{\mathrm{D_x}}{+}\left({{x}}^{{2}}{-}{{u}}_{{1}}^{{2}}\right){}{{\mathrm{D_u}}}_{\left[\right]}{+}{2}{}{x}{}{{\mathrm{D_u}}}_{{1}}{+}\left({2}{}{{u}}_{{1}{,}{1}}^{{2}}{+}{2}\right){}{{\mathrm{D_u}}}_{{1}{,}{1}}{+}{6}{}{{u}}_{{2}}{}{{u}}_{{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}}$ (2.29)
 E > Tools:-DGinfo(newX3, "VectorType");
 $\left[{"generic"}{,}{"NA"}\right]$ (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]);
 ${\mathrm{X4}}{≔}{{u}}_{{1}{,}{1}}{}{\mathrm{D_x}}{-}{{u}}_{{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{\left[\right]}{-}\left({{u}}_{{1}}{}{{u}}_{{1}{,}{1}{,}{1}}{+}{{u}}_{{1}{,}{1}{,}{1}{,}{1}}\right){}{{\mathrm{D_u}}}_{{1}}$ (2.31)
 E > newX4 := AssignVectorType(X4):
 E > Tools:-DGinfo(newX4, "VectorType");
 $\left[{"generalized"}{,}{1}\right]$ (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]);
 ${\mathrm{X5}}{:=}{{u}}_{{1}{,}{1}}{}{{\mathrm{D_u}}}_{\left[\right]}{+}{{u}}_{{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}}{+}{{u}}_{{1}{,}{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}}{+}{{u}}_{{1}{,}{1}{,}{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}}{+}{{u}}_{{1}{,}{1}{,}{1}{,}{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}{,}{1}}{+}{{u}}_{{1}{,}{1}{,}{1}{,}{1}{,}{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}{,}{1}{,}{1}{,}{1}}$ (2.33)
 E > newX5 := AssignVectorType(X5):
 E > Tools:-DGinfo(newX5, "VectorType");
 $\left[{"generic"}{,}{"NA"}\right]$ (2.34)

Case 6.  A prolonged total vector field:

 E > X6 := Prolong(D_x + u[1]*D_u[], 3);
 ${\mathrm{X6}}{:=}{\mathrm{D_x}}{+}{{u}}_{{1}}{}{{\mathrm{D_u}}}_{\left[\right]}{+}{{u}}_{{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}}{+}{{u}}_{{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}}{+}{{u}}_{{1}{,}{1}{,}{1}{,}{1}}{}{{\mathrm{D_u}}}_{{1}{,}{1}{,}{1}}$ (2.35)
 E > newX6 := AssignVectorType(X5):
 E > Tools:-DGinfo(newX6, "VectorType");
 $\left[{"generic"}{,}{"NA"}\right]$ (2.36)
 E >