Tensor[PushPullTensor] - transform a tensor from one manifold or coordinate system to another
Calling Sequences
PushPullTensor(Phi, Psi, T)
PushPullTensor(Phi, S)
Parameters
Phi - a transformation from a manifold M to another manifold N
Psi - the inverse of the transformation Phi, a transformation from the manifold N to the manifold M
T - a vector, differential form, tensor, or a connection defined on the manifold M
S - a differential form or a covariant tensor field defined on the manifold N
Description
Examples
PushPullTensor(Phi, Psi, M) will apply the transformation Phi to the vector, form or tensor T on M and return an object of the same type on N.
Applied to tensors on M, PushPullTensor acts as a ring homomorphism, that is, if T1 and T2 are tensors on M, then PushPullTensor(Phi, Psi, T1 &tensor T2) = PushPullTensor(Phi, Psi, T1) &tensor PushPullTensor(Phi, Psi, T2). Therefore to completely describe the action of PushPullTensor on a tensor T, it suffices to note that [i] if T is a vector field on M, then PushPullTensor(Phi , Psi, T) = Pushforward(Phi, Psi, T) and [ii], if T is a 1-form on M, then PushPullTensor(Phi, Psi, T) = Pullback(Psi, T).
Let A be a connection on M and let B = PushPullTensor(Phi, Psi, A). Let X, Y be vector fields on M and let Z = DirectionalCovariantDerivative(X, Y, A). Let U, V, W be the vector fields on N which are the pushforwards of X, Y and Z using Phi and Psi. The defining property of the connection B is the identity W = DirectionalCovariantDerivative(U, V, B).
Let A be a connection on M and let B = PushPullTensor(Phi, Psi, A). Let R be the curvature tensor for A and let S be the curvature tensor for B. We remark that PushPullTensor(Phi, Psi, R) = S.
Let S be a differential form or a covariant tensor field defined on the manifold N. Then the command PushPullTensor(Phi, S) will Pullback S to a differential form or tensor on M. With this calling sequence, the transformation Phi from M to N need not be invertible. For example, suppose M is a submanifold of N and Phi : M -> N is the inclusion mapping. Then, if g is a Riemannian metric on N, PushPullTensor(Phi, g) computes the induced metric on M.
The PushPullTensor command works with arbitrary frames and can therefore be used to re-express any tensor in the coordinate frame in terms of the user defined frame.
The PushPullTensor command may also be applied to tensor fields associated with a vector bundle E -> M.
This command is part of the DifferentialGeometry:-Tensor package, and so can be used in the form PushPullTensor(...) only after executing the command with(DifferentialGeometry) and with(Tensor) in that order. It can always be used in the long form DifferentialGeometry:-Tensor:-PushPullTensor.
with⁡DifferentialGeometry:with⁡Tensor:
Example 1.
First create two manifolds M, N and define a diffeomorphism phi : M -> N.
DGsetup⁡x,y,z,M:
DGsetup⁡u,v,w,N:
Define a transformation from M to N and calculate its inverse.
Φ1≔Transformation⁡M,N,u=x⁢y,v=y,w=x⁢z
Φ1:=u=x⁢y,v=y,w=x⁢z
Ψ1≔InverseTransformation⁡Φ1
Ψ1:=x=uv,y=v,z=w⁢vu
CASE 1. Acting on vectors on M, PushPullTensor is the same as the DifferentialGeometry command PushForward.
Pushforward⁡Φ1,Ψ1,D_x,Pushforward⁡Φ1,Ψ1,D_y,Pushforward⁡Φ1,Ψ1,D_z
PushPullTensor⁡Φ1,Ψ1,D_x,PushPullTensor⁡Φ1,Ψ1,D_y,PushPullTensor⁡Φ1,Ψ1,D_z
CASE 2. Acting on 1-forms on M, PushPullTensor is the same as the DifferentialGeometry command Pullback, using the inverse of Phi1, that is, the transformation Psi1.
Pullback⁡Ψ1,dx,Pullback⁡Ψ1,dy,Pullback⁡Ψ1,dz
PushPullTensor⁡Φ1,Ψ1,dx,PushPullTensor⁡Φ1,Ψ1,dy,PushPullTensor⁡Φ1,Ψ1,dz
CASE 3. The action of PushPullTensor on tensors on M is determined by Case1 and Case2 and the fact that PushPullTensor is a homomorphism.
W1≔PushPullTensor⁡Φ1,Ψ1,D_x&tdx
W1:=D_u⁢du−u⁢D_u⁢dvv+w⁢D_w⁢duu−w⁢D_w⁢dvv
W2≔PushPullTensor⁡Φ1,Ψ1,D_x&tensorPushPullTensor⁡Φ1,Ψ1,dx
W2:=D_u⁢du−u⁢D_u⁢dvv+w⁢D_w⁢duu−w⁢D_w⁢dvv
W1&minusW2
0⁢D_u⁢du
CASE 4. The command PushPullTensor will pushforward a connection on M to a connection on N. Define a connection A on M and push it forward to get a connection B on N.
A≔Connection⁡y⁢D_y&tdy&tdx
A:=y⁢D_y⁢dy⁢dx
B≔PushPullTensor⁡Φ1,Ψ1,A
B:=−D_u⁢du⁢dvv+2⁢w⁢D_u⁢dw⁢duu2−2⁢w⁢D_u⁢dw⁢dvv⁢u−D_u⁢dw⁢dwu+u−1⁢D_v⁢du⁢duv−u⁢u−2⁢D_v⁢du⁢dvv2+D_v⁢dv⁢du−u⁢D_v⁢dv⁢dvv−2⁢w⁢D_v⁢dw⁢duv⁢u+2⁢w⁢D_v⁢dw⁢dvv2+D_v⁢dw⁢dwv−D_w⁢dw⁢duu+D_w⁢dw⁢dvv
We check the defining property of the pushforward connection B. Pick two vectors X and Y on M and calculate the directional covariant derivative with respect to A. Call it Z.
X≔D_x:Y≔D_y:Z≔DirectionalCovariantDerivative⁡X,Y,A
Z:=y⁢D_y
Push the vectors X, Y, Z over to N and get vector fields U, V, W.
U≔PushPullTensor⁡Φ1,Ψ1,X
U:=v⁢D_u+w⁢v⁢D_wu
V≔PushPullTensor⁡Φ1,Ψ1,Y
V:=u⁢D_uv+D_v
W≔PushPullTensor⁡Φ1,Ψ1,Z
W:=D_u⁢u+D_v⁢v
Check that W is the directional covariant derivative of V in the direction of U with respect to the connection B.
DirectionalCovariantDerivative⁡U,V,B
D_u+u2+v2−u⁢D_vv
We can also calculate the curvature tensor R of A, the curvature tensor S of B and check that the PushPullTensor applied to R gives S.
R≔CurvatureTensor⁡A
R:=−D_y⁢dx⁢dy⁢dy+D_y⁢dx⁢dy⁢dy
S≔CurvatureTensor⁡B
S:=4⁢w⁢D_u⁢dw⁢du⁢dvv⁢u2−2⁢D_u⁢dw⁢du⁢dwu2−4⁢w⁢D_u⁢dw⁢dv⁢duv⁢u2+4⁢D_u⁢dw⁢dv⁢dwv⁢u+2⁢D_u⁢dw⁢dw⁢duu2−4⁢D_u⁢dw⁢dw⁢dvv⁢u−u−2⁢D_v⁢du⁢du⁢dvv2+u−2⁢D_v⁢du⁢dv⁢duv2−D_v⁢dv⁢du⁢dvv+D_v⁢dv⁢dv⁢duv−4⁢w⁢D_v⁢dw⁢du⁢dvv2⁢u+4⁢D_v⁢dw⁢du⁢dwv⁢u+4⁢w⁢D_v⁢dw⁢dv⁢duv2⁢u−6⁢D_v⁢dw⁢dv⁢dwv2−4⁢D_v⁢dw⁢dw⁢duv⁢u+6⁢D_v⁢dw⁢dw⁢dvv2
PushPullTensor⁡Φ1,Ψ1,R&minusS
−u⁢D_u⁢dv⁢du⁢dvv2+u⁢D_u⁢dv⁢dv⁢duv2−4⁢w⁢D_u⁢dw⁢du⁢dvv⁢u2+2⁢D_u⁢dw⁢du⁢dwu2+4⁢w⁢D_u⁢dw⁢dv⁢duv⁢u2−4⁢D_u⁢dw⁢dv⁢dwv⁢u−2⁢D_u⁢dw⁢dw⁢duu2+4⁢D_u⁢dw⁢dw⁢dvv⁢u+u−2⁢D_v⁢du⁢du⁢dvv2−u−2⁢D_v⁢du⁢dv⁢duv2+4⁢w⁢D_v⁢dw⁢du⁢dvv2⁢u−4⁢D_v⁢dw⁢du⁢dwv⁢u−4⁢w⁢D_v⁢dw⁢dv⁢duv2⁢u+6⁢D_v⁢dw⁢dv⁢dwv2+4⁢D_v⁢dw⁢dw⁢duv⁢u−6⁢D_v⁢dw⁢dw⁢dvv2
CASE 5. If S is a covariant tensor on N, then the second calling sequence to PushPullTensor will generate a covariant tensor field on M.
S≔evalDG⁡du&tdw
S:=du⁢dw
PushPullTensor⁡Φ1,S
y⁢z⁢dx⁢dx+x⁢y⁢dx⁢dz+x⁢z⁢dy⁢dx+x2⁢dy⁢dz
Example 2.
In this example, we define a mapping from R^3 to R^4 whose image is the unit sphere S^3 in R^4. The Pullback of the standard metric on R^4 by this map gives the metric on S^3 in conformal coordinates.
DGsetup⁡u,v,w,R3:
DGsetup⁡x1,x2,x3,x4,R4:
Φ2≔Transformation⁡R3,R4,x2=2⁢vv2+w2+1+u2,x1=2⁢uv2+w2+1+u2,x4=u2+w2+v2−1v2+w2+1+u2,x3=2⁢wv2+w2+1+u2
Φ2:=x1=2⁢uu2+v2+w2+1,x2=2⁢vu2+v2+w2+1,x3=2⁢wu2+v2+w2+1,x4=u2+v2+w2−1u2+v2+w2+1
We check that the image of Phi2 is the unit sphere in R4.
f≔Pullback⁡Φ2,x12+x22+x32+x42
f:=4⁢u2u2+v2+w2+12+4⁢v2u2+v2+w2+12+4⁢w2u2+v2+w2+12+u2+v2+w2−12u2+v2+w2+12
simplify⁡f
1
We Pullback the standard Euclidean metric on R4 to R3.
g≔evalDG⁡dx1&tdx1+dx2&tdx2+dx3&tdx3+dx4&tdx4
g:=dx1⁢dx1+dx2⁢dx2+dx3⁢dx3+dx4⁢dx4
PushPullTensor⁡Φ2,g
4⁢du⁢duu2+v2+w2+12+4⁢dv⁢dvu2+v2+w2+12+4⁢dw⁢dwu2+v2+w2+12
Example 3.
In this example we return to the manifold M defined in Example 1 and introduce on M a local frame E1, E2, E3 with dual 1-forms Theta1, Theta2, Theta3.
ChangeFrame⁡M
R3
FR≔FrameData⁡x⁢D_x+y⁢D_y,x⁢D_y,y⁢D_z,M1:
DGsetup⁡FR:
Define the identity transformation from M to M1 and its inverse.
Φ3≔Transformation⁡M,M1,x=x,y=y,z=z
_DG⁡transformation,M,0,M1,0,,Matrix⁡%id=4553395650,x,x,y,y,z,z
Ψ3≔Transformation⁡M1,M,x=x,y=y,z=z
_DG⁡transformation,M1,0,M,0,,Matrix⁡%id=4535464194,x,x,y,y,z,z
Write a type (1, 1) tensor given in the coordinate frame in terms of the frame FR and its dual.
PushPullTensor⁡Φ3,Ψ3,D_x&tdy
y⁢E1⁢Θ1x+E1⁢Θ2−y2⁢E2⁢Θ1x2−y⁢E2⁢Θ2x
Write a type (3, 0) tensor given in the frame FR in the coordinate frame.
PushPullTensor⁡Ψ3,Φ3,E3&tE2&tE1
D_x⁢D_y⁢D_z⁢x2⁢y+D_y⁢D_y⁢D_z⁢x⁢y2
Example 4.
Create a pair of rank 2 vector bundles over a common 3 dimension base and define a bundle automorphism.
DGsetup⁡x,y,z,u,v,E:
DGsetup⁡x,y,z,p,q,F:
Φ4≔Transformation⁡E,F,x=x,y=y,z=z,p=x⁢u+y⁢v,q=y⁢u−x⁢v
Φ4:=x=x,y=y,z=z,p=u⁢x+v⁢y,q=u⁢y−v⁢x
Ψ4≔InverseTransformation⁡Φ4
Ψ4:=x=x,y=y,z=z,u=p⁢x+q⁢yx2+y2,v=−−p⁢y+q⁢xx2+y2
PushPullTensor⁡Φ4,Ψ4,y⁢D_u
D_p⁢x⁢y+D_q⁢y2
To pushover a one form on the fibers of E to F, first convert it to a tensor.
PushPullTensor⁡Φ4,Ψ4,convert⁡dv,DGtensor
y⁢dpx2+y2−x⁢dqx2+y2
ChangeFrame⁡E:
Transform a connection on E to one on F.
ConE≔Connection⁡D_u&tdu&tdx
ConE:=D_u⁢du⁢dx
ConF≔PushPullTensor⁡Φ4,Ψ4,ConE
ConF:=x⁢x−1⁢D_p⁢dp⁢dxx2+y2−y⁢D_p⁢dp⁢dyx2+y2+y⁢x+1⁢D_p⁢dq⁢dxx2+y2−x⁢D_p⁢dq⁢dyx2+y2+y⁢x−1⁢D_q⁢dp⁢dxx2+y2+x⁢D_q⁢dp⁢dyx2+y2−−y2+x⁢D_q⁢dq⁢dxx2+y2−y⁢D_q⁢dq⁢dyx2+y2
CurvatureTensor⁡ConF
4⁢y⁢x2⁢D_p⁢dp⁢dx⁢dyx2+y22−4⁢y⁢x2⁢D_p⁢dp⁢dy⁢dxx2+y22−2⁢x2−y2⁢x⁢D_p⁢dq⁢dx⁢dyx2+y22+2⁢x2−y2⁢x⁢D_p⁢dq⁢dy⁢dxx2+y22−2⁢x2−y2⁢x⁢D_q⁢dp⁢dx⁢dyx2+y22+2⁢x2−y2⁢x⁢D_q⁢dp⁢dy⁢dxx2+y22−4⁢y⁢x2⁢D_q⁢dq⁢dx⁢dyx2+y22+4⁢y⁢x2⁢D_q⁢dq⁢dy⁢dxx2+y22
See Also
DifferentialGeometry
Tensor
LieAlgebras
Connection
CurvatureTensor
DirectionalCovariantDerivative
InverseTransformation
Pullback
Pushforward
Transformation
Download Help Document