tensor
change_basis
transform a tensor from the natural basis to a non-coordinate basis
Calling Sequence
Parameters
Description
Examples
change_basis( T, h, hinv)
T
-
tensor_type to be transformed
h
rank-2 tensor_type of character [1,-1] representing the covariant transformation matrix of the change of basis
hinv
rank-2 tensor_type of character [-1,1] representing the contravariant matrix of the change of basis
Important: The tensor package has been deprecated. Use the superseding commands DifferentialGeometry[Tensor][PushPullTensor] and Physics[TransformCoordinates] instead.
This routine performs the following operation on the given tensor_type, T:
Resultp⁢q⁢r⁢...a⁢b⁢c⁢...=hia⁢hjb⁢hkc⁢...⁢hps⁢hqt⁢hru⁢Ts⁢t⁢u⁢...i⁢j⁢k⁢...
Note of course that the new tensor_type result is the transformation of T provided T is indeed a tensor. Thus, inputing the Christoffel symbols and a tetrad transformation would not yield the connection coefficients in a rigid frame, for example.
If the original tensor_type has an indexing function in its component array, it will be preserved under the transformation.
Simplification: This routine uses the routine `tensor/raise/simp` for simplification purposes. The contractions of T with the h's are done iteratively starting with the first index of T, and for each component of the final resultant, the simplifier is applied once to every summation over one summation index. By default, `tensor/raise/simp` is initialized to the {`tensor/simp`} routine. It is recommended, however, that `tensor/raise/simp` be customized to suit the needs of the particular problem.
This function is part of the tensor package, and can be used in the form change_basis(..) only after performing the command with(tensor), or with(tensor, change_basis). The function can always be accessed in the long form tensor[change_basis].
with⁡tensor:
T_compts≔array⁡1..2,1..2,T11,T12,T21,T22:
T≔create⁡1,−1,op⁡T_compts
T≔table⁡index_char=1,−1,compts=T11T12T21T22
h≔create⁡1,−1,array⁡1..2,1..2,H11,H12,H21,H22
h≔table⁡index_char=1,−1,compts=H11H12H21H22
hinv≔create⁡−1,1,array⁡1..2,1..2,h11,h12,h21,h22
hinv≔table⁡index_char=−1,1,compts=h11h12h21h22
NewT≔change_basis⁡T,h,hinv
NewT≔table⁡index_char=1,−1,compts=H11⁢T11⁢h11+H11⁢T12⁢h12+H12⁢T21⁢h11+H12⁢T22⁢h12H11⁢T11⁢h21+H11⁢T12⁢h22+H12⁢T21⁢h21+H12⁢T22⁢h22H21⁢T11⁢h11+H21⁢T12⁢h12+H22⁢T21⁢h11+H22⁢T22⁢h12H21⁢T11⁢h21+H21⁢T12⁢h22+H22⁢T21⁢h21+H22⁢T22⁢h22
See Also
DifferentialGeometry[Tensor][PushPullTensor]
Physics
Physics[TransformCoordinates]
tensor(deprecated)
tensor(deprecated)[frame]
Download Help Document