DifferentialGeometry
Transformation
create a transformation or mapping from one manifold to another
Calling Sequence
Parameters
Description
Examples
Transformation(M, N, Eq)
Transformation(M, N, A)
M
-
an unassigned Maple name or string, the domain for the transformation
N
an unassigned Maple name or string, the range for the transformation
Eq
a list of equations specifying each range variable as a function of the domain variables
A
a Matrix
The Transformation command creates an internal data structure for a mapping between two frames. This internal data structure contains information regarding the transformation (domain, range, prolongation order, transformation type (projectable, point, contact, differential substitution etc.), and the Jacobian of the transformation). Once a mapping between frames has been encoded using the Transformation command, the mapping can then be using to transform vectors, differential forms and tensors using the Pushforward, Pullback, and PushPullTensor commands in the DifferentialGeometry package and in the Tensor subpackage.
If M and N are the names of initialized Lie algebras, then the second calling sequence can be used to define a linear transformation from M to N with matrix representation A.
This command is part of the DifferentialGeometry package, and so can be used in the form Transformation(...) only after executing the command with(DifferentialGeometry). It can always be used in the long form DifferentialGeometry:-Transformation.
with⁡DifferentialGeometry:
Define 4 different manifolds:
DGsetup⁡t,R:DGsetup⁡x,y,M:DGsetup⁡u,v,N:DGsetup⁡r,θ,P:DGsetup⁡x,y,z,Q:
Example 1.
Define a transformation from R to Q, that is, the parametric representation of a space-curve.
T1≔Transformation⁡R,Q,x=2⁢t⁢sin⁡t,y=3⁢t⁢cos⁡t,z=tt+1
T1≔x=2⁢t⁢sin⁡t,y=3⁢t⁢cos⁡t,z=tt+1
Example 2.
Define a transformation presenting the mapping in the complex plane z -> w = z^3.
w≔evalc⁡x+I⁢y3
w≔I⁢3⁢x2⁢y−y3+x3−3⁢x⁢y2
We use the real and imaginary parts of w to define the components of the transformation. We can set up the transformation as a map from M to N or as a map from M to itself.
T2≔Transformation⁡M,N,u=evalc⁡ℜ⁡w,v=evalc⁡ℑ⁡w
T2≔u=x3−3⁢x⁢y2,v=3⁢x2⁢y−y3
T3≔Transformation⁡M,M,x=evalc⁡ℜ⁡w,y=evalc⁡ℑ⁡w
T3≔x=x3−3⁢x⁢y2,y=3⁢x2⁢y−y3
Example 3.
Define a transformation encoding the change from polar to Cartesian coordinates.
T4≔Transformation⁡P,M,x=r⁢cos⁡θ,y=r⁢sin⁡θ
T4≔x=r⁢cos⁡θ,y=r⁢sin⁡θ
Example 4.
Define a transformation from P to Q which parameterizes the hyperboloid of revolution z^2 = 1 + x^2 + y^2.
T5≔Transformation⁡P,Q,x=r⁢cos⁡θ,y=r⁢θ,z=sqrt⁡1+x2
T5≔x=r⁢cos⁡θ,y=r⁢θ,z=x2+1
Example 5.
Define the canonical projection map [x, y, z] -> [x, y] from Q to M.
T6≔Transformation⁡Q,M,x=x,y=y
T6≔x=x,y=y
Example 6.
The command DGinfo can be used to access various attributes of a transformation.
T2
u=x3−3⁢x⁢y2,v=3⁢x2⁢y−y3
Tools:-DGinfo⁡T2,DomainFrame
Tools:-DGinfo⁡T2,RangeFrame
Tools:-DGinfo⁡T2,JacobianMatrix
3⁢x2−3⁢y2−6⁢x⁢y6⁢x⁢y3⁢x2−3⁢y2
Example 7.
Where an adapted frame is used, the Jacobian is computed relative to that frame. Here is a simple example:
ChangeFrame⁡M
Q
Fr≔D_x+y⁢D_y,D_y
Fr≔D_y⁢y+D_x,D_y
FrData≔FrameData⁡Fr,M1
FrData≔E1,E2=−E2
DGsetup⁡FrData,verbose
The following coordinates have been protected:
x,y
The following vector fields have been defined and protected:
E1,E2
The following differential 1-forms have been defined and protected:
Θ1,Θ2
frame name: M1
T7≔Transformation⁡M,M,x=2⁢x+y,y=−x+3⁢y
T7≔x=2⁢x+y,y=−x+3⁢y
J7≔Tools:-DGinfo⁡T7,JacobianMatrix
J7≔21−13
T8≔Transformation⁡M,M1,x=2⁢x+y,y=−x+3⁢y
T8≔x=2⁢x+y,y=−x+3⁢y
J8≔Tools:-DGinfo⁡T8,JacobianMatrix
J8≔212⁢x−6⁢y−1x−3⁢y+3
Example 8.
Here we use the second calling sequence to define a Lie algebra homomorphism between two Lie algebras. See the LieAlgebraData help page for information on creating Lie algebras with Maple.
with⁡LieAlgebras:
Initialize a Lie algebra Alg1 which will serve as the domain for the Lie algebra homomorphism.
L1≔LieAlgebraData⁡x1,x4=x1,x2,x4=x1+x2,x3,x4=x2+x3,x1,x2,x3,x4,Alg1
L1≔e1,e4=e1,e2,e4=e1+e2,e3,e4=e2+e3
DGsetup⁡L1
Lie algebra: Alg1
Initialize a Lie algebra Alg2 which will serve as the range for the Lie algebra homomorphism.
L2≔LieAlgebraData⁡x1,x2=−x2−x3,x1,x3=−x3,x1,x2,x3,Alg2
L2≔e1,e2=−e2−e3,e1,e3=−e3
DGsetup⁡L2,f,θ
Lie algebra: Alg2
Define a matrix which will determine the linear transformation from Alg1 to Alg2.
A≔Matrix⁡0,0,0,1,0,0,1,0,0,1,0,−1
A≔00010010010−1
φ≔Transformation⁡Alg1,Alg2,A
φ≔e1,0⁢f1,e2,f3,e3,f2,e4,f1−f3
The output indicates that phi sends e1 to 0f1, e2 to f3, e3 to f2, and e4 to f1 - f3. The LieAlgebras Query command allows us to check that phi is a Lie algebra homomorphism.
Query⁡Alg1,Alg2,A,Homomorphism
true
See Also
Tools
ApplyTransformation
ComposeTransformations
DGinfo
InverseTransformation
Pullback
Pushforward
PushPullTensor
Download Help Document