Euler's Fixed Point Theorem: The Axis of A Rotation: Bob Palais and Richard Palais
Euler's Fixed Point Theorem: The Axis of A Rotation: Bob Palais and Richard Palais
Euler's Fixed Point Theorem: The Axis of A Rotation: Bob Palais and Richard Palais
2 (2007), 215–220
c 2007 Birkhäuser Verlag Basel/Switzerland
1661-7738/020215-6, published online 20.12.2007 Journal of Fixed Point Theory
DOI 10.1007/s11784-007-0042-5 and Applications
Dedicated to the memory of Leonhard Euler, “The Master of us all”, on the occasion of the
300th anniversary of his birth
explicitly by ⎛ ⎞
0 −v3 v2
Jv := ⎝ v3 0 −v1 ⎠ .
−v2 v1 0
Jv is just the matrix implementing cross-product with v; i.e., Jv (w) := v × w for
all w ∈ R3 . An essential fact about the cross-product operation is its invariance
under any such rotation matrix R, that is, R(v × w) = Rv × Rw. In terms of
the map J, this says JRv (Rw) = RJv (w) or simply JRv R = RJv . Rearranging
this, we arrive at JRv = RJv R−1 . (In the language of representation theory, this
says that J is an equivalence or “intertwining operator” between the standard
representation of SO(3) on R3 and the adjoint representation on its Lie algebra,
so(3), the skew-adjoint 3 × 3 matrices. Or, in more elementary terms, the matrix
for cross-product with a rotated vector is obtained by conjugating (by the rotation)
the matrix for cross-product with the un-rotated vector.) It is now immediate that
a vector v is fixed by a rotation R if and only if the skew-adjoint matrix Jv is
fixed under conjugation by R.
But we are not through yet! What if A = 0? Such orthogonal matrices—the
symmetric ones—have measure zero, and correspond to angles of rotation 0 and π.
But still they are important, and we have a similar result for them. In this (non-
generic) case, R = RT and so R2 = I. Therefore, R(I + R) = R + R2 = I + R,
so the columns of I + R are fixed. Since R is proper (det R = +1), R = −I, so
I + R has a non-zero column that is fixed by R.
cos θ sin θ 0
Examples. If R = Rθ = − sin θ cos θ 0 is rotation about the z-axis by an angle θ,
0 sin θ 0 0 0 1
0
then A = − sin θ 0 0 so v = 0 . If θ is not 0 or π then we are in the
0 0 0 sin θ
generic case, and we find that the z-axis is a fixed axis of the x1 rotation.
If θ= 0,
0
then R = I, so every vector is fixed, while if θ = π and x = x2 then v = 0
x
3 x3
(which is non-zero ifwe choose x3 = 0) and again we find that the z-axisis fixed.
2/3 2/3 −1/3 0 1/2 −1/2 1/2
If R = RG = −1/3 2/3 2/3 , then A = −1/2 0 1/2 , so 1/2 is
2/3 −1/3 2/3 1/2 −1/2 0 1/2
fixed. −1/32/3 2/3
2/3 2/3 2/3
If R = RN = 2/3 −1/3 2/3 , then A = 0, and R + I = 2/3 2/3 2/3 , so
2/3 2/3 2/3 −1/3 2/3 2/3 2/3
2/3 is fixed.
2/3
Remarks. 1) Our proof of Euler’s theorem uses one non-trivial result, the “intrin-
sic” nature of the cross-product operation in a three-dimensional, oriented, real
inner-product space. But this is obvious from the usual characterization of u × v,
namely that its length is the area of the parallelogram spanned by u and v, that
it is orthogonal to u and v, and that (u, v, u × v) is an oriented triple.
2) In the generic case our key fixed-point fact, RART = A, requires only
the orthogonality of R. However, if R is improper then R(v × w) = −Rv × Rw,
Vol. 2 (2007) Euler’s fixed point theorem 217
plications to obtain the axis. As we will outline below, all of these constructions
assume the existence of an axis, and seem to require appeals to less elementary
concepts than our approach above to turn them into proofs of Euler’s theorem.
The axis-angle representation of a rotation R about a unit axis v by an angle
θ is based upon the decomposition of a vector x into a component along v, and a
component orthogonal to v: x = (x · v)v + (x − (x · v)v). Since v × ((x − (x · v)v))
is the image of x − (x · v)v under a quarter-turn counterclockwise rotation of v⊥ ,
and Rv = v, we can check that
Rx = (x · v)v + (cos θ)(x − (x · v)v) + (sin θ)(v × (x − (x · v)v)).
Using v × v = 0, this simplifies to
Rx = x + (sin θ)(v × x) + (1 − cos θ)((x · v)v − x).
If Jv is the matrix defined earlier by Jv (x) = v × x, the fact that v is a unit vector
implies J2v = vvT − I, or J2v x = (x · v)v − x, which leads to the Euler–Rodrigues
rotation formula:
R = I + (sin θ)Jv + (1 − cos θ)J2v .
In [1], Alperin derives this result from Lagrange’s well-known triple prod-
uct formula p × (q × r) = (p · r)q − (p · q)r, while Fillmore [5] and Kahan [6]
derive it for R(θ) = exp(θJv ) using the series representation for exp and the
recurrence Jvn+2k = (−1)k Jvn+2k , n > 0. Fillmore takes the series as the defi-
nition of exp(θJv ) while Kahan solves the initial value problem dR/dθ = Jv R,
R(0) = I. Kahan observes that this formula implies 12 (R − RT ) = (sin θ)Jv which
can be used (as we did) to recover the axis in the generic case, and points out this
can fail numerically when sin θ is small. Fillmore uses the formula to show that
if we define S := R + RT + (1 − trace(R))I (clearly a symmetric matrix) then
S = (3 − trace(R))vvT . This gives another method to obtain the axis without
multiplication, as the right-hand side exhibits this matrix as a rank one symmet-
ric matrix, any of whose non-zero columns are multiples of v. Kalman [7] makes
the related observation that for any x, R(Sx) = Sx. He shows that this is equiv-
alent to R3 − trace(R)R2 + trace(R)R − I = 0, and confirms this by applying
the Cayley–Hamilton theorem. Fillmore and Kalman both use the fact that the
eigenvalues of R are {1, cos θ + i sin θ, cos θ − i sin θ} to show trace(R) = 1 + 2 cos θ.
Note that all of these approaches start with the assumption that R is a rotation
about an axis v through an angle θ, and so cannot be used as a proof of Euler’s
theorem without considerable modification. (Moreover they all invoke results like
the Cayley–Hamilton theorem, the power series for exp, and facts about solutions
of the characteristic equation of a matrix that seem less elementary than the ap-
proach we have given above.) However, granting the truth of Euler’s theorem, they
do give alternative derivations for our construction of the axis of a rotation in the
generic case, and recognizing this, Kahan presents the classical proof based on
characteristic polynomials that 1 is an eigenvalue of R, and suggests finding the
corresponding eigenvector by elimination or computing an appropriate column of
Adj(R − I). Fillmore also examines the improper case, and the representation of
Vol. 2 (2007) Euler’s fixed point theorem 219
orthogonal transformations as the product of two (in the proper case) or three (in
the improper case) reflections.
There have also been several algorithms proposed to compute the unit quater-
nions ±Q corresponding to R, [2, 10–12]. Most are based upon a modified ver-
sion of the Euler–Rodrigues rotation formula, which has a nice expression in
terms of the components of the unit quaternion associated with R, Q = [q, q] =
[cos θ2 , sin θ2 v]. Using sin θ = 2 cos θ2 sin θ2 , we get sin θJv = 2qJq , and since 1 −
cos θ = 1 − cos(2 θ2 ) = 1 − (cos2 θ2 − sin2 θ2 ) = 2 sin2 θ2 we get (1 − cos θ)J2v = 2J2q .
This leads to the well-known quaternion-to-matrix formula
R = I + 2qJq + 2J2q .
Because the vector part of Q is a unit axis of R, scaled by sin θ2 (rather than sin θ as
in our construction), matrix-to-quaternion algorithms compute the anti-symmetric
part of R, then perform square roots and division to accomplish the desired scaling.
In another forthcoming paper [9], we present new and efficient algorithms for
implementing and interpolating rotations based on a novel realization of a rotation
and unit quaternions without reference to an axis.
Acknowledgments
We are indebted to the referee for pointing out to us references [1] and [5].
References
[1] R. Alperin, The matrix of a rotation. College Math. J. 20 (1989), 230.
[2] I. Y. Bar-Itzhack, New method for extracting the quaternion from a rotation matrix.
AIAA J. Guidance Control Dynamics 23 (2000), 1085–1087.
[3] B. Casselman, A Manual of Geometry and PostScript. Cambridge Univ. Press, 2005;
http://www.math.ubc.ca/∼cass/graphics/manual/pdf/ch12.pdf.
[4] L. Euler, Formulae generales pro translatione quacunque corporum rigidorum. Novi
Commentarii Academiae Scientiarum Petropolitanae 20 (1776), 189–207. Reprinted
in Opera Omnia, Series 2, Volume 9, 84–98, and in Theoria motus corporum solido-
rum seu rigidorum, ed. nova, 1790, 449–460.
[5] J. P. Fillmore, A note on rotation matrices. IEEE J. Computer Graphics Appl. 4
(1984), 30–33.
[6] W. Kahan, Computing cross-products and rotations. UC Berkeley Math H110 Lecture
Notes; http://www.cs.berkeley.edu/∼wkahan/MathH110/Cross.pdf.
[7] D. Kalman, The axis of a rotation: analysis, algebra, geometry. Math. Mag. 62 (1989),
248–252.
[8] B. Palais, R. Palais and S. Rodi, Euler’s theorem on the axis of a rotation: proofs
old and new. To appear.
[9] B. Palais and R. Palais, Reflections on rotations. To appear.
[10] S. W. Shepperd, Quaternion from rotation matrix. J. Guidance Control 1 (1978),
223–224.
220 B. Palais and R. Palais JFPTA
[11] K. Shoemake, Quaternion calculus and fast animation. In: Computer Animation:
3-D Motion Specification and Control, SIGGRAPH 1987 Tutorial (1987), 101–121.
[12] R. A. Spurrier, Comment on singularity-free extraction of a quaternion from a
direction-cosine matrix. J. Spacecraft Rockets 15 (1978), 255.
Bob Palais
Department of Mathematics
The University of Utah
Salt Lake City, UT 84112, USA
e-mail: [email protected]
Richard Palais
Department of Mathematics
103 MSTB University of California at Irvine
Irvine, CA 92697, USA
e-mail: [email protected]