Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

A Cross Product Matrix

  1. May 10, 2017 #1
    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 =
    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
    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?

    Last edited: May 10, 2017
  2. jcsd
  3. May 10, 2017 #2


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    From where in the linked wiki article was this statement taken?

    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.
  4. May 10, 2017 #3
    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.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted