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 Setup⁡levicivita=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
with⁡Physics:
Setup⁡mathematicalnotation=true
mathematicalnotation=true
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
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
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
and so, for the galilean all-covariant LeviCivita,
LeviCivita0,1,2,3
−1
LeviCivita is totally antisymmetric, so when two indices are equal it returns 0
LeviCivita0,0,2,3
0
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μ,ν,α,β
εα,β,μ,ν
LeviCivitaβ,α,ν,μ
−
To set the scenario as a curved spacetime set the metric using Setup, for instance indicating the square of the spacetime interval:
ds2≔r2⁢dtheta2+r2⁢sin⁡θ2⁢dphi2−2⁢dt⁢dr−2⁢k⁡r,t2⁢dt2
ds2≔r2⁢dθ2+r2⁢sin⁡θ2⁢dφ2−2⁢dt⁢dr−2⁢k⁡r,t2⁢dt2
While setting the metric set also the corresponding coordinates
Setup⁡coordinates=spherical,metric=ds2
⁢Systems of spacetime coordinates are:⁢X=r,θ,φ,t
⁢_______________________________________________________
Coordinates: r,θ,φ,t. Signature: - - - +
gμ,ν=000−10r20000r2⁢sin⁡θ20−100−2⁢k⁡r,t2
Setting lowercaselatin_is letters to represent space indices
_______________________________________________________
coordinatesystems=X,metric=1,4=−1,2,2=r2,3,3=r2⁢sin⁡θ2,4,4=−2⁢k⁡r,t2,spaceindices=lowercaselatin_is
At this point LeviCivita still represents the galilean εμ,ν,α,β.
LeviCivitaα,β,μ,ν
LeviCivita1,2,3,4
LeviCivita1,1,3,4
%d_ρ=d_ρ⁡
∂ρ⁡εα,β,μ,ν=0
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
value⁡
1≠r2⁢sin⁡θ
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
Define⁡
Defined objects with tensor properties
▿μ,γμ,Εα,β,μ,ν,σμ,Rμ,ν,Rμ,ν,α,β,Cμ,ν,α,β,∂μ,gμ,ν,γi,j,Γμ,ν,α,Gμ,ν,εα,β,μ,ν,Xμ
Now we have
Εdefinition
Εα,β,μ,ν=εα,β,μ,ν,nongalilean
%Epsilon1,2,3,4≠%LeviCivita1,2,3,4
Ε1,2,3,4≠ε1,2,3,4
r2⁢sin⁡θ≠1
Alternatively, you can set LeviCivita as nongalilean by default using Setup
Setup⁡levicivita=nongalilean
levicivita=nongalilean
Note the change in the display, reflecting the nongalilean character of LeviCivita
Εα,β,μ,ν
The non-Galilean form is also totally antisymmetric
Its derivative is not zero in general
∂ρ⁡Εα,β,μ,ν=∂ρ⁡Εα,β,μ,ν
%LeviCivita1,2,3,4=LeviCivita1,2,3,4
Ε1,2,3,4=r2⁢sin⁡θ
For the contravariant components
%LeviCivita~1,~2,~3,~4=LeviCivita~1,~2,~3,~4
Ε⁢1,2,3,4⁢1,2,3,4=−1r2⁢sin⁡θ
In view of Εα,β,μ,ν=1−|⁢g⁢|⁢ϵα,β,μ,ν and Εα,β,μ,ν=−|⁢g⁢|⁢ϵα,β,μ,ν, we have
⁢
Ε1,2,3,4⁢Ε⁢1,2,3,4⁢1,2,3,4=−1
Mixed covariant and contravariant components
LeviCivita~1,2,3,4
2⁢k⁡r,t2⁢r2⁢sin⁡θ
LeviCivita~1,~2,3,4
2⁢k⁡r,t2⁢sin⁡θ
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=−1r2⁢sin⁡θ,1,2,4,3=1r2⁢sin⁡θ,1,3,2,4=1r2⁢sin⁡θ,1,3,4,2=−1r2⁢sin⁡θ,1,4,2,3=−1r2⁢sin⁡θ,1,4,3,2=1r2⁢sin⁡θ,2,1,3,4=1r2⁢sin⁡θ,2,1,4,3=−1r2⁢sin⁡θ,2,3,1,4=−1r2⁢sin⁡θ,2,3,4,1=1r2⁢sin⁡θ,2,4,1,3=1r2⁢sin⁡θ,2,4,3,1=−1r2⁢sin⁡θ,3,1,2,4=−1r2⁢sin⁡θ,3,1,4,2=1r2⁢sin⁡θ,3,2,1,4=1r2⁢sin⁡θ,3,2,4,1=−1r2⁢sin⁡θ,3,4,1,2=−1r2⁢sin⁡θ,3,4,2,1=1r2⁢sin⁡θ,4,1,2,3=1r2⁢sin⁡θ,4,1,3,2=−1r2⁢sin⁡θ,4,2,1,3=−1r2⁢sin⁡θ,4,2,3,1=1r2⁢sin⁡θ,4,3,1,2=1r2⁢sin⁡θ,4,3,2,1=−1r2⁢sin⁡θ
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
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
Setup⁡levicivita=galilean
levicivita=galilean
Εα,β,μ,ν=sqrt⁡−%g_determinant⁢LeviCivitaα,β,μ,ν
Εα,β,μ,ν=− g ⁢εα,β,μ,ν
Taking α,β,μ,ν equal to 1,2,3,4, we have
eval⁡,`~``=`⁡α,β,μ,ν,` $`,1,2,3,4
r2⁢sin⁡θ=− g
simplify⁡value⁡
r2⁢sin⁡θ=r2⁢sin⁡θ
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
−r4⁢sin⁡θ2
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
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.
Compatibility
The Physics[LeviCivita] command was introduced in Maple 16.
For more information on Maple 16 changes, see Updates in Maple 16.
The Physics[LeviCivita] command was updated in Maple 2024.
Download Help Document