Il simbolo tridimensionale di Levi-Civita è una funzione che f
prende triple di numeri (i,j,k)
ciascuna in {1,2,3}
, a {-1,0,1}
, definite come:
f(i,j,k) = 0
quandoi,j,k
non sono distinti, ovveroi=j
oj=k
ok=i
f(i,j,k) = 1
quando(i,j,k)
è uno spostamento ciclico di(1,2,3)
, quello è uno di(1,2,3), (2,3,1), (3,1,2)
.f(i,j,k) = -1
quando(i,j,k)
è uno spostamento ciclico di(3,2,1)
, quello è uno di(3,2,1), (2,1,3), (1,3,2)
.
Il risultato è il segno di una permutazione di (1,2,3)
, con non permutazioni che danno 0. In alternativa, se associamo i valori 1,2,3
a vettori di base di unità ortogonali e_1, e_2, e_3
, allora f(i,j,k)
è il determinante della matrice 3x3 con colonne e_i, e_j, e_k
.
Ingresso
Tre numeri ciascuno {1,2,3}
in ordine. In alternativa, puoi scegliere di utilizzare indicizzato zero {0,1,2}
.
Produzione
Il loro valore della funzione Levi-Civita da {-1,0,1}
. Questo è il codice golf.
Casi test
Vi sono 27 possibili ingressi.
(1, 1, 1) => 0
(1, 1, 2) => 0
(1, 1, 3) => 0
(1, 2, 1) => 0
(1, 2, 2) => 0
(1, 2, 3) => 1
(1, 3, 1) => 0
(1, 3, 2) => -1
(1, 3, 3) => 0
(2, 1, 1) => 0
(2, 1, 2) => 0
(2, 1, 3) => -1
(2, 2, 1) => 0
(2, 2, 2) => 0
(2, 2, 3) => 0
(2, 3, 1) => 1
(2, 3, 2) => 0
(2, 3, 3) => 0
(3, 1, 1) => 0
(3, 1, 2) => 1
(3, 1, 3) => 0
(3, 2, 1) => -1
(3, 2, 2) => 0
(3, 2, 3) => 0
(3, 3, 1) => 0
(3, 3, 2) => 0
(3, 3, 3) => 0