Cross product in seven dimension: I am getting wrong result

43 Views Asked by At

I am trying to calculate cross product of seven dimensional vector. However, it seems that I am getting it wrong as the cross product of a vector with itself is coming out to be zero. Any help will be appreciated.

I am using the following multiplication table:

×   e1   e2  e3  e4  e5  e6  e7
e1  0   -e3 -e2  e5 -e4 -e7  e6
e2  -e3  0   e1  e6  e7 -e4 -e5
e3  e2  -e1  0   e7 -e6  e5 -e4
e4  -e5 -e6 -e7  0   e1  e2  e3
e5  e4  -e7  e6 -e1  0  -e3  e2
e6  e7  e4  -e5 -e2  e3  0  -e1
e7  -e6 e5   e4 -e3 -e2  e1  0

(Reference for table: https://everything2.com/title/seven-dimensional+cross+product)

function Prod = SevenDimCrossProd()
%
Vec1 = [1 2 3 4 5 6 7]';
Vec2 = [1 2 3 4 5 6 7]';
%
    AMat1 = zeros(7,7);     AMat2 = zeros(7,7);     AMat3 = zeros(7,7);     AMat4 = zeros(7,7);     AMat5 = zeros(7,7);         AMat6 = zeros(7,7);     AMat7 = zeros(7,7);
    AMat1(2,3) = -1;   AMat1(3,2) = 1;  AMat1(4,5) = -1;   AMat1(5,4) = 1;  AMat1(6,7) = 1;   AMat1(7,6) = -1;
    AMat2(1,3) = -1;   AMat2(3,1) = -1;  AMat2(4,6) = -1;   AMat2(5,7) = -1;  AMat2(6,4) = 1;   AMat2(7,5) = 1;    
    AMat3(1,2) = -1;   AMat3(2,1) = 1;  AMat3(4,7) = -1;   AMat3(5,6) = 1;  AMat3(6,5) = -1;   AMat3(7,4) = 1;
    AMat4(1,5) = 1;   AMat4(2,6) = 1;  AMat4(3,7) = 1;   AMat4(5,1) = -1;  AMat4(6,2) = -1;   AMat4(7,3) =-1; 
    AMat5(1,4) = -1;   AMat5(2,7) = 1;  AMat5(3,6) = -1;   AMat5(4,1) = 1;  AMat5(6,3) = 1;   AMat5(7,2) =-1;
    AMat6(1,7) = -1;   AMat6(2,4) = -1;  AMat6(3,5) = 1;   AMat6(4,2) = 1;  AMat6(5,3) = -1;   AMat6(7,1) =1;  
    AMat7(1,6) = 1;   AMat7(2,5) = -1;  AMat7(3,4) = -1;   AMat7(4,3) = 1;  AMat7(5,2) = 1;   AMat7(6,1) =-1;
  %
    AMat_Tr = reshape([AMat1; AMat2; AMat3; AMat4; AMat5; AMat6; AMat7]*Vec1, [7,7]);
    Prod = AMat_Tr*Vec2;

The answer is

-12
0
0
0
0
0
0