In theoretical physics, the composition of two noncollinear Lorentz boosts results in a Lorentz transformation that is not a pure boost but is the composition of a boost and a rotation. This rotation is called Thomas rotation, Thomas–Wigner rotation or Wigner rotation. The rotation was discovered and proved by Ludwik Silberstein in his 1914 book 'Relativity', rediscovered by Llewellyn Thomas in 1926,^{[1]} and rederived by Wigner in 1939.^{[2]} Wigner acknowledged Silberstein. If a sequence of noncollinear boosts returns an object to its initial velocity, then the sequence of Wigner rotations can combine to produce a net rotation called the Thomas precession.^{[3]}
There are still ongoing discussions about the correct form of equations for the Thomas rotation in different reference systems with contradicting results.^{[4]} Goldstein:^{[5]}
Einstein's principle of velocity reciprocity (EPVR) reads^{[6]}
With less careful interpretation, the EPVR is seemingly violated in some models.^{[7]} There is, of course, no true paradox present.
Let it be u the velocity in which the lab reference frame moves respect an object called A and let it be v the velocity in which another object called B is moving, measured from the lab reference frame. If u and v are not aligned the relative velocities of these two bodies will not be opposite, that is since there is a rotation between them
The velocity that A will measure on B will be:
The Lorentz factor for the velocities that either A sees on B or B sees on A:
The angle of rotation can be calculated in two ways:
Or:
And the axis of rotation is:
When studying the Thomas rotation at the fundamental level, one typically uses a setup with three coordinate frames, Σ, Σ′ Σ′′. Frame Σ′ has velocity u relative to frame Σ, and frame Σ′′ has velocity v relative to frame Σ′.
The axes are, by construction, oriented as follows. Viewed from Σ′, the axes of Σ′ and Σ are parallel (the same holds true for the pair of frames when viewed from Σ.) Also viewed from Σ′, the spatial axes of Σ′ and Σ′′ are parallel (and the same holds true for the pair of frames when viewed from Σ′′.)^{[8]} This is an application of EVPR: If u is the velocity of Σ′ relative to Σ, then u′ = −u is the velocity of Σ relative to Σ′. The velocity 3vector u makes the same angles with respect to coordinate axes in both the primed and unprimed systems. This does not represent a snapshot taken in any of the two frames of the combined system at any particular time, as should be clear from the detailed description below.
This is possible, since a boost in, say, the positive zdirection, preserves orthogonality of the coordinate axes. A general boost B(w) can be expressed as L = R^{−1}(e_{z}, w)B_{z}(w)R(e_{z}, w), where R(e_{z}, w) is a rotation taking the zaxis into the direction of w and B_{z} is a boost in the new zdirection.^{[9]}^{[10]}^{[11]} Each rotation retains the property that the spatial coordinate axes are orthogonal. The boost will stretch the (intermediate) zaxis by a factor γ, while leaving the intermediate xaxis and yaxis in place.^{[12]} The fact that coordinate axes are nonparallel in this construction after two consecutive noncollinear boosts is a precise expression of the phenomenon of Thomas rotation.^{[nb 1]}
The velocity of Σ′′ as seen in Σ is denoted w_{d} = u ⊕ v, where ⊕ refers to the relativistic addition of velocity (and not ordinary vector addition), given by^{[13]}

(VA 2) 
and
is the Lorentz factor of the velocity u (the vertical bars u indicate the magnitude of the vector). The velocity u can be thought of the velocity of a frame Σ′ relative to a frame Σ, and v is the velocity of an object, say a particle or another frame Σ′′ relative to Σ′. In the present context, all velocities are best thought of as relative velocities of frames unless otherwise specified. The result w = u ⊕ v is then the relative velocity of frame Σ′′ relative to a frame Σ.
Although velocity addition is nonlinear, nonassociative, and noncommutative, the result of the operation correctly obtains a velocity with a magnitude less than c. If ordinary vector addition was used, it would be possible to obtain a velocity with a magnitude larger than c. The Lorentz factor γ of both composite velocities are equal,
and the norms are equal under interchange of velocity vectors
Since the two possible composite velocities have equal magnitude, but different directions, one must be a rotated copy of the other. More detail and other properties of no direct concern here can be found in the main article.
Consider the reversed configuration, namely, frame Σ moves with velocity −u relative to frame Σ′, and frame Σ′, in turn, moves with velocity −v relative to frame Σ′′. In short, u → − u and v → −v by EPVR. Then the velocity of Σ relative to Σ′′ is (−v) ⊕ (−u) ≡ −v ⊕ u. By EPVR again, the velocity of Σ′′ relative to Σ is then w_{i} = v ⊕ u. (A)
One finds w_{d} ≠ w_{i}. While they are equal in magnitude, there is an angle between them. For a single boost between two inertial frames, there is only one unambiguous relative velocity (or its negative). For two boosts, the peculiar result of two inequivalent relative velocities instead of one seems to contradict the symmetry of relative motion between any two frames. Which is the correct velocity of Σ′′ relative to Σ? Since this inequality may be somewhat unexpected and potentially breaking EPVR, this question is warranted.^{[nb 2]}
The answer to the question lies in the Thomas rotation, and that one must be careful in specifying which coordinate system is involved at each step. When viewed from Σ, the coordinate axes of Σ and Σ′′ are not parallel. While this can be hard to imagine since both pairs (Σ, Σ′) and (Σ′, Σ′′) have parallel coordinate axes, it is easy to explain mathematically.
Velocity addition does not provide a complete description of the relation between the frames. One must formulate the complete description in terms of Lorentz transformations corresponding to the velocities. A Lorentz boost with any velocity v (magnitude less than c) is given symbolically by
where the coordinates and transformation matrix are compactly expressed in block matrix form
and, in turn, r, r′, v are column vectors (the matrix transpose of these are row vectors), and γ_{v} is the Lorentz factor of velocity v. The boost matrix is a symmetric matrix. The inverse transformation is given by
It is clear that to each admissible velocity v there corresponds a pure Lorentz boost,
Velocity addition u⊕v corresponds to the composition of boosts B(v)B(u) in that order. The B(u) acts on X first, then B(v) acts on B(u)X. Notice succeeding operators act on the left in any composition of operators, so B(v)B(u) should be interpreted as a boost with velocities u then v, not v then u. Performing the Lorentz transformations by block matrix multiplication,
the composite transformation matrix is^{[14]}
and, in turn,
Here γ is the composite Lorentz factor, and a and b are 3×1 column vectors proportional to the composite velocities. The 3×3 matrix M will turn out to have geometric significance.
The inverse transformations are
and the composition amounts to a negation and exchange of velocities,
If the relative velocities are exchanged, looking at the blocks of Λ, one observes the composite transformation to be the matrix transpose of Λ. This is not the same as the original matrix, so the composite Lorentz transformation matrix is not symmetric, and thus not a single boost. This, in turn, translates to the incompleteness of velocity composition from the result of two boosts; symbolically,
To make the description complete, it is necessary to introduce a rotation, before or after the boost. This rotation is the Thomas rotation. A rotation is given by
where the 4×4 rotation matrix is
and R is a 3×3 rotation matrix.^{[nb 3]} In this article the axisangle representation is used, and θ = θe is the "axisangle vector", the angle θ multiplied by a unit vector e parallel to the axis. Also, the righthanded convention for the spatial coordinates is used (see orientation (vector space)), so that rotations are positive in the anticlockwise sense according to the righthand rule, and negative in the clockwise sense. With these conventions; the rotation matrix rotates any 3d vector about the axis e through angle θ anticlockwise (an active transformation), which has the equivalent effect of rotating the coordinate frame clockwise about the same axis through the same angle (a passive transformation).
The rotation matrix is an orthogonal matrix, its transpose equals its inverse, and negating either the angle or axis in the rotation matrix corresponds to a rotation in the opposite sense, so the inverse transformation is readily obtained by
A boost followed or preceded by a rotation is also a Lorentz transformation, since these operations leave the spacetime interval invariant. The same Lorentz transformation has two decompositions for appropriately chosen rapidity and axisangle vectors;
and if these are two decompositions are equal, the two boosts are related by
so the boosts are related by a matrix similarity transformation.
It turns out the equality between two boosts and a rotation followed or preceded by a single boost is correct: the rotation of frames matches the angular separation of the composite velocities, and explains how one composite velocity applies to one frame, while the other applies to the rotated frame. The rotation also breaks the symmetry in the overall Lorentz transformation making it nonsymmetric. For this specific rotation, let the angle be ε and the axis be defined by the unit vector e, so the axisangle vector is ε = εe.
Altogether, two different orderings of two boosts means there are two inequivalent transformations. Each of these can be split into a boost then rotation, or a rotation then boost, doubling the number of inequivalent transformations to four. The inverse transformations are equally important; they provide information about what the other observer perceives. In all, there are eight transformations to consider, just for the problem of two Lorentz boosts. In summary, with subsequent operations acting on the left, they are
Two boosts...  ...split into a boost then rotation...  ...or split into a rotation then boost. 

Matching up the boosts followed by rotations, in the original setup, an observer in Σ notices Σ′′ to move with velocity u⊕v then rotate clockwise (first diagram), and because of the rotation an observer in Σ′′ notices Σ to move with velocity −v⊕u then rotate anticlockwise (second diagram). If the velocities are exchanged an observer in Σ notices Σ′′ to move with velocity v⊕u then rotate anticlockwise (third diagram), and because of the rotation an observer in Σ′′ notices Σ to move with velocity −u⊕v then rotate clockwise (fourth diagram).
The cases of rotations then boosts are similar (no diagrams are shown). Matching up the rotations followed by boosts, in the original setup, an observer in Σ notices Σ′′ to rotate clockwise then move with velocity v⊕u, and because of the rotation an observer in Σ′′ notices Σ to rotate anticlockwise then move with velocity −u⊕v. If the velocities are exchanged an observer in Σ notices Σ′′ to rotate anticlockwise then move with velocity u⊕v, and because of the rotation an observer in Σ′′ notices Σ to rotate clockwise then move with velocity −u⊕v.
The above formulae constitute the relativistic velocity addition and the Thomas rotation explicitly in the general Lorentz transformations. Throughout, in every composition of boosts and decomposition into a boost and rotation, the important formula
holds, allowing the rotation matrix to be defined completely in terms of the relative velocities u and v. The angle of a rotation matrix in the axis–angle representation can be found from the trace of the rotation matrix, the general result for any axis is tr(R) = 1 + 2 cos ε. Taking the trace of the equation gives^{[15]}^{[16]}^{[17]}
The angle ε between a and b is not the same as the angle α between u and v.
In both frames Σ and Σ′′, for every composition and decomposition, another important formula
holds. The vectors a and b are indeed related by a rotation, in fact by the same rotation matrix R which rotates the coordinate frames. Starting from a, the matrix R rotates this into b anticlockwise, it follows their cross product (in the righthand convention)
defines the axis correctly, therefore the axis is also parallel to u×v. The magnitude of this pseudovector is neither interesting nor important, only the direction is, so it can be normalized into the unit vector
which still completely defines the direction of the axis without loss of information.
The rotation is simply a "static" rotation and there is no relative rotational motion between the frames, there is relative translational motion in the boost. However, if the frames accelerate, then the rotated frame rotates with an angular velocity. This effect is known as the Thomas precession, and arises purely from the kinematics of successive Lorentz boosts.
The decomposition process described (below) can be carried through on the product of two pure Lorentz transformations to obtain explicitly the rotation of the coordinate axes resulting from the two successive "boosts". In general, the algebra involved is quite forbidding, more than enough, usually, to discourage any actual demonstration of the rotation matrix
— Goldstein (1980, p. 286)
In principle, it is pretty easy. Since every Lorentz transformation is a product of a boost and a rotation, the consecutive application of two pure boosts is a pure boost, either followed by or preceded by a pure rotation. Thus, suppose
The task is to glean from this equation the boost velocity w and the rotation R from the matrix entries of Λ.^{[18]} The coordinates of events are related by
Inverting this relation yields
or
Set x′ = (ct′, 0, 0, 0). Then x^{ν} will record the spacetime position of the origin of the primed system,
or
But
Multiplying this matrix with a pure rotation will not affect the zeroth columns and rows, and
which could have been anticipated from the formula for a simple boost in the xdirection, and for the relative velocity vector
Thus given with Λ, one obtains β and w by little more than inspection of Λ^{−1}. (Of course, w can also be found using velocity addition per above.) From w, construct B(−w). The solution for R is then
With the ansatz
one finds by the same means
Finding a formal solution in terms of velocity parameters u and v involves first formally multiplying B(v)B(u), formally inverting, then reading off β_{w} form the result, formally building B(−w) from the result, and, finally, formally multiplying B(−w)B(v)B(u). It should be clear that this is a daunting task, and it is difficult to interpret/identify the result as a rotation, though it is clear a priori that it is. It is these difficulties that the Goldstein quote at the top refers to. The problem has been thoroughly studied under simplifying assumptions over the years.
Another way to explain the origin of the rotation is by looking at the generators of the Lorentz group.
The passage from a velocity to a boost is obtained as follows. An arbitrary boost is given by^{[19]}
where ζ is a triple of real numbers serving as coordinates on the boost subspace of the Lie algebra so(3, 1) spanned by the matrices
The vector
is called the boost parameter or boost vector, while its norm is the rapidity. Here β is the velocity parameter, the magnitude of the vector β = u/c.
While for ζ one has 0 ≤ ζ < ∞, the parameter β is confined within 0 ≤ β < 1, and hence 0 ≤ u < c. Thus
The set of velocities satisfying 0 ≤ u < c is an open ball in ℝ^{3} and is called the space of admissible velocities in the literature. It is endowed with a hyperbolic geometry described in the linked article.^{[20]}
The generators of boosts, K_{1}, K_{2}, K_{3}, in different directions do not commute. This has the effect that two consecutive boosts is not a pure boost in general, but a rotation preceding a boost.
Consider a succession of boosts in the x direction, then the y direction, expanding each boost to first order^{[21]}
then
and the group commutator is
Three of the commutation relations of the Lorentz generators are
where the bracket [A, B] = AB − BA is a binary operation known as the commutator, and the other relations can be found by taking cyclic permutations of x, y, z components (i.e. change x to y, y to z, and z to x, repeat).
Returning to the group commutator, the commutation relations of the boost generators imply for a boost along the x then y directions, there will be a rotation about the z axis. In terms of the rapidities, the rotation angle θ is given by
equivalently expressible as
The familiar notion of vector addition for velocities in the Euclidean plane can be done in a triangular formation, or since vector addition is commutative, the vectors in both orderings geometrically form a parallelogram (see "parallelogram law"). This does not hold for relativistic velocity addition; instead a hyperbolic triangle arises whose edges are related to the rapidities of the boosts. Changing the order of the boost velocities, one does not find the resultant boost velocities to coincide.^{[22]}