Skip to content

Rotations in Three Dimensions

Three-dimensional rotations are the geometric origin of angular momentum. They rotate vectors, coordinate axes, wavefunctions, and operators, but those four statements do not all use the same formula. Most sign errors in angular momentum begin by silently switching between them.

This page fixes the geometry and conventions. The full angular-momentum commutators, ladder operators, eigenvalues, and spherical harmonics are developed in the later pages of this chapter.

An ordinary proper rotation of three-dimensional Euclidean space is represented by a real matrix R\mathcal R satisfying

RTR=I,det⁡R=1.\mathcal R^T\mathcal R=I, \qquad \det\mathcal R=1.

The first condition says that dot products and lengths are preserved:

(Rv)⋅(Rw)=v⋅w.(\mathcal R\mathbf v)\cdot(\mathcal R\mathbf w) = \mathbf v\cdot\mathbf w.

The determinant condition says that orientation is preserved. Reflections and full spatial inversion are orthogonal transformations too, but they have determinant −1-1 and are not proper rotations in three dimensions.

The group of all such matrices is SO(3)SO(3). The group-theoretic home for the matrix group itself is SO(3).

With the active convention, a rotation changes the vector while the coordinate axes are held fixed:

v↦v′=Rv.\mathbf v \mapsto \mathbf v' = \mathcal R\mathbf v.

For a rotation by θ\theta about the zz axis,

