# Levi-Civita notation

in vector analysis,

A × (B × C) = B(A · C) − C(A · B) is known as back-cab rule.

using Levi-Civita notation,

[A × (B × C)]_i

= ε_ijk A_j ε_klm B_l C_m

= ε_ijk ε_klm A_j B_l C_m

= (δ_il δ_jm − δ_im δ_jl) A_j B_l C_m

= B_i (A · C) − C_i (A · B)

ε_123 as  1,

ε_ijk =  1 (ijk even permutation),

-1 (ijk odd permutation),

0 (otherwise)

ε_ijk ε_klm = δ_il δ_jm − δ_im δ_jl

where ε_ijk ε_klm is written in Einstein notation, which means Σ(k=1:3)ε_ijk ε_klm

<test program to verify ε_ijk ε_klm = δ_il δ_jm − δ_im δ_jl>

#include <stdio.h>

int main() {

int d[4][4] = { 0 };

int e[4][4][4] = { 0 };

int i,j,k,l,m,s;

d[1][1] = d[2][2] = d[3][3] = 1;

e[1][2][3] = e[2][3][1] = e[3][1][2]  = 1;

e[1][3][2] = e[2][1][3] = e[3][2][1] = -1;

for (i=1;i<=3;i++) {

for (j=1;j<=3;j++) {

for (l=1;l<=3;l++) {

for (m=1;m<=3;m++) {

s = 0;

for (k=1;k<=3;k++) {

s += e[i][j][k]*e[k][l][m];

}

printf("e_%d%dk e_k%d%d           = %d\n", i,j,l,m,s );

printf("d_%d%d d_%d%d − d_%d%d d_%d%d = %d\n\n", i,l,j,m,i,m,j,l,d[i][l]*d[j][m]-d[i][m]*d[j][l]);

}

}

}

}

return 0;

}

Write a comment