# Cross Product Matrix

• A
If given a position vector defined for a orthogonal curvilinear coordinate system HOW would the matrices that make up the Levi Civita 3x3x3 matrix remain the same?

"Levi Civita 3x3x3 is said to be independent of any coordinate system or metric tensor"(https://en.wikipedia.org/wiki/Levi-Civita_symbol)

Position Vector in a cartesian coordinate system
R =
[x;y;z] = x*i + y*j + z*k = x*[1;0;0] + y*[0;1;0] + z*[0;0;1]
Cartesian Unit Vectors
i = [1;0;0], j = [0;1;0], k = [0;0;1]
Angular Velocity Vector
w =
[w1;w2;w3]
Velocity Vector
V =
cross(w,R) = w x R = CPM(w)*R
Cross Product Matrix (CPM) Derivation

Matrices that make up each 'page' of the 3x3x3 alternating tensor/symbol/Levi-Civita symbol
I = j*transpose(k) - k*transpose(j) = [0 0 0; 0 0 1; 0 -1 0]
J = -(i*transpose(k) - k*transpose(i)) = [0 0 -1; 0 0 0; 1 0 0]
K = i*transpose(j) - j*transpose(i) = [0 1 0; -1 0 0; 0 0 0]​

LeviCivita here is a 3x3x3 matrix
LeviCivita(all rows, all columns, page1) = I
LeviCivita(all rows, all columns, page2) = J
LeviCivita(all rows, all columns, page3) = K

CPM = transpose(w)*LeviCivita
= [transpose(w)*LeviCivita(all rows, all columns, page1) ; transpose(w)*LeviCivita(all rows, all columns, page2); ......transpose(w)*LeviCivita(all rows, all columns, page3) ]
= [transpose(w)*I ; transpose(w)*J ; transpose(w)*K ]​

[ 0 -w3 w2 ]
[ w3 0 -w1 ] = CPM(w)
[ -w2 w1 0 ]

And, as expected V = w x R = CPM(w)*R = [w2*z - w3*y; w3*x - w1*z; w1*y - w2*x]

--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------

Again how would the Levi Civita 3x3x3 matrix remain the same in an orthogonal curvilinear coordinate system?

For example given the position vector defined in spherical coordinates. Coordinates: r = radius, o = theta, p = phi
R = [r*cos(o)*sin(p); r*sin(o)*sin(p); r*cos(p)] = r*normalized_r
normalized_r
is the normalized unit vector for the r direction​

Should one assume the following to arrive at the matrices that form the Levi Civita symbol:
r = o*transpose(p) - o*transpose(p)
o = -(r*transpose(p) - p*transpose(r))
p = r*transpose(o) - o*transpose(r)​

where the unit vectors are found from:
r = gradient(x) = [partial_dx/partial_dr; partial_dx/partial_do; partial_dx/partial_dp]
o = gradient(y) = [partial_dy/partial_dr; partial_dy/partial_do; partial_dy/partial_dp]
p = gradient(z) = [partial_dz/partial_dr; partial_dz/partial_do; partial_dz/partial_dp]

OR Should one use the normalized unit vectors to form the matrices instead?
r = normalized_o*transpose(normalized_p) - normalized_o*transpose(normalized_o)
o = -(normalized_r*transpose(normalized_p) - normalized_p*transpose(normalized_r))
p = normalized_r*transpose(normalized_o) - normalized_o*transpose(normalized_r)

None of these resulted in the matrices that comprised the Levi Civita 3x3x3 matrix.

This spherical coordinate system is not right handed. Should one change the order from r, o, p to r, p, o?

https://math.stackexchange.com/ques...lculating-dot-and-cross-products-in-spherical

Last edited:

andrewkirk
Homework Helper
Gold Member
If given a position vector defined for a orthogonal curvilinear coordinate system HOW would the matrices that make up the Levi Civita 3x3x3 matrix remain the same?

If it's from the section entitled Levi-Civita Tensors then note needs to be taken of the qualification stated that the agreement holds only 'wherever the coordinate system is such that the basis of the tangent space is orthonormal with respect to the metric and matches a selected orientation.'

IIRC the basis of the tangent space that arises from spherical coordinates is orthogonal but not orthonormal.

If it's from the section entitled Levi-Civita Tensors then note needs to be taken of the qualification stated that the agreement holds only 'wherever the coordinate system is such that the basis of the tangent space is orthonormal with respect to the metric and matches a selected orientation.'

IIRC the basis of the tangent space that arises from spherical coordinates is orthogonal but not orthonormal.

I am not following.

I should have said: assuming that the Levi Civita 3x3x3 matrix would have to remain the same for orthogonal curvilinear coordinates. That's my own thought as I knew I had to somehow generate the same velocity vector. And I think the article confirms my thinking; I quoted it in the beginning of my post: "Levi-Civita symbol are independent of any metric tensor and coordinate system"

But if that's the case how do I get those matrices that form the 3x3x3 for spherical coordinates?

Should I use the normalized spherical unit vectors to generate that 3x3x3? As spherical is orthogonal and not orthonormal.