# Vector sum in spherical coordinates

I can't seem to come up with a simple formula to head-tail adding two vectors in spherical coordinates. So I'd like to know:

1. Can anybody point out a way to do it in spherical coordinates (without converting back and forth from cartesian coordinates)?
2. For the sake of execution speed in a computer program, is it faster to do it straight in spherical coordinates or converting back and forth from cartesian coordinates?

update: to clarify, I'm not talking about the trivial case in which the tails of the two vectors lay in the same point

-
Depends: what are you intending to do? Do you want to know the coordinates of the point that you will end up at after moving along a particular vector from some other point? It's important to note that treating coordinates as vectors only works in exceedingly nice coordinate systems (e.g. Cartesian). –  Zhen Lin Jan 15 '11 at 9:07

Added: As pointed out by David Zaslavsky in his comment the sum below holds only in the trivial case in which $\overrightarrow{u}_P$, $\overrightarrow{v}_P$ are applied to the same point $P$. If the vectors $\overrightarrow{u}_P$, $\overrightarrow{v}_Q$ are applied to two different points $P,Q$, then the unit vectors $\overrightarrow{e}_{r},\overrightarrow{e}_{\theta },\overrightarrow{e}_{\varphi }$ have different directions, and consequently the sum $\overrightarrow{u}_P+\overrightarrow{v}_Q$ is given by a more complex formula and I do NOT see how to avoid the usual spherical to Cartesian coordinates conversion and back.

If you have two vectors in spherical coordinates

$\overrightarrow{u}=u_{r}\overrightarrow{e}_{r}+u_{\theta }\overrightarrow{e}% _{\theta }+u_{\varphi }\overrightarrow{e}_{\varphi }$

$\overrightarrow{v}=v_{r}\overrightarrow{e}_{r}+v_{\theta }\overrightarrow{e}% _{\theta }+v_{\varphi }\overrightarrow{e}_{\varphi }$

their sum is

$\overrightarrow{u}+\overrightarrow{v}=\left( u_{r}+v_{r}\right) \overrightarrow{e}_{r}+\left( u_{\theta }+v_{\theta }\right) \overrightarrow{% e}_{\theta }+\left( u_{\varphi }+v_{\varphi }\right) \overrightarrow{e}% _{\varphi }$

-
This only applies if the two vectors exist at the same point, though - such as if you had two vector fields and you wanted to add up the values at corresponding points. Because the OP talks about the head-tail method, I suspect that may not be the case here. –  David Z Jan 14 '11 at 22:38
@David Zaslavsky, You are right! I updated my answer. –  Américo Tavares Jan 15 '11 at 0:04