convert routines of the DifferentialGeometry package
Calling Sequence
Parameters
Description
Examples
convert(A, DGArray)
convert(B, DGvector)
convert(C, DGform)
convert(C, DGspinor)
convert(E, DGtensor)
convert(F, DGjet)
convert(F, DGdiff)
convert(G, DGbiform, bidegree)
A
-
a tensor
B
a Matrix, a tensor, or the infinitesimal symmetry generators for a system of differential equations, as calculated by PDEtools:-Infinitesimals
C
a differential form or a differential biform
E
an Array, a vector, a differential form, or a spinor-tensor
F
a Maple expression
G
a differential form
convert(A, DGArray) converts a rank r tensor A to an r-dimensional array. For example, if A= a * dx1 &t dx2 &t dx3 and T = convert(A, DGArray), then T[1, 2, 3] = a and all other entries of T are 0.
If B is a square matrix, then convert(B, DGvector) returns a linear vector field.
If B is a a rank 1 contravariant tensor, then convert(B, DGvector) returns the corresponding vector field.
If B is a list of infinitesimal symmetry generators for a system of differential equations, as calculated by PDEtools:-Infinitesimals, then convert(B, DGvector) returns a list of vector fields.
If C is a rank 1 covariant tensor, then convert(B, DGform) returns a differential 1-form.
If C is a differential biform, that is, a form expressed in terms of the contact forms on a jet space, then convert(C, DGform) returns the differential form on jet space obtained by replacing the contact forms by their coordinate formulas.
If E is a spin-tensor, then convert(E, DGspinor, sigma, indexlist) converts tensorial indices of E to pairs of spinorial indices.
If E is an Array, then convert(E, DGtensor, indextype) converts E to an r-dimensional array.
If E is a vector field, then convert(E, DGtensor) converts E to a rank 1 contravariant tensor.
If E is a differential p-form, then convert(E, DGtensor) converts E to a rank p contravariant tensor.
If E is a spinor-tensor, convert(E, DGtensor, sigma, indexlist) converts pairs of spinorial indices of E to tensorial indices.
convert(F, DGjet) converts a Maple expression F involving the Maple command diff, applied to functions u(x, y, z, ...), v(x, y, z, ...), ... to the standard indexed notation for derivatives, for example, diff(u(x, y, z), x) -> u[1], diff(u(x, y, z), x, y, z, z) -> u[1, 2, 3, 3] etc.
convert(F, DGdiff) performs the inverse to the conversion command convert/DGjet: it converts expressions F involving the indexed notation for derivatives to expressions containing the Maple diff command.
convert(G, DGbiform) converts a differential p-form G, defined on a jet space J^k(M, N) , into a list of (p + 1)-biforms, Theta = [theta_0, theta_1, theta_2, .. theta_p], where theta_k has contact degree k, and G = theta_0 + theta_1 + theta_2 + ... + theta_p.
convert/DGArray
with⁡DifferentialGeometry:
Example 1.
We define a manifold M with coordinates [x, y, z]. On M we define two tensors T1 and T2. We convert these tensors to a Maple Array
DGsetup⁡x,y,z,M:
T1 ≔ evalDG⁡D_z &t D_x+D_x &t D_y
_DG⁡tensor,M,con_bas,con_bas,,1,2,1,3,1,1
T2 ≔ evalDG⁡2⁢dx &t D_x &t dy+dz &t D_z &t dx
_DG⁡tensor,M,cov_bas,con_bas,cov_bas,,1,1,2,2,3,3,1,1
A1 ≔ convert⁡T1,DGArray
010000100
A2 ≔ convert⁡T2,DGArray
A21,1,2
2
convert/DGvector
with⁡DifferentialGeometry:with⁡Tensor:
We define a manifold M with coordinates [x, y, z]. We convert a matrix to a linear vector field.
A ≔ Matrix⁡1,0,1,0,2,0,0,3,0
101020030
convert⁡A,DGvector
_DG⁡vector,M,,1,x+z,2,2⁢y,3,3⁢y
Example 2.
We define a manifold M with coordinates [x, y, z]. On M we define two tensors T1 and T2 and contract the 1st and 3rd indices of T1 against the 1st and second indices of T2. The result is a contravariant rank 1 tensor S on M. We then convert S to a vector field X.
T1 ≔ evalDG⁡2⁢dx &t D_x &t dy+dz &t D_z &t dx
T2 ≔ evalDG⁡D_z &t D_x+D_x &t D_y
S ≔ ContractIndices⁡T1,T2,1,1,3,2
_DG⁡tensor,M,con_bas,,1,2,3,1
X ≔ convert⁡S,DGvector
_DG⁡vector,M,,1,2,3,1
Tools:-DGinfo⁡S,ObjectType,Tools:-DGinfo⁡X,ObjectType
tensor,vector
lprint⁡S,lprint⁡X
_DG([["tensor", M, [["con_bas"], []]], [[[1], 2], [[3], 1]]]) _DG([["vector", M, []], [[[1], 2], [[3], 1]]])
Example 3.
We use the PDEtools:-Infinitesimals program to find the infinitesimals symmetries of a system of differential equations. We convert the output of this program, which lists of the components of the infinitesimal symmetries, to a list of vector fields on the manifold of independent and dependent variables.
DE ≔ ∂2∂y⁢∂x⁢u⁡x,y=v⁡x,y2,∂2∂x2⁢v⁡