find (if possible) a vector field whose pushforward by the Jacobian of a given transformation is a given vector field
PullbackVector(Phi, Y, S, freevar)
a transformation from a manifold M to a manifold N
a vector field on N
(optional) a list of independent vector fields on M; the default is the standard local frame for the tangent bundle of M
(optional) freevariable = k, where k is an unassigned Maple name
This procedures finds all vector fields X in the span of S such that Phi_*(X) = Y, where Phi_* is the Jacobian of Phi. If Phi is a local immersion, then Phi_* is injective and the vector X, if it exists, is unique. If Phi is not a local immersion, then the optional argument freevariable = k can be used to specify the name of the indexed variable that will be used to parameterize the possibilities for X.
The kernel of Phi_* can be computed by taking Y to be the zero vector.
If no vector field X exists such that Phi_*(X) = Y, then NULL is returned.
This command is part of the DifferentialGeometry package, and so can be used in the form PullbackVector(...) only after executing the command with(DifferentialGeometry). It can always be used in the long form DifferentialGeometry:-PullbackVector.
Suppose Phi: M -> N is an imbedding and Y is a vector field on N which is tangent to the image of M. Then there exists a unique vector field X on M such that Phi_*(X) = Y; and X can be found using the PullbackVector command. For example, the vectors Y1 and Y2 defined below are both tangent to the unit 3-sphere x^2 + y^2 + z^2 + w^2 = 1 and therefore can be pulled-back by the stereographic projection map Phi1 to the 3-dimensional Euclidean space E3 with coordinates [r, s, t].
Φ1 ≔ Transformation⁡E3,E4,x=2⁢r1+r2+s2+t2,y=2⁢s1+r2+s2+t2,z=2⁢t1+r2+s2+t2,w=1−r2+s2+t21+r2+s2+t2
Y1 ≔ evalDG⁡−y⁢D_x+x⁢D_y+w⁢D_z−z⁢D_w
Y2 ≔ evalDG⁡−z⁢D_x−w⁢D_y+x⁢D_z+y⁢D_w
X1 ≔ PullbackVector⁡Φ1,Y1
X2 ≔ PullbackVector⁡Φ1,Y2
We remark that since the vector fields X1 and X2 are uniquely determined, the Lie bracket relations are preserved.
Y3 ≔ LieBracket⁡Y1,Y2
X3 ≔ PullbackVector⁡Φ1,Y3
X3 &minus LieBracket⁡X1,X2
In the following example the map Phi2 is not a local immersion. We can use the freevariable option to specify the name of the indexed variable that will be used to parameterize the vectors X2 such that Phi2_*(X2) = Y2.
Φ2 ≔ Transformation⁡E4,E2,u=x,v=z,t=1
Y4 ≔ D_u
X4 ≔ PullbackVector⁡Φ2,Y4,freevariable='s'
X5 ≔ PullbackVector⁡Φ2,D_t,freevariable='s'
We can use the optional third argument to force the vector to belong to a given subspace.
X6 ≔ PullbackVector⁡Φ2,Y4,D_x,D_y,freevariable='s'
X7 ≔ PullbackVector⁡Φ2,Y4,D_x,freevariable='s'
Download Help Document