tensor(deprecated)/Jacobian - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : tensor(deprecated)/Jacobian

tensor

  

Jacobian

  

compute the Jacobian and its inverse of a coordinate transformation

  

transform

  

transform a tensor given the backward transformation, the Jacobian of the backward transformation and its inverse.

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Jacobian(Y, Finv, yJx, xJy)

transform(Tx, Finv, yJx, xJy)

Parameters

Y

-

list of n names of coordinate variables

Finv

-

list of n functions in the y's that gives the transformation from the y-coordinate system to another one, say, the x-coordinate system

yJx

-

output parameter of Jacobian(), but an input to transform(); tensor_type of character 1,−1, and having the Jacobian matrix of the transformation from the x's to y's as components, yJx must have its components expressed in terms of the y's

xJy

-

output parameter of Jacobian(), but an input to transform(); tensor_type of character −1,1, and having the transpose of the Jacobian matrix of the transformation from the y's to x's (namely, Finv) as components, xJy must have its components expressed in terms of the y's

Tx

-

any tensor_type of rank-1 or higher

Description

Important: The tensor package has been deprecated. Use the superseding commands DifferentialGeometry[Transformation] and Physics[TransformCoordinates] instead.

• 

Given a tensor_type Tx, that represents a tensor T in its x-coordinate representation, transform() constructs Ty, the representation of the same tensor in another coordinate system, say, the y-coordinate system.

• 

transform() needs as input parameters, apart from T of course, the inverse transformation Finv, (that is, the x's expressed as functions of the y's), the jacobian (tensor_type) of Finv expressed in terms of the y's and its inverse (tensor_type).

• 

yJx must have character 1,−1, and more visually, components:

yJxcomptsa,i=yxyia

The partial of ya with respect to xi, expressed in terms of the ys.

• 

xJy MUST have character −1,1, and components:

xJycomptsa,i=xyyai

The partial of xi with respect to ya, expressed in terms of the ys.

  

Note: Note the transposition here in xJy!  This is due to the fact xJy (and also yJx) is primarily used by tensor[transform], and tensor[transform] uses tensor[change_basis] to perform component manipulations, and tensor[change_basis] requires that the transformation matrix that acts on covariant indices (where xJy indeed does, since in tensor[transform], the transformation is from the x's to the y's) have this transposed arrangement.

• 

The function Jacobian() can thus be used to generate the two Jacobians needed by transform().  Note that the xJy produced by Jacobian() is already in that transposed arrangement required by transform().  You need to be concerned about that fact only when they are to construct the jacobian(s) themselves.

• 

Simplification :

– 

Jacobian: Each of its components is merely a partial derivative of one of the x's w.r.t. one of the y's and Jacobian() uses the simplifier `tensor/partial_diff/simp` to simplify each of these derivatives.

– 

transform: When Tx is of rank zero, only substitutions (of the x's with the y's) are needed.  In this case, transform() uses the simplifier `tensor/raise/simp` to simplify the (scalar) component of the result after the substitutions.

  

When Tx is of rank one or higher, transform() first makes the substitutions and then invokes tensor[change_basis] to carry out the transformation according to the tensorial rule, and hence it, in case of a nonzero rank tensor, transform() uses also `tensor/raise/simp` as simplifier; `tensor/raise/simp` is the simplifier used by change_basis().

• 

These two functions are part of the tensor package, and can be used in the form Jacobian(..), and transform(..) only after performing the command with(tensor), or with(tensor, Jacobian) or with(tensor, transform).  The functions can always be accessed in the long form tensor[Jacobian] or tensor[transform].

Examples

Important: The tensor package has been deprecated. Use the superseding commands DifferentialGeometry[Transformation] and Physics[TransformCoordinates] instead.

withtensor:

Declare the coordinate variables in the two systems. Note that declaration of Polar is not necessary in the following computations.

dim4:Polar1t,R,φ,θ:Polar2t,r,φ,θ:

Express the coordinates in the first system in terms of the those in the second.

rtoRt=t,R=r1+Kr24,φ=φ,θ=θ:

Define the Robertson-Walker covariant metric in the first system.

gIJ_comptsarraysymmetric,1..dim,1..dim:

foritodimdoforjfromi+1todimdogIJ_comptsi,j0enddoenddo:gIJ_compts1,11:gIJ_compts2,2S21KR2:gIJ_compts3,3S2R2sinθ2:gIJ_compts4,4S2R2:gIJcreate1,1,opgIJ_compts

gIJtablecompts=−10000S2KR2+10000S2R2sinθ20000S2R2,index_char=−1,−1

(1)

Form the two jacobians.

JacobianPolar2,rtoR,yJx,xJy:

opyJx

tablecompts=10000Kr2+424Kr240000100001,index_char=1,−1

(2)

opxJy

tablecompts=100004Kr24Kr2+420000100001,index_char=−1,1

(3)

Now compute the transformed covariant metric in the second system.

gABtransformgIJ,rtoR,yJx,xJy

gABtablecompts=−1000016S2Kr2+42000016S2r2sinθ2Kr2+42000016S2r2Kr2+42,index_char=−1,−1

(4)

gABtransformgIJ,rtoR,yJx,xJy

gABtablecompts=−1000016S2Kr2+42000016S2r2sinθ2Kr2+42000016S2r2Kr2+42,index_char=−1,−1

(5)

See Also

DifferentialGeometry[Transformation]

Physics

Physics[TransformCoordinates]

tensor(deprecated)

tensor(deprecated)/change_basis

tensor(deprecated)[act]