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

1. Jul 3, 2014

### anurag

Hi everyone,
I have to find out how to do cross and dot product for two vectors in non-orthogonal coordinate system.
thanks

2. Jul 3, 2014

### jk86

You could always use the $\vec{u}\cdot\vec{v}=|\vec{u}|\ |\vec{v}|\cos\theta$ and $\vec{u}\times\vec{v}=|\vec{u}|\ |\vec{v}|\sin\theta \ \hat{n}$ definitions. In general the dot and cross product are independent of coordinate system.

3. Jul 3, 2014

### anurag

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.

4. Jul 3, 2014

### jk86

Ah, OK I'm sorry I should have read your post more carefully. If you are calculating the dot product of $\vec{a}\cdot\vec{b}$, 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:
\begin{align} x &= u + v\\ y &= u - v\\ z &= 3uv + 2w \end{align}
If the basis vectors for the non-orthogonal (u,v,w) coordinate system are $\vec{e}_u,\vec{e}_v,\vec{e}_{w}$ (and they are $\hat{e}_x,\hat{e}_y,\hat{e}_z$ for the Cartesian basis) then you can write a general vector $\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$. You can then find the non-orthogonal basis vectors by:
\begin{align} \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 \end{align}
You can verify that the example is indeed non-orthogonal by computing dot products such as $\vec{e}_u\cdot\vec{e}_w = (3v\hat{e}_z)\cdot(2\hat{e}_z)=6v$. 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 $u,v,w$ basis indices. Then for some vectors $\vec{a}$ and $\vec{b}$, you get $\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$. You are then simply sticking a matrix $g_{ij}$ 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 $[\vec{a}\times\vec{b}]_i = \epsilon_{ijk}\vec{a}^j\vec{b}^k$. I think it just becomes $[\vec{a}\times\vec{b}]_i = g^{ij}\epsilon_{jkl}a^{k}b^{l}$, where $\epsilon_{jkl}$ is the Levi-Civita symbol.