All Topics  
Rotation matrix

 

   Email Print
   Bookmark   Link






 

Rotation matrix



 
 
In matrix theory
Matrix theory

Matrix theory is a branch of mathematics which focuses on the study of matrix . Initially a sub-branch of linear algebra, it has grown to cover subjects related to graph theory, algebra, combinatorics, and statistics as well....
, a rotation matrix is a real
Real number

In mathematics, the real numbers may be described informally in several different ways. The real numbers include both rational numbers, such as 42 and −23/129, and irrational numbers, such as pi and the square root of two; or, a real number can be given by an infinite decimal representation, such as 2.4871773339...., where the digits co...
 square matrix whose transpose
Transpose

In linear algebra, the transpose of a matrix A is another matrix AT created by any one of the following equivalent actions:...
 is its inverse
Invertible matrix

In linear algebra, an n-by-n matrix A is called invertible or non-singular if there exists an n-by-n matrix B such that...
 and whose determinant
Determinant

In algebra, a determinant is a function depending on n that associates a scalar , det, to an n?n square matrix A. The fundamental geometric meaning of a determinant is a scale factor for measure when A is regarded as a linear transformation....
 is 1 (i.e. it is a real
Real number

In mathematics, the real numbers may be described informally in several different ways. The real numbers include both rational numbers, such as 42 and −23/129, and irrational numbers, such as pi and the square root of two; or, a real number can be given by an infinite decimal representation, such as 2.4871773339...., where the digits co...
 special orthogonal matrix)

The matrix is so-called because it geometrically corresponds to a linear map that sends vectors to a corresponding vector rotated about the origin by a fixed angle.

Rotation matrices can be generalized up to n-dimensional Euclidean space
Euclidean space

Around 300 Before Christ, the Ancient Greece mathematician Euclid undertook a study of relationships among distances and angles, first in a plane and then in space....
 and can operate over any commutative scalar field
Field (mathematics)

In abstract algebra, a field is an algebraic structure with notions of addition, subtraction, multiplication and division , satisfying certain axioms....
, however for real applications it is typical just to consider rotation matrices in 2 or 3 dimensions and with real
Real number

In mathematics, the real numbers may be described informally in several different ways. The real numbers include both rational numbers, such as 42 and −23/129, and irrational numbers, such as pi and the square root of two; or, a real number can be given by an infinite decimal representation, such as 2.4871773339...., where the digits co...
 components.

The 2-dimensional rotation matrix

Is a 2-dimensional rotation matrix of angle for a positive rotation (anti-clockwise) in a right-handed co-ordinate system.






Discussion
Ask a question about 'Rotation matrix'
Start a new discussion about 'Rotation matrix'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In matrix theory
Matrix theory

Matrix theory is a branch of mathematics which focuses on the study of matrix . Initially a sub-branch of linear algebra, it has grown to cover subjects related to graph theory, algebra, combinatorics, and statistics as well....
, a rotation matrix is a real
Real number

In mathematics, the real numbers may be described informally in several different ways. The real numbers include both rational numbers, such as 42 and −23/129, and irrational numbers, such as pi and the square root of two; or, a real number can be given by an infinite decimal representation, such as 2.4871773339...., where the digits co...
 square matrix whose transpose
Transpose

In linear algebra, the transpose of a matrix A is another matrix AT created by any one of the following equivalent actions:...
 is its inverse
Invertible matrix

In linear algebra, an n-by-n matrix A is called invertible or non-singular if there exists an n-by-n matrix B such that...
 and whose determinant
Determinant

In algebra, a determinant is a function depending on n that associates a scalar , det, to an n?n square matrix A. The fundamental geometric meaning of a determinant is a scale factor for measure when A is regarded as a linear transformation....
 is 1 (i.e. it is a real
Real number

In mathematics, the real numbers may be described informally in several different ways. The real numbers include both rational numbers, such as 42 and −23/129, and irrational numbers, such as pi and the square root of two; or, a real number can be given by an infinite decimal representation, such as 2.4871773339...., where the digits co...
 special orthogonal matrix)

The matrix is so-called because it geometrically corresponds to a linear map that sends vectors to a corresponding vector rotated about the origin by a fixed angle.

Rotation matrices can be generalized up to n-dimensional Euclidean space
Euclidean space

Around 300 Before Christ, the Ancient Greece mathematician Euclid undertook a study of relationships among distances and angles, first in a plane and then in space....
 and can operate over any commutative scalar field
Field (mathematics)

In abstract algebra, a field is an algebraic structure with notions of addition, subtraction, multiplication and division , satisfying certain axioms....
, however for real applications it is typical just to consider rotation matrices in 2 or 3 dimensions and with real
Real number

In mathematics, the real numbers may be described informally in several different ways. The real numbers include both rational numbers, such as 42 and −23/129, and irrational numbers, such as pi and the square root of two; or, a real number can be given by an infinite decimal representation, such as 2.4871773339...., where the digits co...
 components.

The 2-dimensional rotation matrix



Is a 2-dimensional rotation matrix of angle for a positive rotation (anti-clockwise) in a right-handed co-ordinate system. For a negative rotation, one can replace the argument of the matrix with .

The 3-dimensional rotation matrices


There are three 3-dimensional rotation matrices which correspond to clockwise rotations about the x, y and z axes respectively.


where sends the vector to the vector rotated radians clockwise (when looking along the axis with the positive axis stretching out in front of you) about the axis .

To find the rotation matrix corresponding to a rotation, using the right hand rule, about an axis, or the rotation of the coordinate system about an axis, replace with in any of the matrices.

In aeronautics and flight dynamics
Flight dynamics

Flight dynamics is the science of aircraft and spacecraft vehicle orientation and control in three dimensions. The three critical flight dynamics parameters are the angles of rotation in three dimensions about the vehicle's center of mass, known as pitch, roll and yaw ....
, rotation about the x, y and z axes are named roll, pitch and yaw respectively, where the coordinate system is aligned to the body of the vehicle. The x-axis is typically aligned to the major axis of the aircraft (positive forward), the z-axis is taken as positive down and the y-axis chosen so as to complete a right-handed coordinate system. Transformations from an external reference frame (such as LTP
LTP

LTP is an acronym for:* Tibia* Latest Takes Precedence, stage lighting* The Leaning Tower of Pisa* Learn To Play* Licklider Transmission Protocol...
 or ECEF
ECEF

ECEF stands for Earth-Centered, Earth-Fixed, and is a Cartesian coordinate system used for GPS, and is sometimes known as a "conventional terrestrial" system....
) are achieved using a Direction Cosine Matrix (see Rotation representation).

Properties of a rotation matrix


The above discussion can be generalised to any number of dimensions. For any rotation matrix and , the identity in



Examples

  • The 2×2 rotation matrix corresponds to a 90° planar rotation.


  • The transpose of the 2×2 matrix is its inverse, but since its determinant is -1 this is not a rotation matrix; it is a reflection across the line 11y = 2x.

  • The 3×3 rotation matrix corresponds to a -30° rotation around the x axis in three-dimensional space.


  • The 3×3 rotation matrix corresponds to a rotation of approximately 74° around the axis (-13,23,23) in three-dimensional space.


  • The 3×3 permutation matrix
    Permutation matrix

    In mathematics, in matrix theory, a permutation matrix is a square -matrix that has exactly one entry 1 in each row and each column and 0's elsewhere....
    is also a rotation matrix, as is the matrix of any even permutation (but never of any odd permutation).
  • The 3×3 matrix has determinant +1, but its transpose is not its inverse, so it is not a rotation matrix.


  • The 4×3 matrix is not square, and so cannot be a rotation matrix; yet QTQ yields a 3×3 identity matrix (the columns are orthonormal).


  • The 4×4 rotation matrix has no axis of rotation; it reverses the direction of every vector.

  • The 5×5 rotation matrix rotates vectors in the plane of the first two coordinate axes 90°, rotates vectors in the plane of the next two axes 180°, and leaves the last coordinate axis unmoved.


Rotation about an arbitrary vector

Counterclockwise rotation about an arbitrary vector normalised so that by an angle is given by a matrix

where . This representation of rotation, different from that via the Euler angles
Euler angles

The Euler angles were developed by Leonhard Euler to describe the orientation of a rigid body in dimension Euclidean space. To give an object a specific orientation it may be subjected to a sequence of three rotations described by the Euler angles....
, is quite convenient for some applications.

Geometry

In Euclidean geometry
Euclidean geometry

Euclidean geometry is a mathematical system attributed to the Greek mathematics Euclid of Alexandria. Euclid's Elements is the earliest known systematic discussion of geometry....
, a rotation is an example of an isometry
Isometry

In mathematics, an isometry, isometric isomorphism or congruence mapping is a distance-preserving isomorphism between metric spaces....
, a transformation that moves points without changing the distances between them. Rotations are distinguished from other isometries by two additional properties: they leave (at least) one point fixed, and they leave "handedness" unchanged. By contrast, a translation
Translation (geometry)

In Euclidean geometry, a translation is moving every point a constant distance in a specified direction. It is one of the Euclidean groups . A translation can also be interpreted as the addition of a constant vector space to every point, or as shifting the Origin of the coordinate system....
 moves every point, a reflection exchanges left- and right-handed ordering, and a glide reflection
Glide reflection

In geometry, a glide reflection is a type of isometry of the Euclidean plane: the combination of a reflection in a line and a translation along that line....
 does both.

A rotation that does not leave "handedness" unchanged is called an Improper Rotation or a Rotoinversion

If we take the fixed point as the origin of a Cartesian coordinate system
Cartesian coordinate system

In mathematics, the Cartesian coordinate system is used to determine each Point uniquely in a Plane through two numbers, usually called the x-coordinate or abscissa and the y-coordinate or ordinate of the point....
, then every point can be given coordinates as a displacement from the origin. Thus we may work with the vector space
Vector space

File:Vector addition ans scaling.pngA vector space is a mathematical structure formed by a collection of vectors: objects that may be Vector addition together and Scalar multiplication by numbers, called scalar s in this context....
 of displacements instead of the points themselves. Now suppose (p1,…,pn) are the coordinates of the vector p from the origin, O, to point P. Choose an orthonormal basis
Orthonormal basis

In mathematics, an orthonormal basis of an inner product space V , is a set of mutually orthogonality vectors of magnitude 1 that span the space when infinite linear combinations are allowed....
 for our coordinates; then the squared distance to P, by Pythagoras
Pythagorean theorem

In mathematics, the Pythagorean theorem or Pythagoras' theorem is a relation in Euclidean geometry among the three sides of a triangle#Types of triangles....
, is
which we can compute using the matrix multiplication

A geometric rotation transforms lines to lines, and preserves ratios of distances between points. From these properties we can show that a rotation is a linear transformation
Linear transformation

In mathematics, a linear map is a function between two vector spaces that preserves the operations of vector addition and scalar multiplication....
 of the vectors, and thus can be written in matrix
Matrix (mathematics)

In mathematics, a matrix is a rectangular array of numbers, as shown at the right. In addition to a number of elementary, entrywise operations such as matrix addition a key notion is matrix multiplication....
 form, Qp. The fact that a rotation preserves, not just ratios, but distances themselves, we can state as or

Because this equation holds for all vectors,
p, we conclude that every rotation matrix,
Q, satisfies the orthogonality condition, Rotations preserve handedness because they cannot change the ordering of the axes, which implies the special matrix condition, Equally important, we can show that any matrix satisfying these two conditions acts as a rotation.

Multiplication

The inverse of a rotation matrix is its transpose, which is also a rotation matrix: The product of two rotation matrices is a rotation matrix:

For
n greater than 2, multiplication of n×n rotation matrices is not commutative.

Noting that any identity matrix
Identity matrix

In linear algebra, the identity matrix or unit matrix of size n is the n-by-n square matrix with ones on the main diagonal and zeros elsewhere....
 is a rotation matrix, and that matrix multiplication is associative, we may summarize all these properties by saying that the
n×n rotation matrices form a group
Group (mathematics)

In mathematics, a group is an algebraic structure consisting of a set together with an Binary operation that combines any two of its element to form a third element....
, which for
n > 2 is non-abelian
Nonabelian group

In mathematics, a nonabelian group, also sometimes called a non-commutative group, is a group such that there are at least two elements a and b of G such that a * bb * a....
. Called a special orthogonal group, and denoted by SO(
n), SO(n,
R), SOn, or SOn(R), the group of n×n rotation matrices is isomorphic to the group of rotations in an n-dimensional space. This means that multiplication of rotation matrices corresponds to composition of rotations, applied in left-to-right order of their corresponding matrices.

