LeviCivita - 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 : Physics : LeviCivita

Physics[LeviCivita] - The LeviCivita tensor

Calling Sequence

LeviCivita[alpha, beta, mu, nu, ...]

Parameters

alpha, beta, mu, nu, ...

-

the indices, as names representing integer numbers between 0 and the dimension (number of indices); they can also be the numbers themselves

Description

• 

LeviCivita[alpha, beta, mu, nu, ...], displayed as εα,β,μ,ν,... or Εα,β,μ,ν,..., respectively for the galilean and nongalilean case, is a computational representation for the totally antisymmetric LeviCivita pseudo-tensor.

• 

The number of indices in LeviCivita is not restricted to the spacetime dimension. It can be used as well as a totally antisymmetric tensor in arbitrary dimensions (minimum = 2).

• 

The generic antisymmetric symbol, also called galilean LeviCivita, is equal to 1 when all its indices are integers, ordered from 0 to the dimension or any even permutation of that ordering, -1 for any odd permutation of that ordering, and 0 when any of the indices is repeated.

• 

In the nongalilean case, that is the generalization of the galilean case to curvilinear coordinates, say in 4 dimensions, the all-contravariant Εα,β,μ,ν, entered as LeviCivita[~alpha, ~beta, ~mu, ~nu], is defined in terms of the galilean case by

Εα,β,μ,ν=1 g ϵα,β,μ,ν

  

where |g| is the determinant of the spacetime metric. Using the formula

ϵα,β,μ,νgα,γgβ,ρgμ,σgν,τ= g ϵγ,ρ,σ,τ

  

and taking into account the definition for the all-contravariant case given above, the all-covariant case is given by

Εα,β,μ,ν= g ϵα,β,μ,ν

• 

In the Maple worksheet, by default, LeviCivita represents the galilean case, even when working in curvilinear coordinates, with a nongalilean spacetime metric. There are three different ways to represent the non-Galilean Ε__α,β,μ,ν

– 

Pass the keyword nongalilean after the indices, as in LeviCivitaα,β,μ,ν,nongalilean.

– 

Define a tensor, say Ε__α,β,μ,ν, to represent the non-Galilean case - see the Examples section, while you maintain the input LeviCivitaα,β,μ,ν representing the Galilean case.

– 

Enter Setuplevicivita=nongalilean, after which LeviCivitaα,β,μ,ν automatically represents Ε__α,β,μ,ν. In this case you can also define a tensor, say ε__α,β,μ,ν, to represent the Galilean case - see the Examples section.

• 

When the indices of LeviCivita assume integer values they are expected to be between 0 and the dimension (number of indices), and the corresponding value of LeviCivita is returned. The values 0 and 4, or for the case any dimension set for the spacetime, represent the same object. When the indices have symbolic values LeviCivita returns unevaluated after normalizing its indices taking into account its totally antisymmetric property.

• 

Computations performed with the Physics package commands take into account Einstein's sum rule for repeated indices - see `.` and Simplify. The distinction between covariant and contravariant indices in the input of tensors is done by prefixing contravariant ones with ~, say as in ~mu; in the output, contravariant indices are displayed as superscripts. For contracted indices, you can enter them one covariant and one contravariant. Note however that - provided that the spacetime metric is galilean (Euclidean or Minkowski), or the object is a tensor also in curvilinear coordinates - this distinction in the input is not relevant, and so contracted indices can be entered as both covariant or both contravariant, in which case they will be automatically rewritten as one covariant and one contravariant. Tensors can have spacetime and space indices at the same time. To change the type of letter used to represent spacetime or space indices see Setup.

• 

When Physics is loaded, the default spacetime is galilean, of Minkowski type. To set the spacetime metric to something different use Setup. During a Maple session, the value of the components of the general relativity tensors of Physics, that is: Christoffel, the covariant derivative D_, Einstein, the nongalilean LeviCivita, Ricci, Riemann and Weyl, automatically follows the value or any changes introduced in the components of the spacetime metric.

• 

Besides being indexed with two indices, LeviCivita accepts the following keywords as an index:

– 

array: (synonym: matrix, Matrix, Array, or no indices whatsoever, as in LeviCivita[]) returns an Array that when indexed with numerical values from 1 to the dimension (number of indices in LeviCivita[mu, nu, ...]) it returns the value of each of the components of LeviCivita. If this keyword is passed together with indices, that can be covariant or contravariant, the resulting Matrix takes into account the character of the indices. If only two of these indices are names, the rest have numerical values (if contravariant then preceded by ~), the returned object is the corresponding 2 x 2 Matrix.

– 

nonzero: returns a set of equations, with the left-hand side as a sequence of two positive numbers identifying the element of LeviCivita and the corresponding value on the right-hand side. Note that this set is actually the output of the ArrayElems command when passing to it the Array obtained with the keyword array.

• 

Some automatic checking and normalization are carried out each time you enter LeviCivita[...]. The checking is concerned with possible unexpected values of the indices. The automatic normalization takes into account the symmetry of LeviCivita[mu,nu] with respect to interchanging the positions of the indices mu and nu.

• 

The %LeviCivita command is the inert form of LeviCivita, so it represents the same tensor but entering it does not result in performing any computation. To perform the related computations as if %LeviCivita were LeviCivita, use value.

Examples

withPhysics:

Setupmathematicalnotation=true

mathematicalnotation=true

(1)

When Physics is initialized, the spacetime is 4-dimensional and galilean with signature (-, -, -, +). You can see the metric querying Setup, as in Setup(metric), or directly entering the metric as g_[], with no indices

g_

gμ,ν=−10000−10000−100001

(2)

The values 0 and 4 of the indices represent the same, and the convention for the galilean all-contravariant LeviCivita (note you indicate the contravariant character of index prefixing with ~) is

LeviCivita~0,~1,~2,~3=LeviCivita~4,~1,~2,~3

1=1

(3)

As usual, with signatures where the time-like component is positive, lowering or raising the time-like index 0 does not change the sign. Enter the index 0 without ~

LeviCivita0,~1,~2,~3

1

(4)

and so, for the galilean all-covariant LeviCivita,

LeviCivita0,1,2,3

−1

(5)

LeviCivita is totally antisymmetric, so when two indices are equal it returns 0

LeviCivita0,0,2,3

0

(6)

The symmetry property of LeviCivita is taken into account when the indices have symbolic values: they are sorted so that zero recognition is automatic

LeviCivitaμ,ν,α,β

εα,β,μ,ν

(7)

LeviCivitaβ,α,ν,μ

εα,β,μ,ν

(8)

0

(9)

To set the scenario as a curved spacetime set the metric using Setup, for instance indicating the square of the spacetime interval:

ds2r2dtheta2+r2sinθ2dphi22dtdr2kr,t2dt2

ds2r2dθ2+r2sinθ2dφ22dtdr2kr,t2dt2

(10)

While setting the metric set also the corresponding coordinates

Setupcoordinates=spherical,metric=ds2

Systems of spacetime coordinates are:X=r,θ,φ,t

_______________________________________________________

Coordinates: r,θ,φ,t. Signature: - - - +

_______________________________________________________

gμ,ν=000−10r20000r2sinθ20−1002kr,t2

_______________________________________________________

Setting lowercaselatin_is letters to represent space indices

_______________________________________________________

coordinatesystems=X,metric=1,4=−1,2,2=r2,3,3=r2sinθ2,4,4=2kr,t2,spaceindices=lowercaselatin_is

(11)

At this point LeviCivita still represents the galilean εμ,ν,α,β.

LeviCivitaα,β,μ,ν

εα,β,μ,ν

(12)

LeviCivita1,2,3,4

1

(13)

LeviCivita1,1,3,4

0

(14)

%d_ρ=d_ρ

ρεα,β,μ,ν=0

(15)

You can access the non-Galilean LeviCivita by passing the keyword nongalilean after the indices; compare:

%LeviCivita1,2,3,4%LeviCivita1,2,3,4,nongalilean

ε1,2,3,4ε1,2,3,4,nongalilean

(16)

value

1r2sinθ

(17)

To work with both the Galilean and non-Galilean LeviCivita at the same time, the simplest way is to define a corresponding tensor as follows:

Εα,β,μ,ν=LeviCivitaα,β,μ,ν,nongalilean

Εα,β,μ,ν=εα,β,μ,ν,nongalilean

(18)

Define

Defined objects with tensor properties

μ,γμ,Εα,β,μ,ν,σμ,Rμ,ν,Rμ,ν,α,β,Cμ,ν,α,β,μ,gμ,ν,γi,j,Γμ,ν,α,Gμ,ν,εα,β,μ,ν,Xμ

(19)

Now we have

Εdefinition

Εα,β,μ,ν=εα,β,μ,ν,nongalilean

(20)

%Epsilon1,2,3,4%LeviCivita1,2,3,4

Ε1,2,3,4ε1,2,3,4

(21)

value

r2sinθ1

(22)

Alternatively, you can set LeviCivita as nongalilean by default using Setup

Setuplevicivita=nongalilean

levicivita=nongalilean

(23)

Note the change in the display, reflecting the nongalilean character of LeviCivita

LeviCivitaα,β,μ,ν

Εα,β,μ,ν

(24)

The non-Galilean form is also totally antisymmetric

LeviCivita1,1,3,4

0

(25)

Its derivative is not zero in general

%d_ρ=d_ρ

ρΕα,β,μ,ν=ρΕα,β,μ,ν

(26)

%LeviCivita1,2,3,4=LeviCivita1,2,3,4

Ε1,2,3,4=r2sinθ

(27)

For the contravariant components

%LeviCivita~1,~2,~3,~4=LeviCivita~1,~2,~3,~4

Ε1,2,3,41,2,3,4=1r2sinθ

(28)

In view of Εα,β,μ,ν=1|g|ϵα,β,μ,ν and Εα,β,μ,ν=|g|ϵα,β,μ,ν, we have

Ε1,2,3,4Ε1,2,3,41,2,3,4=−1

(29)

Mixed covariant and contravariant components

LeviCivita~1,2,3,4

2kr,t2r2sinθ

(30)

LeviCivita~1,~2,3,4

2kr,t2sinθ

(31)

Shortcut notation for computing an Array for the all-covariant LeviCivita

LeviCivita

An Array with the values of the nongalilean all-contravariant LeviCivita

LeviCivita~alpha,~beta,~mu,~nu,array

The nonzero components of the Array just computed

LeviCivita~mu,~nu,~alpha,~beta,nonzero

Εμ,ν,α,βμ,ν,α,β=1,2,3,4=1r2sinθ,1,2,4,3=1r2sinθ,1,3,2,4=1r2sinθ,1,3,4,2=1r2sinθ,1,4,2,3=1r2sinθ,1,4,3,2=1r2sinθ,2,1,3,4=1r2sinθ,2,1,4,3=1r2sinθ,2,3,1,4=1r2sinθ,2,3,4,1=1r2sinθ,2,4,1,3=1r2sinθ,2,4,3,1=1r2sinθ,3,1,2,4=1r2sinθ,3,1,4,2=1r2sinθ,3,2,1,4=1r2sinθ,3,2,4,1=1r2sinθ,3,4,1,2=1r2sinθ,3,4,2,1=1r2sinθ,4,1,2,3=1r2sinθ,4,1,3,2=1r2sinθ,4,2,1,3=1r2sinθ,4,2,3,1=1r2sinθ,4,3,1,2=1r2sinθ,4,3,2,1=1r2sinθ

(32)

Note you can still access the Galilean LeviCivita by passing the keyword galilean after the indices; compare:

%LeviCivita1,2,3,4%LeviCivita1,2,3,4,galilean

Ε1,2,3,4Ε1,2,3,4,galilean

(33)

value

r2sinθ1

(34)

Finally, compare the non-Galilean LeviCivita with its definition in terms of the determinant of the metric g_. For that purpose, first reset the meaning of LeviCivita to its default value

Setuplevicivita=galilean

levicivita=galilean

(35)

Εα,β,μ,ν=sqrt%g_determinantLeviCivitaα,β,μ,ν

Εα,β,μ,ν= g εα,β,μ,ν

(36)

Taking α,β,μ,ν equal to 1,2,3,4, we have

eval,`~``=`α,β,μ,ν,` $`,1,2,3,4

r2sinθ= g

(37)

simplifyvalue

r2sinθ=r2sinθ

(38)

Note the use the inert form, g , to represent the determinant of the metric in the formulas above. The design in the Physics package is such that, given any tensor with two indices, its determinant is computed when you index the tensor with the keyword determinant. For example, for the Schwarzschild metric g_ set at this point,

g_determinant

r4sinθ2

(39)

However, some formulations may require a representation of the determinant to perform algebraic manipulations, instead of the computed value of the determinant. In such cases use the inert form

%g_determinant

g

(40)

See Also

`.`, Array, ArrayElems, Christoffel, Coordinates, d_, DifferentialGeometry[Tensor][LeviCivita], g_, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Setup, value

References

  

Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.