Pushforward - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


DifferentialGeometry

  

Pushforward

  

pushforward a vector or a vector field by the Jacobian of a transformation

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Pushforward(Phi, X, pt)

Pushforward(Phi, X)

Pushforward(Phi, Psi, X)

Parameters

Phi

-

a transformation from a manifold M to a manifold N

X

-

a vector defined at a point pt of M; or a vector field on M

pt

-

a list specifying the coordinates of a point on M

Psi

-

a transformation from the manifold N to a manifold M, typically the inverse of the map Phi

Description

• 

In differential geometry, the Jacobian of a transformation Phi: M -> N is considered to be a linear transformation between tangent spaces Phi_*: T_pM -> T_qN, where p is a point of M and q = Phi(p).  Let X be a tangent vector in T_pM.  Then Y = Phi_*(X) may be defined in one of two ways.  If X is viewed as a derivation on the smooth functions defined in a neighborhood of p in M, then Y = Phi_*(X) is the derivation on the smooth functions g defined in a neighborhood q of N by Y(g) = X(Phi o g).  If X is viewed as the tangent vector to a curve alpha(t) at t = 0, then Y is the tangent vector to the curve beta = (Phi o alpha)(t) at t = 0.

• 

The vector Y = Phi_*(X) is called the pushforward of X by Phi.  The vector Y is computed by Pushforward(Phi, X, pt), where pt = [a1, a2, a3, ...] or pt = [x1 = a1, x2 = a2, x3 = a3, ...] are the coordinates of the point p.

• 

In components, let J be the Jacobian matrix of Phi computed with respect to a system of coordinates x^i on M and y^j on N, and evaluated at p.  Let a be the column vector whose entries are the components of X computed with respect to the coordinate basis on M. Then the matrix vector product b = J.a gives the components of Y = Phi_*(X) with respect to the coordinate basis on N.

• 

The command Pushforward(Phi, X) returns a vector on N whose coefficients are functions of the coordinates on M.  The result defines the pushforward of the vector field X at an arbitrary point of M.

• 

If Phi is an invertible transformation with inverse Psi, then a vector field  Y on N can be constructed from a vector field X on M by setting Y(q) = Phi_*(X(p)), where q is an arbitrary point of N and p = Psi(q).  The command Pushforward(Phi,  Psi, X) returns the vector field Y.

• 

The Pushforward command can be applied to a list of vectors.

• 

This command is part of the DifferentialGeometry package, and so can be used in the form Pushforward(...) only after executing the command with(DifferentialGeometry).  It can always be used in the long form DifferentialGeometry:-Pushforward.

Examples

withDifferentialGeometry:

 

Example 1.

Compute the pushforward of the vector X1, defined at the point [x = 1, y = 3] by the transformation Phi. Check this answer against the component calculation of the pushforward using the Jacobian matrix.

DGsetupx,y,M:DGsetupu,v,N:

Φ1TransformationM,N,u=lnx2+y2,v=xy

Φ1u=lnx2+y2,v=xy

(1)

X1evalDGaD_x+bD_y

X1aD_x+bD_y

(2)

Y1PushforwardΦ1,X1,x=1,y=3

Y1a5+3b5D_u+a3b9D_v

(3)

JTools:-DGinfoΦ1,JacobianMatrix

J2xx2+y22yx2+y21yxy2

(4)

J1evalJ,x=1,y=3

J115351319

(5)

CJ1·Vectora,b

Ca5+3b5a3b9

(6)

 

The entries of the vector C agree with the components of the vector Y1.

 

Example 2. 

Show that the points p1 = [1, 1] and p2 = [- 1, - 1], in M, map under the transformation Phi to the same point in N but that the pushforward of the vector field D_x by Phi at these two points are different.

Φ2TransformationM,N,u=lnx2+y2,v=xy

Φ2u=lnx2+y2,v=xy

(7)

p1x=1,y=1

p1x=1,y=1

(8)

p2x=1,y=1

p2x=−1,y=−1

(9)

ApplyTransformationΦ2,p1,ApplyTransformationΦ2,p2

u=ln2,v=1,u=ln2,v=1

(10)