Ambiguities

The interpretation of a rotation matrix can be subject to many ambiguities.

Alias or alibi transformation
The change in a vector's coordinates can indicate a turn of the coordinate system (alias) or a turn of the vector (alibi).
Right- or left-handed coordinates
The matrix can be with respect to a right-handed
Cartesian coordinate system

In mathematics, the Cartesian coordinate system is used to determine each Point uniquely in a Plane through two numbers, usually called the x-coordinate or abscissa and the y-coordinate or ordinate of the point....
 or left-handed coordinate system.
World or body axes
The coordinate axes can be fixed or rotate with a body.
Vectors or forms
The vector space has a dual space
Dual space

In mathematics, any vector space, V, has a corresponding dual vector space consisting of all linear functionals on V. Dual vector spaces defined on finite-dimensional vector spaces can be used for defining tensors which are studied in tensor algebra....
 of linear forms, and the matrix can act on either vectors or forms.


In most cases the effect of the ambiguity is to transpose or invert the matrix.

Decompositions


Independent planes

Consider the 3×3 rotation matrix If
Q acts in a certain direction,
v, purely as a scaling by a factor λ, then we have so that Thus λ is a root of the characteristic polynomial
Characteristic polynomial

In linear algebra, one associates a polynomial to every square matrix, its characteristic polynomial. This polynomial encodes several important properties of the matrix , most notably its eigenvalues, its determinant and its Trace ....
 for
Q,

Two features are noteworthy. First, one of the roots (or eigenvalues) is 1, which tells us that some direction is unaffected by the matrix. For rotations in three dimensions, this is the
axis of the rotation (a concept that has no meaning in any other dimension). Second, the other two roots are a pair of complex conjugates, whose product is 1 (the constant term of the quadratic), and whose sum is 2 cos θ (the negated linear term). This factorization is of interest for 3×3 rotation matrices because the same thing occurs for all of them. (As special cases, for a null rotation the "complex conjugates" are both 1, and for a 180° rotation they are both -1.) Furthermore, a similar factorization holds for any n×n rotation matrix. If the dimension, n, is odd, there will be a "dangling" eigenvalue of 1; and for any dimension the rest of the polynomial factors into quadratic terms like the one here (with the two special cases noted). We are guaranteed that the characteristic polynomial will have degree n and thus n eigenvalues. And since a rotation matrix commutes with its transpose, it is a normal matrix
Normal matrix

A complex number Matrix #Square_matrices_and_related_definitions matrix A is a normal matrix ifwhere A* is the conjugate transpose of A....
, so can be diagonalized. We conclude that every rotation matrix, when expressed in a suitable coordinate system, partitions into independent rotations of two-dimensional subspaces, at most
n2 of them.

The sum of the entries on the main diagonal of a matrix is called the trace
Trace (linear algebra)

In linear algebra, the trace of an n-by-n square matrix A is defined to be the sum of the elements on the main diagonal of A, i.e.,...
; it does not change if we reorient the coordinate system, and always equals the sum of the eigenvalues. This has the convenient implication for 2×2 and 3×3 rotation matrices that the trace reveals the angle of rotation, θ, in the two-dimensional (sub-)space. For a 2×2 matrix the trace is 2 cos(θ), and for a 3×3 matrix it is 1+2 cos(θ). In the three-dimensional case, the subspace consists of all vectors perpendicular to the rotation axis (the invariant direction, with eigenvalue 1). Thus we can extract from any 3×3 rotation matrix a rotation axis and an angle, and these completely determine the rotation.

Sequential angles

The constraints on a 2×2 rotation matrix imply that it must have the form with
a2+b2 = 1. Therefore we may set a = cos θ and b = sin θ, for some angle θ. To solve for θ it is not enough to look at a alone or b alone; we must consider both together to place the angle in the correct quadrant
Cartesian coordinate system

In mathematics, the Cartesian coordinate system is used to determine each Point uniquely in a Plane through two numbers, usually called the x-coordinate or abscissa and the y-coordinate or ordinate of the point....
, using a two-argument arctangent
Atan2

In trigonometry, the two-argument function atan2 is a variation of the arctangent function. For any real number arguments x and y not both equal to zero, atan2 is the angle in radians between the positive x-axis of a plane and the point given by the Cartesian coordinate system on it....
 function.

Now consider the first column of a 3×3 rotation matrix, Although
a2+b2 will probably not equal 1, but some value r2 < 1, we can use a slight variation of the previous computation to find a so-called Givens rotation
Givens rotation

In numerical linear algebra, a Givens rotation is a rotation in the plane spanned by two coordinates axes. Givens rotations are named after Wallace Givens who introduced them to numerical analysts in the 1950s while he was working at Argonne National Laboratory....
 that transforms the column to zeroing
b. This acts on the subspace spanned by the x and y axes. We can then repeat the process for the xz subspace to zero c. Acting on the full matrix, these two rotations produce the schematic form Shifting attention to the second column, a Givens rotation of the yz subspace can now zero the z value. This brings the full matrix to the form which is an identity matrix. Thus we have decomposed Q as

An
n×n rotation matrix will have (n-1)+(n-2)+?+2+1, or entries below the diagonal to zero. We can zero them by extending the same idea of stepping through the columns with a series of rotations in a fixed sequence of planes. We conclude that the set of n×n rotation matrices, each of which has n2 entries, can be parameterized by n(n-1)/2 angles.

In three dimensions this restates in matrix form an observation made by Euler
Leonhard Euler

Leonhard Paul Euler was a pioneering Swiss mathematician and physicist who spent most of his life in Russia and Germany.Euler made important discoveries in fields as diverse as calculus and graph theory....
, so mathematicians call the ordered sequence of three angles Euler angles
Euler angles

The Euler angles were developed by Leonhard Euler to describe the orientation of a rigid body in dimension Euclidean space. To give an object a specific orientation it may be subjected to a sequence of three rotations described by the Euler angles....
. However, the situation is somewhat more complicated than we have so far indicated. Despite the small dimension, we actually have considerable freedom in the sequence of axis pairs we use; and we also have some freedom in the choice of angles. Thus we find many different conventions employed when three-dimensional rotations are parameterized for physics, or medicine, or chemistry, or other disciplines. When we include the option of world axes or body axes, 24 different sequences are possible. And while some disciplines call any sequence Euler angles, others give different names (Euler, Cardano, Tait-Byan, roll-pitch-yaw) to different sequences.

