Hello I have a question: Is the formula for the cross product the same in spherical coordinates as in cartesian coordinates? I have found conflicting answers on the internet.

  • 2
    $\begingroup$ Might Mathematics be better suited for this question? $\endgroup$
    – Kyle Kanos
    Commented Jul 13, 2015 at 12:56
  • 3
    $\begingroup$ Also, it would be useful to include links to the "conflicting answers" you've found on the internet. $\endgroup$
    – Kyle Kanos
    Commented Jul 13, 2015 at 12:57
  • $\begingroup$ Yep: it's almost guaranteed that your "conflicting" formulas are the same when properly manipulated $\endgroup$ Commented Jul 13, 2015 at 14:37
  • $\begingroup$ Is there a particular application or more details that go with this question? $\endgroup$ Commented Apr 3, 2017 at 5:33

1 Answer 1


They are the same for vector fields but tend to be different for individual position vectors, so it can get complicated to think about their interrelationship.

Okay, so here's the deal. You're used to vectors not usually having a well-defined "place" where they live. We say that you get $\vec a + \vec b$ by "picking $\vec b$ up and placing its tail on the tip of $\vec a$. And that works in Cartesian coordinates really well, and it's a great visualization. Vectors don't have a position in space, we can move them around. That's only sort-of true.

Whenever you're dealing with curvilinear coordinates -- spherical is just an example! -- then in general, every point of space has its own coordinates, and we have to say where vectors are located in the space, if we want to specify their coordinates. The vector itself might still be easy to pick up and drop somewhere else, but its coordinates will not be.

If two vectors have certain coordinates at a certain point in space, then yes, we can add those coordinates directly. So the usual vocabulary/jargon here is that, attached to every point of space, there is a "tangent space" which is a normal 3D Cartesian-coordinate vector space, with basis vectors (for spherical coordinates) $\hat r, \hat \theta, \hat \phi$. If you live in a point's tangent space, not moving coordinates from that point, then vector addition is Cartesian.

Now, ou can express any vector you want at any point using its basis vectors. The cross product will work normally for any two vectors which are defined at the same point, because the basis vectors are orthonormal, as long as you figure out the proper orientation: in this case $\hat r \times \hat \theta = -\hat\phi$ usually, as when you're at $(x,y,z) = (1,0,0)$ you have $\hat r = \hat x$ and $\hat \theta = \hat y$ but $\hat \phi = -\hat z$. So to keep a right-handed "orientation" for your system, you want to list the components as "radial, then polar, then azimuthal", so the change-in-position vector $d\vec r = [dr, r~d\phi, r~\sin\phi~d\theta]$ in the coordinate system of the actual position $(r, \phi, \theta)$.

It turns out that this is enough to take derivatives of a scalar field which turn out to be vector fields: but things in turn get a hairier when you want to take the derivative of a vector field. It's not just that you need a tensor to do it, since you're relating some input displacement field $d\vec r$ to some field-change $d\vec a$, but the coordinates you're using are also shifting with $d\vec r$: $$d\vec a = \vec a(\vec r + d\vec r) - \vec a(\vec r) = da_r ~ \hat r + da_\phi ~ \hat\phi + da_\theta ~\hat\theta + a_r~d\hat r + a_\phi d\hat\phi + a_\theta ~ d\hat \theta.$$So that's messy.

Notice also that $(r, \phi, \theta)$ is not an ordinary sort of vector in a physics sense: it doesn't have the meaning that you'd expect if you naively convert it into a vector field. So you can't cross-product two of these together. Instead you have to specify a place in whose tangent space the "position vector" lives.

One "unbiased" choice would be $r = 0$, but this choice makes the coordinates a bit singular and you might have to simply revert to the Cartesian $[x,y,z] = [r \sin \phi \cos\theta, r\sin\phi\sin\theta, r\cos\phi]$ to make real headway. That is, you might use the $(r,\phi,\theta)$ system $(0,\pi/2,0)$ so that $\hat r = \hat x,~~\hat \phi = -\hat z,~~\hat\theta = \hat y$, which is right-handed when you preserve that ordering.

Another convenient choice for the position vector is to choose the point $(r, \theta, \phi)$, where the vector is simply $\vec r = r ~\hat r$. That's simple, and as before, we can express $d\vec r$ easily at this point, too. But when you try to cross two different positions and you get $(r_1 r_2)~ \hat r_1 \times \hat r_2$, don't you dare say that $\hat r_1 = \hat r_2$ therefore this whole thing is $0$, unless you know that for a fact! Two different position vectors are going to live in two different tangent spaces by this convention, and your cross product formula will not work across tangent spaces, but only within a tangent space.

Does that clear up why you see expressions where classical formulas work (e.g. vector fields, which are always defined over all points) and expressions where they don't (e.g. position coordinates)?

  • $\begingroup$ So let me see if I understand. 2 vectors can be multiplied using the same formula if they are located at the same point. For example, in spherical coordinates: (2,4,5) x (3,2,1) both located at the point (1,2,1). (Same formula) But if the vector (3,2,1) was located in (4,5,2) , then the same formula would not apply. Did I get what you are saying? $\endgroup$ Commented Jul 24, 2015 at 23:24
  • $\begingroup$ @DavidEspinoza Yes. $\endgroup$
    – CR Drost
    Commented Jul 25, 2015 at 0:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .