1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Cross and dot product of two vectors in non-orthogonal coordinate

  1. Jul 3, 2014 #1
    Hi everyone,
    I have to find out how to do cross and dot product for two vectors in non-orthogonal coordinate system.
  2. jcsd
  3. Jul 3, 2014 #2
    You could always use the [itex]\vec{u}\cdot\vec{v}=|\vec{u}|\ |\vec{v}|\cos\theta[/itex] and [itex]\vec{u}\times\vec{v}=|\vec{u}|\ |\vec{v}|\sin\theta \ \hat{n}[/itex] definitions. In general the dot and cross product are independent of coordinate system.
  4. Jul 3, 2014 #3
    Dear jk86,
    I don't think so. Consider a non-orthogonal coordinate system like in which angle between any two axis in less than 90 degree. and two vector along x and y axis [1 0 0] & [0 1 0], then the normal cross product is [0 0 1] which is along z-direction but for this coordinate system, z is not perpendicular to x and y axis. and you know cross product of two vector should be perpendicular to both vector.
  5. Jul 3, 2014 #4
    Ah, OK I'm sorry I should have read your post more carefully. If you are calculating the dot product of [itex]\vec{a}\cdot\vec{b}[/itex], you can expand each in terms of its contravariant components. As an example, define a coordinate system (u,v,w) via the Cartesian coordinates (x,y,z) using some relations:
    x &= u + v\\
    y &= u - v\\
    z &= 3uv + 2w
    If the basis vectors for the non-orthogonal (u,v,w) coordinate system are [itex]\vec{e}_u,\vec{e}_v,\vec{e}_{w}[/itex] (and they are [itex]\hat{e}_x,\hat{e}_y,\hat{e}_z[/itex] for the Cartesian basis) then you can write a general vector [itex]\vec{r}=x\hat{e}_x + y\hat{e}_y+z\hat{e}_z=(u+v)\hat{e}_x + (u-v)\hat{e}_y + (3uv + 2w)\hat{e}_z[/itex]. You can then find the non-orthogonal basis vectors by:
    \vec{e}_u &= \frac{\partial \vec{r}}{\partial u} = \hat{e}_x + \hat{e}_y + 3v\hat{e}_z\\
    \vec{e}_v &= \frac{\partial \vec{r}}{\partial u} = \hat{e}_x - \hat{e}_y + 3u\hat{e}_z\\
    \vec{e}_w &= \frac{\partial \vec{r}}{\partial u} = 2\hat{e}_z
    You can verify that the example is indeed non-orthogonal by computing dot products such as [itex]\vec{e}_u\cdot\vec{e}_w = (3v\hat{e}_z)\cdot(2\hat{e}_z)=6v[/itex]. To compute more general dot products, and make all this simpler, you should first find the metric tensor:
    g_{ij}\equiv \vec{e}_i\cdot\vec{e}_j = \begin{bmatrix}2+9v^2 & 9uv & 6v\\ 9uv & 2+9u^2 & 6u\\ 6v & 6u & 4\end{bmatrix}
    where i,j refer to [itex]u,v,w[/itex] basis indices. Then for some vectors [itex]\vec{a}[/itex] and [itex]\vec{b}[/itex], you get [itex]\vec{a}\cdot\vec{b}=(\sum_i a^i\vec{e}_i)\cdot (\sum_j b^j\vec{e}_j)=\sum_{ij}g_{ij}a^ib^j[/itex]. You are then simply sticking a matrix [itex]g_{ij}[/itex] in between the vectors---a matrix which is diagonal in an orthogonal coordinate system. As for the cross product you should be able to do something similar using the orthonormal basis definition [itex][\vec{a}\times\vec{b}]_i = \epsilon_{ijk}\vec{a}^j\vec{b}^k[/itex]. I think it just becomes [itex][\vec{a}\times\vec{b}]_i = g^{ij}\epsilon_{jkl}a^{k}b^{l}[/itex], where [itex]\epsilon_{jkl}[/itex] is the Levi-Civita symbol.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Similar Discussions: Cross and dot product of two vectors in non-orthogonal coordinate