One reason for the large number of options is that, as noted previously, rotations in three dimensions (and higher) do not commute. If we reverse a given sequence of rotations, we get a different outcome. This also implies that we cannot compose two rotations by adding their corresponding angles. Thus
Euler angles are not vectors
Vector space

File:Vector addition ans scaling.pngA vector space is a mathematical structure formed by a collection of vectors: objects that may be Vector addition together and Scalar multiplication by numbers, called scalar s in this context....
, despite a similarity in appearance as a triple of numbers.

Nested dimensions

A 3×3 rotation matrix like suggests a 2×2 rotation matrix, is embedded in the upper left corner: This is no illusion; not just one, but many, copies of
n-dimensional rotations are found within (n+1)-dimensional rotations, as subgroup
Subgroup

In group theory, given a group G under a binary operation *, we say that some subset H of G is a subgroup of G if H also forms a group under the operation *....
s. Each embedding leaves one direction fixed, which in the case of 3×3 matrices is the rotation axis. For example, we have fixing the
x axis, the y axis, and the z axis, respectively. The rotation axis need not be a coordinate axis; if
u = (x,y,z) is a unit vector in the desired direction, then

where
cθ = cos θ, sθ = sin θ, is a rotation by angle θ leaving axis
u fixed.

A direction in (
n+1)-dimensional space will be a unit magnitude vector, which we may consider a point on a generalized sphere, Sn. Thus it is natural to describe the rotation group SO(n+1) as combining SO(n) and Sn. A suitable formalism is the fiber bundle
Fiber bundle

File:Roundhairbrush.JPGIn mathematics, and particularly topology, a fiber bundle is intuitively a space E which locally "looks" like a product space B ? F, but globally may have a different topological structure....
, where for every direction in the "base space",
Sn, the "fiber" over it in the "total space", SO(n+1), is a copy of the "fiber space", SO(n), namely the rotations that keep that direction fixed.

Thus we can build an
n×n rotation matrix by starting with a 2×2 matrix, aiming its fixed axis on S2 (the ordinary sphere in three-dimensional space), aiming the resulting rotation on S3, and so on up through Sn-1. A point on Sn can be selected using n numbers, so we again have n(n-1)/2 numbers to describe any n×n rotation matrix.

In fact, we can view the sequential angle decomposition, discussed previously, as reversing this process. The composition of
n-1 Givens rotations brings the first column (and row) to (1,0,…,0), so that the remainder of the matrix is a rotation matrix of dimension one less, embedded so as to leave (1,0,…,0) fixed.

Skew parameters

When an
n×n rotation matrix, Q, does not include -1 as an eigenvalue, so that none of the planar rotations of which it is composed are 180° rotations, then Q+I is an invertible matrix
Invertible matrix

In linear algebra, an n-by-n matrix A is called invertible or non-singular if there exists an n-by-n matrix B such that...
. Most rotation matrices fit this description, and for them we can show that (
Q-I)(Q+I)-1 is a skew-symmetric matrix
Skew-symmetric matrix

In linear algebra, a skew-symmetric matrix is a square matrix A whose transpose is also its negative; that is, it satisfies the equation:...
,
A. Thus AT = -A; and since the diagonal is necessarily zero, and since the upper triangle determines the lower one, A contains n(n-1)/2 independent numbers. Conveniently, I-A is invertible whenever A is skew-symmetric; thus we can recover the original matrix using the Cayley transform
Cayley transform

In mathematics, the Cayley transform, named after Arthur Cayley, has a cluster of related meanings. As originally described by , the Cayley transform is a mapping between skew-symmetric matrix and special orthogonal matrix....
, which maps any skew-symmetric matrix A to a rotation matrix. In fact, aside from the noted exceptions, we can produce any rotation matrix in this way. Although in practical applications we can hardly afford to ignore 180° rotations, the Cayley transform is still a potentially useful tool, giving a parameterization of most rotation matrices without trigonometric functions.

In three dimensions, for example, we have

If we condense the skew entries into a vector, (
x,y,z), then we produce a 90° rotation around the x axis for (1,0,0), around the y axis for (0,1,0), and around the z axis for (0,0,1). The 180° rotations are just out of reach; for, in the limit as x goes to infinity, (x,0,0) does approach a 180° rotation around the x axis, and similarly for other directions.

Lie theory


Lie group

We have established that
n×n rotation matrices form a group
Group (mathematics)

In mathematics, a group is an algebraic structure consisting of a set together with an Binary operation that combines any two of its element to form a third element....
, the special orthogonal group, SO(
n). This algebraic structure
Algebraic structure

In algebra, a branch of pure mathematics, an algebraic structure consists of one or more Set Closure under one or more Operation , satisfying some axiom....
 is coupled with a topological structure, in that the operations of multiplication and taking the inverse (which here is merely transposition) are continuous functions of the matrix entries. Thus SO(
n) is a classic example of a topological group
Topological group

In mathematics, a topological group is a group G together with a topological space on G such that the group's binary operation and the group's inverse function are continuous function ....
. (In purely topological terms, it is a compact manifold.) Furthermore, the operations are not only continuous, but smooth
Smooth function

In mathematical analysis, a differentiability class is a classification of function according to the properties of their derivatives. Higher order differentiability classes correspond to the existence of more derivatives....
, so SO(
n) is a differentiable manifold
Differentiable manifold

A differentiable manifold is a type of manifold that is locally similar enough to Euclidean space to allow one to do calculus. This article deals with differentiability in different contexts including: smooth function, k times differentiable, and holomorphic function....
 and a Lie group
Lie group

In mathematics, a Lie group is a group which is also a differentiable manifold, with the property that the group operations are compatible with the Differential structure....
 (; ).

Most properties of rotation matrices depend very little on the dimension,
n; yet in Lie group theory we see systematic differences between even dimensions and odd dimensions. As well, there are some irregularities below n = 5; for example, SO(4) is, anomalously, not a simple Lie group
Simple Lie group

In mathematics, a simple Lie group is a connected space nonabelian group Lie group G which does not have nontrivial connected normal subgroups....
, but instead isomorphic to the product
Direct product

In mathematics, one can often define a direct product of objectsalready known, giving a new one. This is generally the Cartesian product of the underlying sets, together with a suitably defined structure on the product set....
 of
S3 and SO(3).

Lie algebra

Associated with every Lie group is a Lie algebra
Lie algebra

In mathematics, a Lie algebra is an algebraic structure whose main use is in studying geometric objects such as Lie groups and differentiable manifolds....
, a linear space equipped with a bilinear alternating product called a bracket. The algebra for SO(
n) is denoted by and consists of all skew-symmetric
Skew-symmetric matrix

In linear algebra, a skew-symmetric matrix is a square matrix A whose transpose is also its negative; that is, it satisfies the equation:...
 
n×n matrices (as implied by differentiating the orthogonality condition
Orthogonal matrix

In matrix theory, a real number orthogonal matrix is a Matrix #Square matrices Q whose transpose is its inverse matrix:A special orthogonal matrix is an orthogonal matrix with determinant +1:...
,
I = QTQ). The bracket, [A1,A2], of two skew-symmetric matrices is defined to be A1A2-A2A1, which is again a skew-symmetric matrix. This Lie algebra bracket captures the essence of the Lie group product via infinitesimals.

For 2×2 rotation matrices, the Lie algebra is a one-dimensional vector space, multiples of Here the bracket always vanishes, which tells us that, in two dimensions, rotations commute. Not so in any higher dimension. For 3×3 rotation matrices, we have a three-dimensional vector space with the convenient basis (generators)

The essence of the bracket for these basis vectors works out to be as follows.

We can conveniently identify any matrix in this Lie algebra with a vector in
R3,

Under this identification, the
so(3) bracket has a memorable description; it is the vector cross product
Cross product

In mathematics, the cross product is a binary operation on two vector s in a three-dimensional Euclidean space that results in another vector which is orthogonal to the plane containing the two input vectors....
, The matrix identified with a vector
v is also memorable, because Notice this implies that v is in the null space
Null space

In linear algebra, the kernel or null space of a matrix A is the set of all vectors x for which Ax = 0....
 of the skew-symmetric matrix with which it is identified, because
v×v is always the zero vector.

Exponential map

Connecting the Lie algebra to the Lie group is the
exponential map
Exponential map

In differential geometry, the exponential map is a generalization of the ordinary exponential function of mathematical analysis to all differentiable manifolds with an affine connection....
, which we define using the familiar power series
Power series

In mathematics, a power series is an infinite series of the formwhere an represents the coefficient of the nth term, c is a constant, and x varies around c ....
 for
ex ,

For any skew-symmetric
A, exp(A) is always a rotation matrix.

An important practical example is the 3×3 case, where we have seen we can identify every skew-symmetric matrix with a vector
ω = uθ, where u = (x,y,z) is a unit magnitude vector. Recall that u is in the null space of the matrix associated with ω, so that if we use a basis with u as the z axis the final column and row will be zero. Thus we know in advance that the exponential matrix must leave u fixed. It is mathematically impossible to supply a straightforward formula for such a basis as a function of u (its existence would violate the hairy ball theorem
Hairy ball theorem

The hairy ball theorem of algebraic topology states that there is no nonvanishing continuous function tangent vector vector field on the sphere....
), but direct exponentiation is possible, and yields

where
c = cos θ2, s = sin θ2. We recognize this as our matrix for a rotation around axis u by angle θ. We also note that this mapping of skew-symmetric matrices is quite different from the Cayley transform discussed earlier.

In any dimension, if we choose some nonzero
A and consider all its scalar multiples, exponentiation yields rotation matrices along a geodesic
Geodesic

In mathematics, a geodesic [jee-uh-des-ik, -dee-sik] is a generalization of the notion of a "Line " to "manifolds".In presence of a Metric , geodesics are defined to be the shortest path between points on the space....
of the group manifold, forming a one-parameter subgroup of the Lie group. More broadly, the exponential map provides a homeomorphism
Homeomorphism

In the mathematics field of topology, a homeomorphism or topological isomorphism is a continuous function between two topological spaces....
 between a neighborhood of the origin in the Lie algebra and a neighborhood of the identity in the Lie group. In fact, we can produce any rotation matrix as the exponential of some skew-symmetric matrix, so for these groups the exponential map is a
surjection.

Baker–Campbell–Hausdorff formula

Suppose we are given
A and B in the Lie algebra. Their exponentials, exp(A) and exp(B), are rotation matrices, which we can multiply. Since the exponential map is a surjection, we know that for some C in the Lie algebra, exp(A)exp(B) = exp(C), and we write When exp(A) and exp(B) commute (which always happens for 2×2 matrices, but not higher), then C = A+B, mimicking the behavior of complex exponentiation. The general case is given by the BCH formula, a series expanded in terms of the bracket (; ). For matrices, the bracket is the same operation as the commutator
Commutator

In mathematics, the commutator gives an indication of the extent to which a certain binary operation fails to be commutative. There are different definitions used in group theory and ring theory....
, which detects lack of commutativity in multiplication. The general formula begins as follows. Representation of a rotation matrix as a sequential angle decomposition, as in Euler angles, may tempt us to treat rotations as a vector space, but the higher order terms in the BCH formula reveal that to be a mistake.

We again take special interest in the 3×3 case, where [
A,B] equals the cross product, A×B. If A and B are linearly independent, then A, B, and A×B can be used as a basis; if not, then A and B commute. And conveniently, in this dimension the summation in the BCH formula has a closed form as αAB+γ(A×B).

Spin group

The Lie group of
n×n rotation matrices, SO(n), is a compact
Compact space

In mathematics, a topological space is called compact if each of its open covers has a finite set subcover.Note: Some authors such as Nicolas Bourbaki use the term "quasi-compact" for this instead, and reserve the term "compact" for topological spaces that are both Hausdorff spaces and "quasi-compact"....
 and path-connected
Connected space

In topology and related branches of mathematics, a connected space is a topological space which cannot be represented as the disjoint union of two or more nonempty open subsets....
 manifold
Manifold

In mathematics, more specifically topology, a manifold is a topological space in which every point has a neighborhood which "resembles" Euclidean space....
, and thus locally compact
Locally compact space

In topology and related branches of mathematics, a topological space is called locally compact if, roughly speaking, each small portion of the space looks like a small portion of a compact space....
 and connected
Connected space

In topology and related branches of mathematics, a connected space is a topological space which cannot be represented as the disjoint union of two or more nonempty open subsets....
. However, it is not simply connected
Simply connected space

In topology, a geometrical object or space is called simply connected if it is path-connected and every path between two points can be continuously transformed into every other....
, so Lie theory tells us it is a kind of "shadow" (a homomorphic image) of a universal covering group
Universal covering group

In mathematics, a covering group of a topological group H is a covering space G of H such that G is a topological group and the covering map p : G ? H is a continuous group homomorphism....
. Often the covering group, which in this case is the spin group
Spin group

In mathematics the spin group Spin is the covering space of the special orthogonal group SO, such that there exists a short exact sequence of Lie groups...
 denoted by Spin(
n), is simpler and more natural to work with (; ).

In the case of planar rotations, SO(2) is topologically a circle
Sphere

A sphere is a symmetrical geometrical object. In non-mathematical usage, the term is used to refer either to a round ball or to its two-dimensional surface....
,
S1. Its universal covering group, Spin(2), is isomorphic to the real line
Real line

In mathematics, the real line is simply the set R of singleton real numbers.However, this term is usually used when R is to be treated as a space of some sort, such as a topological space or a vector space....
,
R, under addition. In other words, whenever we use angles of arbitrary magnitude, which we often do, we are essentially taking advantage of the convenience of the "mother space". Every 2×2 rotation matrix is produced by a countable infinity of angles, separated by integer multiples of 2π. Correspondingly, the fundamental group
Fundamental group

In mathematics, more specifically algebraic topology, the fundamental group or Poincar? group is a group associated to any given pointed space that provides a way of determining when two paths, starting and ending at a fixed base point, can be continuously deformed into each other....
 of SO(2) is isomorphic to the integers,
Z.

In the case of spatial rotations, SO(3) is topologically equivalent to three-dimensional real projective space
Real projective space

In mathematics, real projective space, or RPn is the projective space of lines in Rn+1. It is a compact space, smooth manifold of dimension n, and a special case of a Grassmannian....
,
RP3. Its universal covering group, Spin(3), is isomorphic to the 3-sphere,
S3. Every 3×3 rotation matrix is produced by two opposite points on the sphere. Correspondingly, the fundamental group
Fundamental group

In mathematics, more specifically algebraic topology, the fundamental group or Poincar? group is a group associated to any given pointed space that provides a way of determining when two paths, starting and ending at a fixed base point, can be continuously deformed into each other....
 of SO(2) is isomorphic to the two-element group,
Z2. We can also describe Spin(3) as isomorphic to quaternion
Quaternion

Quaternions, in mathematics, are a non-commutative number system that extends the complex numbers. The quaternions were first described by Irish mathematician Sir William Rowan Hamilton in 1843 and applied to mechanics in three-dimensional space....
s of unit norm under multiplication, or to certain 4×4 real matrices, or to 2×2 complex special unitary matrices
Special unitary group

In mathematics, the special unitary group of degree n, denoted SU, is the group of n×n unitary matrix Matrix with determinant 1....
.

Concretely, a unit quaternion,
q, with

produces the rotation matrix

This is our third version of this matrix, here as a rotation around non-unit axis vector (
x,y,z) by angle 2θ, where cos θ = w and |sin θ| = ||(x,y,z)||. (The proper sign for sin θ is implied once the signs of the axis components are decided.)

Many features of this case are the same for higher dimensions. The coverings are all two-to-one, with SO(
n), n > 2, having fundamental group
Z2. The natural setting for these groups is within a Clifford algebra
Clifford algebra

In mathematics, Clifford algebras are a type of associative algebra. They can be thought of as one of the possible generalizations of the complex numbers and quaternions....
. And the action of the rotations is produced by a kind of "sandwich", denoted by
qvq.

Infinitesimal rotations

The matrices in the Lie algebra are not themselves rotations; the skew-symmetric matrices are derivatives, proportional differences of rotations. An actual "differential rotation", or
infinitesimal rotation matrix has the form where dθ is vanishingly small. These matrices do not satisfy all the same properties as ordinary finite rotation matrices under the usual treatment of infinitesimals . To understand what this means, consider We first test the orthogonality condition, QTQ = I. The product is differing from an identity matrix by second order infinitesimals, which we discard. So to first order, an infinitesimal rotation matrix is an orthogonal matrix. Next we examine the square of the matrix. Again discarding second order effects, we see that the angle simply doubles. This hints at the most essential difference in behavior, which we can exhibit with the assistance of a second infinitesimal rotation, Compare the products dA
xdAy and dAydAx.

Since
dθ dφ is second order, we discard it; thus, to first order, multiplication of infinitesimal rotation matrices is commutative. In fact, again to first order.

But we must always be careful to distinguish (the first order treatment of) these infinitesimal rotation matrices from both finite rotation matrices and from derivatives of rotation matrices (namely skew-symmetric matrices). Contrast the behavior of finite rotation matrices in the BCH formula with that of infinitesimal rotation matrices, where all the commutator terms will be second order infinitesimals so we
do have a vector space.

Conversions

We have seen the existence of several decompositions that apply in any dimension, namely independent planes, sequential angles, and nested dimensions. In all these cases we can either decompose a matrix or construct one. We have also given special attention to 3×3 rotation matrices, and these warrant further attention, in both directions .

Quaternion

Rewrite the 3×3 rotation matrix again, as

Now every quaternion component appears multiplied by two in a term of degree two, and if all such terms are zero what's left is an identity matrix. This leads to an efficient, robust conversion from any quaternion — whether unit, nonunit, or even zero — to a 3×3 rotation matrix.

Nq = w^2 + x^2 + y^2 + z^2 if Nq > 0.0 then s = 2/Nq else s = 0.0 X = x*s; Y = y*s; Z = z*s wX = w*X; wY = w*Y; wZ = w*Z xX = x*X; xY = x*Y; xZ = x*Z yY = y*Y; yZ = y*Z; zZ = z*Z [ 1.0-(yY+zZ) xY-wZ xZ+wY ] [ xY+wZ 1.0-(xX+zZ) yZ-wX ] [ xZ-wY yZ+wX 1.0-(xX+yY) ]

Freed from the demand for a unit quaternion, we find that nonzero quaternions act as homogeneous coordinates
Homogeneous coordinates

In mathematics, homogeneous coordinates, introduced by August Ferdinand M?bius in his 1827 work Der barycentrische Calc?l, allow affine transformations to be easily represented by a matrix....
 for 3×3 rotation matrices. The Cayley transform, discussed earlier, is obtained by scaling the quaternion so that its
w component is 1. For a 180° rotation around any axis, w will be zero, which explains the Cayley limitation.

The sum of the entries along the main diagonal (the trace
Trace (linear algebra)

In linear algebra, the trace of an n-by-n square matrix A is defined to be the sum of the elements on the main diagonal of A, i.e.,...
), plus one, equals 4-4(
x2+y2+z2), which is 4w2. Thus we can write the trace itself as 2w2+2w2-1; and from the previous version of the matrix we see that the diagonal entries themselves have the same form: 2x2+2w2-1, 2y2+2w2-1, and 2z2+2w2-1. So we can easily compare the magnitudes of all four quaternion components using the matrix diagonal. We can, in fact, obtain all four magnitudes using sums and square roots, and choose consistent signs using the skew-symmetric part of the off-diagonal entries. w = 0.5*sqrt(1+Qxx+Qyy+Qzz) x = copysign(0.5*sqrt(1+Qxx-Qyy-Qzz),Qzy-Qyz) y = copysign(0.5*sqrt(1-Qxx+Qyy-Qzz),Qxz-Qzx) z = copysign(0.5*sqrt(1-Qxx-Qyy+Qzz),Qyx-Qxy) where copysign(x,y) is x with the sign of y:
copysign(x,y)
Alternatively, use a single square root and division t = Qxx+Qyy+Qzz r = sqrt(1+t) s = 0.5/r w = 0.5*r x = (Qzy-Qyz)*s y = (Qxz-Qzx)*s z = (Qyx-Qxy)*s This is numerically stable so long as the trace, t, is not negative; otherwise, we risk dividing by (nearly) zero. In that case, suppose Qxx is the largest diagonal entry, so
x will have the largest magnitude (the other cases are similar); then the following is safe. r = sqrt(1+Qxx-Qyy-Qzz) s = 0.5/r w = (Qzy-Qyz)*s x = 0.5*r y = (Qxy+Qyx)*s z = (Qzx+Qxz)*s If the matrix contains significant error, such as accumulated numerical error, we may construct a symmetric 4×4 matrix,

and find the eigenvector, (
x,y,z,w), of its largest magnitude eigenvalue. (If Q is truly a rotation matrix, that value will be 1.) The quaternion so obtained will correspond to the rotation matrix closest to the given matrix .

Polar decomposition

If the
n×n matrix M is non-singular, its columns are linearly independent vectors; thus the Gram–Schmidt process
Gram–Schmidt process

In mathematics, particularly linear algebra and numerical analysis, the Gram?Schmidt process is a method for orthogonalization a set of vector s in an inner product space, most commonly the Euclidean space Rn....
 can adjust them to be an orthonormal basis. Stated in terms of numerical linear algebra
Numerical linear algebra

Numerical linear algebra is the study of algorithms for performing linear algebra computations, most notably Matrix operations, on computers. It is often a fundamental part of engineering and computational science problems, such as and signal processing, computational finance, materials science simulations, structural biology, data mining,...
, we convert
M to an orthogonal matrix, Q, using QR decomposition
QR decomposition

In linear algebra, the QR decomposition of a matrix is a matrix decomposition of the matrix into an orthogonal matrix and a right triangular matrix....
. However, we often prefer a
Q "closest" to M, which this method does not accomplish. For that, the tool we want is the polar decomposition
Polar decomposition

In mathematics, particularly in linear algebra and functional analysis, the polar decomposition of a matrix or linear operator is a matrix decomposition analogous to the Complex number#Polar form of a nonzero complex number z''...
 (; ).

To measure closeness, we may use any matrix norm
Matrix norm

In mathematics, a matrix norm is a natural extension of the notion of a vector norm to matrix ....
 invariant under orthogonal transformations. A convenient choice is the Frobenius norm, ||
Q-M||F, squared, which is the sum of the squares of the element differences. Writing this in terms of the trace
Trace (linear algebra)

In linear algebra, the trace of an n-by-n square matrix A is defined to be the sum of the elements on the main diagonal of A, i.e.,...
, Tr, our goal is,
  • Find Q minimizing Tr( (Q-M)T(Q-M) ), subject to QTQ = I.
Though written in matrix terms, the objective function is just a quadratic polynomial. We can minimize it in the usual way, by finding where its derivative is zero. For a 3×3 matrix, the orthogonality constraint implies six scalar equalities that the entries of Q must satisfy. To incorporate the constraint(s), we may employ a standard technique, Lagrange multipliers
Lagrange multipliers

In mathematical optimization , the method of Lagrange multipliers provides a strategy for finding the maximum/minimum of a function subject to constraint ....
, assembled as a symmetric matrix,
Y. Thus our method is:
  • Differentiate Tr( (Q-M)T(Q-M) + (QTQ-I)Y ) with respect to (the entries of) Q, and equate to zero.


In general, we obtain the equation so that where
Q is orthogonal and S is symmetric. To ensure a minimum, the Y matrix (and hence S) must be positive definite. Linear algebra calls QS the polar decomposition
Polar decomposition

In mathematics, particularly in linear algebra and functional analysis, the polar decomposition of a matrix or linear operator is a matrix decomposition analogous to the Complex number#Polar form of a nonzero complex number z''...
 of
M, with S the positive square root of S2 = MTM. When M is non-singular, the Q and S factors of the polar decomposition are uniquely determined. However, the determinant of S is positive because S is positive definite, so Q inherits the sign of the determinant of M. That is, Q is only guaranteed to be orthogonal, not a rotation matrix. This is unavoidable; an M with negative determinant has no uniquely-defined closest rotation matrix.

Axis and angle