PushforwardΦ2,D_x,p1,PushforwardΦ2,D_x,p2

D_u+D_v,D_uD_v

(11)

 

Example 3.

Compute the pushforward of the vector field X3 by the transformation Phi3 at an arbitrary point. Here we use the second calling sequence for Pushforward.

Φ3TransformationM,N,u=lnx2+y2,v=xy

Φ3u=lnx2+y2,v=xy

(12)

X3evalDGx2D_x+x2D_y

X3x2D_x+x2D_y

(13)

PushforwardΦ3,X3

2x2x+yD_ux2+y2x2xyD_vy2

(14)

 

Example 4.

Express the vector field X4 in polar coordinates. First set up the polar coordinate system and define the transformation Phi4 from polar to Cartesian coordinates.  Calculate the inverse transformation.  Use the third calling sequence for Pushforward.

DGsetupr,θ,P:

X4evalDGyxD_x2D_y

X4yD_xx2D_y

(15)

Φ4TransformationP,M,x=rcosθ,y=rsinθ

Φ4x=rcosθ,y=rsinθ

(16)

_EnvExplicittrue:

invPhi4InverseTransformationΦ4

invPhi4r=x2+y2,θ=arctanyx2+y2,xx2+y2

(17)

PushforwardinvPhi4&comma;&Phi;4&comma;X4assuming0<r

sinθD_r+cosθsecθD_&theta;r

(18)

 

Example 5.

Find the tangent vector to the curve t -> [x = t^2, y = t^3, z = t^3].

DGsetupt&comma;R&colon;DGsetupx&comma;y&comma;z&comma;E3&colon;

CTransformationR&comma;E3&comma;x=t2&comma;y=t3&comma;z=t3

Cx=t2&comma;y=t3&comma;z=t3

(19)

PushforwardC&comma;D_t

2tD_x+3t2D_y+3t2D_z

(20)

 

Example 6.

Find a basis for the tangent plane to the surface z = x^3 - 3*x*y^2 at each point [x, y, z].

DGsetupx&comma;y&comma;E2&colon;DGsetupx&comma;y&comma;z&comma;E3&colon;

STransformationE2&comma;E3&comma;x=x&comma;y=y&comma;z=x33xy2

Sx=x&comma;y=y&comma;z=x33y2x

(21)

PushforwardS&comma;D_x&comma;D_y

D_x+3x23y2D_z&comma;D_y6xyD_z

(22)

 

Example 7.

Find the projection of the vector field X5 under the map Phi5.

DGsetupu&comma;v&comma;E2&colon;DGsetupx&comma;y&comma;z&comma;E3&colon;

&Phi;5TransformationE3&comma;N&comma;u=xz&comma;v=yz

&Phi;5u=xz&comma;v=yz

(23)

X5evalDG1x2+y2+z2x2yD_x+yz2D_yxyzD_z

X5yx2D_xx2+y2+z2+z2yD_yx2+y2+z2zxyD_zx2+y2+z2

(24)

Pushforward&Phi;5&comma;X5

2yx2D_uzx2+y2+z2+yxy+z2D_vzx2+y2+z2

(25)

 

The goal now is to rewrite the coefficients of this vector field in terms of the variables u and v.  The map Phi5 is not invertible but it does admit a right inverse Sigma.

ΣTransformationN&comma;E3&comma;x=u&comma;y=v&comma;z=1

Σx=u&comma;y=v&comma;z=1

(26)

ComposeTransformations&Phi;5&comma;Σ

u=u&comma;v=v

(27)

 

We use this map as the second argument in the third calling sequence for Pushforward.

Pushforward&Phi;5&comma;Σ&comma;X5

2vu2D_uu2+v2+1+vuv+1D_vu2+v2+1

(28)

 

Example 8.

The Pushforward command can also be applied to a list of  vectors.

ChangeFrameM

N

(29)

Pushforward&Phi;1&comma;D_x&comma;D_y&comma;x=1&comma;y=3

D_u5+D_v3&comma;3D_u5D_v9

(30)

See Also

DifferentialGeometry

ComposeTransformations

DGinfo

PullbackVector

Pullback

Transformation