Dot product in Curvilinear Coordinate Systems

I came across the dot product in polar, cylindrical, and spherical coordinates, today. After checking they were equivalent to the Cartesian versions, I started wondering how one would figure them out without resorting to conversion to Cartesian coordinates. Of course, one could use the fact that $\langle a,b\rangle =|a||b|\cos(\theta)$, IF one knew some convenient formula for the angle between two vectors in whatever coordinate system they were considering. But what if one were working in an unfamiliar coordinate system -- say elliptical coordinates or bipolar cylindrical or something even more exotic -- and didn't know a formula for that angle off the top of their head? Is there a general way to proceed in finding the formula for the dot product in curvilinear coordinates without converting them first to Cartesian coordinates?

• This seems to require differential geometry (tensor algebra/ differential forms), which I'll be studying next Fall. So I guess I'll just wait until then to try to figure this out. – user156332 Jun 10 '14 at 21:36

The chosen vectors will form an orthonormal basis for the space, adapted to the particular curvilinear coordinates. (Key words: moving frame.) Then you can find the dot product of two vectors by expanding them in this basis and using the standard formula $\sum a_i b_i$.
Example: for polar coordinates, the basis consists of unit vectors $\hat e_r$, pointing away from the origin, and $\hat e_\theta$, pointing at right angle to $\hat e_r$. Given two vectors $\vec u = u_1 \hat e_r+ u_2\hat e_\theta$ and $\vec v = v_1 \hat e_r+ v_2\hat e_\theta$, we can compute $\vec u\cdot \vec v = \sum_{i=1}^2 u_i v_i$.