To efficiently construct a rotation matrix from an angle θ and a unit axis
u, we can take advantage of symmetry and skew-symmetry within the entries. c = cos(θ); s = sin(θ); C = 1-c xs = x*s; ys = y*s; zs = z*s xC = x*C; yC = y*C; zC = z*C xyC = x*yC; yzC = y*zC; zxC = z*xC [ x*xC+c xyC-zs zxC+ys ] [ xyC+zs y*yC+c yzC-xs ] [ zxC-ys yzC+xs z*zC+c ] Determining an axis and angle, like determining a quaternion, is only possible up to sign; that is, (u,θ) and (-u,-θ) correspond to the same rotation matrix, just like q and -q. As well, axis-angle extraction presents additional difficulties. The angle can be restricted to be from 0° to 180°, but angles are formally ambiguous by multiples of 360°. When the angle is zero, the axis is undefined. When the angle is 180°, the matrix becomes symmetric, which has implications in extracting the axis. Near multiples of 180°, care is needed to avoid numerical problems: in extracting the angle, a two-argument arctangent with atan2(sin θ,cos θ) equal to θ avoids the insensitivity of arccosine; and in computing the axis magnitude to force unit magnitude, a brute-force approach can lose accuracy through underflow .

A partial approach is as follows. x = Qzy-Qyz y = Qxz-Qzx z = Qyx-Qxy r = hypot(x,hypot(y,z)) t = Qxx+Qyy+Qzz θ = atan2(r,t-1) The
x, y, and z components of the axis would then be divided by r. A fully robust approach will use different code when t is negative, as with quaternion extraction. When r is zero because the angle is zero, an axis must be provided from some source other than the matrix.

Euler angles

Complexity of conversion escalates with Euler angles (used here in the broad sense). The first difficulty is to establish which of the twenty-four variations of Cartesian axis order we will use. Suppose the three angles are θ1, θ2, θ3; physics and chemistry may interpret these as

while aircraft dynamics may use One systematic approach begins with choosing the right-most axis. Among all permutation
Permutation

In several fields of mathematics the term permutation is used with different but closely related meanings. They all relate to the notion of mapping the element s of a set to other elements of the same set, i.e., exchanging elements of a set....
s of (
x,y,z), only two place that axis first; one is an even permutation and the other odd. Choosing parity thus establishes the middle axis. That leaves two choices for the left-most axis, either duplicating the first or not. These three choices gives us 3×2×2 = 12 variations; we double that to 24 by choosing static or rotating axes.

This is enough to construct a matrix from angles, but triples differing in many ways can give the same rotation matrix. For example, suppose we use the
zyz convention above; then we have the following equivalent pairs:
The problem of singular alignment, the mathematical analog of physical gimbal lock
Gimbal lock

Gimbal lock is the loss of one degree of freedom that occurs when the axes of two of the three gimbals needed to apply or compensate for rotations in three dimensional space are driven to the same direction....
, occurs when the middle rotation aligns the axes of the first and last rotations. It afflicts every axis order at either even or odd multiples of 90°, causing Euler angles to be abandoned for quaternions in many applications. Setting these unavoidable issues aside, angles for any order can be found using a concise common routine (; ).

Uniform random rotation matrices

We sometimes need to generate a uniformly distributed random rotation matrix. It seems intuitively clear in two dimensions that this means the rotation angle is uniformly distributed between 0 and 2π. That intuition is correct, but does not carry over to higher dimensions. For example, if we decompose 3×3 rotation matrices in axis-angle form, the angle should
not be uniformly distributed; the probability that (the magnitude of) the angle is at most θ should be 1π(θ - sin θ), for 0 ≤ θ ≤ π.

Since SO(
n) is a connected and locally compact Lie group, we have a simple standard criterion for uniformity, namely that the distribution be unchanged when composed with any arbitrary rotation (a Lie group "translation"). This definition corresponds to what is called Haar measure
Haar measure

In mathematical analysis, the Haar measure is a way to assign an "invariant volume" to subsets of locally compact topological groups and subsequently define an integral for functions on those groups....
. show how to use the Cayley transform to generate and test matrices according to this criterion.

We can also generate a uniform distribution in any dimension using the
subgroup algorithm of . This recursively exploits the nested dimensions group structure of SO(n), as follows. Generate a uniform angle and construct a 2×2 rotation matrix. To step from n to n+1, generate a vector
v uniformly distributed on the n-sphere, Sn, embed the n×n matrix in the next larger size with last column (0,…,0,1), and rotate the larger matrix so the last column becomes v.

As usual, we have special alternatives for the 3×3 case. Each of these methods begins with three independent random scalars uniformly distributed on the unit interval. takes advantage of the odd dimension to change a Householder reflection to a rotation by negation, and uses that to aim the axis of a uniform planar rotation.

Another method uses unit quaternions. Multiplication of rotation matrices is homomorphic to multiplication of quaternions, and multiplication by a unit quaternion rotates the unit sphere. Since the homomorphism is a local isometry
Isometry

In mathematics, an isometry, isometric isomorphism or congruence mapping is a distance-preserving isomorphism between metric spaces....
, we immediately conclude that to produce a uniform distribution on SO(3) we may use a uniform distribution on
S3.

Euler angles can also be used, though not with each angle uniformly distributed (; ).

For the axis-angle form, the axis is uniformly distributed over the unit sphere of directions,
S2, while the angle has the non-uniform distribution over [0,π] noted previously .

See also

  • Rotation
    Rotation

    A rotation is a movement of an object in a circular motion. A two-dimensional object rotates around a center of rotation. A Three-dimensional space object rotates around a line called an axis....
  • Rotation representation
  • Rotation group
    Rotation group

    In classical mechanics and geometry, the rotation group is the group of all rotations about the origin of three-dimensional Euclidean space R3 under the operation of functional composition....
  • Isometry
    Isometry

    In mathematics, an isometry, isometric isomorphism or congruence mapping is a distance-preserving isomorphism between metric spaces....
  • Orthogonal matrix
    Orthogonal matrix

    In matrix theory, a real number orthogonal matrix is a Matrix #Square matrices Q whose transpose is its inverse matrix:A special orthogonal matrix is an orthogonal matrix with determinant +1:...
  • Rodrigues' rotation formula
    Rodrigues' rotation formula

    In geometry, Rodrigues' rotation formula is a vector formula for a rotation in space, given its axis and angle of rotation.Say u,v R3 and we want to obtain a representation for the rotation vrot of the vector v around the vector u by an angle ? in the counterclockwise direction....
  • Yaw-pitch-roll system
    Flight dynamics

    Flight dynamics is the science of aircraft and spacecraft vehicle orientation and control in three dimensions. The three critical flight dynamics parameters are the angles of rotation in three dimensions about the vehicle's center of mass, known as pitch, roll and yaw ....


External links

  • (requires Java
    Java (programming language)

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
    )
  • at MathPages