Rz(θ)=(cos⁡θ−sin⁡θ0sin⁡θcos⁡θ0001).\mathcal R_z(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 & 1 \end{pmatrix}.

Thus

(vx′vy′vz′)=(vxcos⁡θ−vysin⁡θvxsin⁡θ+vycos⁡θvz).\begin{pmatrix} v_x'\\ v_y'\\ v_z' \end{pmatrix} = \begin{pmatrix} v_x\cos\theta-v_y\sin\theta\\ v_x\sin\theta+v_y\cos\theta\\ v_z \end{pmatrix}.

A vector initially along the positive xx axis is carried toward the positive yy axis for small positive θ\theta.

Because det⁡R=1\det\mathcal R=1, cross products transform as axial geometry expects:

R(v×w)=(Rv)×(Rw).\mathcal R(\mathbf v\times\mathbf w) = (\mathcal R\mathbf v)\times(\mathcal R\mathbf w).

This orientation-preserving property is one reason rotations differ from parity.

A passive coordinate rotation describes the same geometric vector using rotated axes. If the new axes are related to the old axes by the same active matrix R\mathcal R, the coordinate column of the same vector changes by the inverse matrix:

vnew=R−1vold=RTvold.\mathbf v_{\rm new} = \mathcal R^{-1}\mathbf v_{\rm old} = \mathcal R^T\mathbf v_{\rm old}.

For the zz-axis example,

(vx′vy′vz′)=(cos⁡θsin⁡θ0−sin⁡θcos⁡θ0001)(vxvyvz).\begin{pmatrix} v_{x'}\\ v_{y'}\\ v_{z'} \end{pmatrix} = \begin{pmatrix} \cos\theta & \sin\theta & 0\\ -\sin\theta & \cos\theta & 0\\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} v_x\\ v_y\\ v_z \end{pmatrix}.

The inverse is not a contradiction. Active and passive rotations answer different questions:

  • active: where did the physical vector move in fixed axes?
  • passive: what are the components of the same vector in rotated axes?

The general convention warning is developed in Active and Passive Transformations.

For a spinless scalar wavefunction, the active rotation operator U(R)U(\mathcal R) acts by

(U(R)ψ)(r)=ψ(R−1r).(U(\mathcal R)\psi)(\mathbf r) = \psi(\mathcal R^{-1}\mathbf r).

The inverse appears for the same reason it appears in translations. The value of the new wavefunction at the old coordinate point r\mathbf r comes from the old point that rotates into r\mathbf r.

This formula preserves normalization because rotations preserve volume:

d3(Rr)=d3r.d^3(\mathcal R\mathbf r)=d^3r.

It also rotates the expectation value of position:

⟨R⟩Uψ=R⟨R⟩ψ.\langle\mathbf R\rangle_{U\psi} = \mathcal R\langle\mathbf R\rangle_\psi.

Equivalently, with the position operator kept as the measured observable,

U(R)†R U(R)=RR.U(\mathcal R)^\dagger\mathbf R\,U(\mathcal R) = \mathcal R\mathbf R.

The same equation holds for momentum:

U(R)†P U(R)=RP.U(\mathcal R)^\dagger\mathbf P\,U(\mathcal R) = \mathcal R\mathbf P.

If the state has spin, rotating the spatial argument is not enough. A spinful wavefunction has components, and a rotation can mix them:

(U(R)ψ)a(r)=∑bDab(s)(R) ψb(R−1r).(U(\mathcal R)\psi)_a(\mathbf r) = \sum_b D^{(s)}_{ab}(\mathcal R)\, \psi_b(\mathcal R^{-1}\mathbf r).

The matrix D(s)(R)D^{(s)}(\mathcal R) is the spin-ss representation of the rotation. For spin-1/21/2, it is naturally an SU(2)SU(2) matrix rather than an ordinary 3×33\times3 vector rotation matrix. The detailed spinor story belongs to Spin Rotations and SU(2) versus SO(3).

For small δθ\delta\theta,

Rz(δθ)=I+δθAz+O(δθ2),\mathcal R_z(\delta\theta) = I+\delta\theta A_z+O(\delta\theta^2),

where

Az=(0−10100000).A_z = \begin{pmatrix} 0 & -1 & 0\\ 1 & 0 & 0\\ 0 & 0 & 0 \end{pmatrix}.

The inverse rotation is

Rz(−δθ)=I−δθAz+O(δθ2).\mathcal R_z(-\delta\theta) = I-\delta\theta A_z+O(\delta\theta^2).

For a scalar wavefunction,

(Uz(δθ)ψ)(x,y,z)=ψ(x+δθ y,y−δθ x,z)+O(δθ2)=ψ−δθ(x∂∂y−y∂∂x)ψ+O(δθ2).\begin{aligned} (U_z(\delta\theta)\psi)(x,y,z) &= \psi( x+\delta\theta\,y, y-\delta\theta\,x, z ) +O(\delta\theta^2) \\ &= \psi - \delta\theta \left( x\frac{\partial}{\partial y} - y\frac{\partial}{\partial x} \right)\psi +O(\delta\theta^2). \end{aligned}

The corresponding quantum generator satisfies

Uz(δθ)=I−iℏδθ Lz+O(δθ2),U_z(\delta\theta) = I-\frac{i}{\hbar}\delta\theta\,L_z +O(\delta\theta^2),

so

Lz=−iℏ(x∂∂y−y∂∂x).L_z = -i\hbar \left( x\frac{\partial}{\partial y} - y\frac{\partial}{\partial x} \right).

This is the position-space orbital angular momentum generator about the zz axis. The full operator story is continued in Orbital Angular Momentum.

A finite rotation by angle θ\theta about a unit vector n^\hat{\mathbf n} is represented on Hilbert space by

U(n^,θ)=exp⁡(−iℏθ n^⋅J).U(\hat{\mathbf n},\theta) = \exp\left( -\frac{i}{\hbar}\theta\,\hat{\mathbf n}\cdot\mathbf J \right).

The generator J\mathbf J depends on the Hilbert space:

  • for a scalar spinless particle, J=L\mathbf J=\mathbf L;
  • for a spin degree of freedom alone, J=S\mathbf J=\mathbf S;
  • for a spinful particle in space, J=L+S\mathbf J=\mathbf L+\mathbf S.

The shared commutator algebra is the subject of Angular Momentum Algebra.

A Hamiltonian is rotationally invariant when

U(R)HU(R)†=HU(\mathcal R)H U(\mathcal R)^\dagger = H

for every rotation under consideration. Infinitesimally this gives

[H,Ji]=0[H,J_i]=0

for the corresponding generators, under the usual domain assumptions.

For a spinless particle in a central potential,

H=P22m+V(r),H=\frac{\mathbf P^2}{2m}+V(r),

rotational invariance is generated by L\mathbf L. The resulting labels and degeneracies are treated in Central Potentials and Rotational Symmetry.

  • Using the active vector formula when doing a passive coordinate change.
  • Forgetting the inverse argument in (U(R)ψ)(r)=ψ(R−1r)(U(\mathcal R)\psi)(\mathbf r)=\psi(\mathcal R^{-1}\mathbf r).
  • Treating a spinor rotation as a 3×33\times3 rotation of components.
  • Calling every orthogonal transformation a rotation; reflections and parity have determinant −1-1.
  • Assuming rotations commute because translations commute.
  • Using L\mathbf L as the generator when spin contributes to the total rotation.
  • J. J. Sakurai and J. Napolitano, Modern Quantum Mechanics, 3rd ed., Cambridge University Press, 2020.
  • R. Shankar, Principles of Quantum Mechanics, 2nd ed., Springer, 1994.
  • B. C. Hall, Quantum Theory for Mathematicians, Springer, 2013.
  • A. R. Edmonds, Angular Momentum in Quantum Mechanics, Princeton University Press, 1957.
  1. Verify that Rz(θ)\mathcal R_z(\theta) preserves the length of a vector.
Solution

For

vx′=vxcos⁡θ−vysin⁡θ,vy′=vxsin⁡θ+vycos⁡θ,vz′=vz,v_x'=v_x\cos\theta-v_y\sin\theta, \qquad v_y'=v_x\sin\theta+v_y\cos\theta, \qquad v_z'=v_z,

one finds

(vx′)2+(vy′)2=vx2(cos⁡2θ+sin⁡2θ)+vy2(sin⁡2θ+cos⁡2θ)+2vxvy(−cos⁡θsin⁡θ+sin⁡θcos⁡θ)=vx2+vy2.\begin{aligned} (v_x')^2+(v_y')^2 &= v_x^2(\cos^2\theta+\sin^2\theta) + v_y^2(\sin^2\theta+\cos^2\theta) \\ &\quad + 2v_xv_y(-\cos\theta\sin\theta+\sin\theta\cos\theta) \\ &= v_x^2+v_y^2. \end{aligned}

Adding vz2v_z^2 gives ∣v′∣2=∣v∣2\lvert\mathbf v'\rvert^2=\lvert\mathbf v\rvert^2.

  1. A vector has old components (1,0,0)(1,0,0). If the coordinate axes are passively rotated by +π/2+\pi/2 about zz, what are the new components?
Solution

For a passive coordinate rotation,

vnew=Rz(−π/2)vold.\mathbf v_{\rm new} = \mathcal R_z(-\pi/2)\mathbf v_{\rm old}.

Since

Rz(−π/2)=(010−100001),\mathcal R_z(-\pi/2) = \begin{pmatrix} 0 & 1 & 0\\ -1 & 0 & 0\\ 0 & 0 & 1 \end{pmatrix},

the new components are

(0−10).\begin{pmatrix} 0\\ -1\\ 0 \end{pmatrix}.

The vector did not move; the axes did.

  1. Expand the active scalar wavefunction rotation about zz to first order and identify the generator.
Solution

The active rotation is

(Uz(δθ)ψ)(x,y,z)=ψ(x+δθ y,y−δθ x,z)+O(δθ2).(U_z(\delta\theta)\psi)(x,y,z) = \psi( x+\delta\theta\,y, y-\delta\theta\,x, z ) +O(\delta\theta^2).

Taylor expansion gives

(Uz(δθ)ψ)=ψ−δθ(x∂∂y−y∂∂x)ψ+O(δθ2).(U_z(\delta\theta)\psi) = \psi - \delta\theta \left( x\frac{\partial}{\partial y} - y\frac{\partial}{\partial x} \right)\psi +O(\delta\theta^2).

Comparing with

Uz(δθ)=I−iℏδθLz+O(δθ2)U_z(\delta\theta) = I-\frac{i}{\hbar}\delta\theta L_z +O(\delta\theta^2)

gives

Lz=−iℏ(x∂∂y−y∂∂x).L_z = -i\hbar \left( x\frac{\partial}{\partial y} - y\frac{\partial}{\partial x} \right).