Digi Area Group - Math Tools for Professionals
   Maple and Mathematica packages - math tools for professionals

atlas™ - modern differential geometry for Maple™

> Features List & Examples
> Template Worksheets
> Screenshots
> Documentation & Downloads
> License & Pricing
> Buy Online

 
 
 
 
Google

Features List & Examples  |  Introduction  |  Dimension  |  Indexing  |  Forms  |  Metric  |  atlasWizard - Maplet™

atlas[`&.`] - tensor product operator

Calling Sequence:

     `&.`(T1, T2, ..., Tn)
     T1 &. T2

Parameters:

        T1, T2, ..., Tn - tensors.

Description:

  •  The &. procedure calculates the tensor product of given tensors. The main syntax is as follows: Omega &. T i.e. `&.`(Omega,T)  where Omega  and T  are tensors. To calculate tensor product for tensors Omega[1], Omega[2] .. Omega[k]  use the following `&.`(Omega[1],Omega[2], ...Omega[k]) i.e. `&.`(Omega[1],Omega[2],`` .. Omega[k])
  • Tensor product is linear operation with respect to its arguments. Thus if alpha, beta  are 0-forms then: `&.`(Omega[1],alpha*Omega[2]+beta*Omega[3]) = alpha*`&.`(Omega[1],Omega[2])+beta*`&.`(Omega[1],Omega[3])

Examples:
restart:
with(atlas):

Declare Vectors
Vectors(X,Y,Z);

{X, Y, Z}

Declare tensors:
Tensors(T=[a,b],Omega=[0,1],Omega[1]=[p,n],Omega[2]=[q,n],Omega[3]=[l,m]);

{T, Omega[1], Omega[2], Omega[3], Omega}

Using &. - procedure:

Tensor product is linear operation with respect to its arguments
'`&.`(Omega[1],alpha*Omega[2]+beta*Omega[3])' = `&.`(Omega[1],alpha*Omega[2]+beta*Omega[3]);

`&.`(Omega[1],alpha*Omega[2]+beta*Omega[3]) = alpha*`&.`(Omega[1],Omega[2])+beta*`&.`(Omega[1],Omega[3])

Some more examples:
`&.`(Omega,T,Omega[3],Omega[2],Omega[1]);

`&.`(Omega,T,Omega[3],Omega[2],Omega[1])

And with Lie derivative ( Omega  is 1-form):
'L[X]'(Omega&.T)=L[X](Omega&.T);

L[X](`&.`(Omega,T)) = `&.`(iota[X](d(Omega)),T)+`&.`(d(iota[X](Omega)),T)+`&.`(Omega,L[X](T))

And again:
'L[X]'(Omega[1]&.Omega[2])=L[X](Omega[1]&.Omega[2]);

L[X](`&.`(Omega[1],Omega[2])) = `&.`(L[X](Omega[1]),Omega[2])+`&.`(Omega[1],L[X](Omega[2]))

And finally
'Omega[3]&.(L[Z](Omega)&.T)'=Omega[3]&.(L[Z](Omega)&^T);

`&.`(Omega[3],`&.`(L[Z](Omega),T)) = (-1)^b*`&.`(Omega[3],`&^`(T,iota[Z](d(Omega))))+(-1)^b*`&.`(Omega[3],`&^`(T,d(iota[Z](Omega))))

See Also:

atlas , atlas[L] , atlas[Tensors] , atlas[`&^`] , atlas[Forms] .