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