INVERTIBLE MATRIX
In linear algebra, an ''n''-by-''n'' (square) matrix is called 'invertible' or 'non-singular' if there exists an ''n''-by-''n'' matrix such that
:
where denotes the ''n''-by-''n'' identity matrix and the multiplication used is ordinary matrix multiplication. If this is the case, then the matrix is uniquely determined by and is called the ''inverse'' of , denoted by . It follows from the theory of matrices that if
:
for square matrices and , then also
:
A square matrix that is not invertible is called 'singular' or 'degenerate'. While the most common case is that of matrices over the real or complex numbers, all these definitions can be given for matrices over any ring.
As a rule of thumb, almost all square matrices are invertible. Over the field of real numbers, this can be made precise as follows: the set of singular ''n''-by-''n'' matrices, considered as a subset of , is a null set, i.e., has Lebesgue measure zero. Intuitively, this means that if you pick a random square matrix over the reals, the probability that it will be singular is zero. This is true because singular matrices can be thought of as the roots of the polynomial function given by the determinant. In practice however, one may encounter non-invertible matrices. And in numerical calculations, matrices which are invertible, but close to a non-invertible matrix, can still be problematic; such matrices are said to be 'ill conditioned'.
''Matrix inversion'' is the process of finding the matrix that satisfies the prior equation for a given invertible matrix .
Let be a square ''n'' by ''n'' matrix over a field (for example the field of real numbers). Then the following statements are equivalent:
★ is invertible.
★ is row-equivalent to the ''n''-by-''n'' identity matrix .
★ is column-equivalent to the ''n''-by-''n'' identity matrix .
★ has ''n'' pivot positions.
★ det ≠ 0.
★ rank = ''n''.
★ The equation has only the trivial solution (i.e., Null ''A'' = {0})
★ The equation has exactly one solution for each in .
★ The columns of are linearly independent.
★ The columns of span (i.e. Col ).
★ The columns of form a basis of .
★ The linear transformation mapping to is a bijection from to .
★ There is an ''n'' by ''n'' matrix such that .
★ The transpose is an invertible matrix.
★ The matrix times its transpose, is an invertible matrix.
★ The number 0 is not an eigenvalue of .
In general, a square matrix over a commutative ring is invertible if and only if its determinant is a unit in that ring.
The inverse of an invertible matrix is itself invertible, with
:.
The inverse of an invertible matrix multiplied by a non-zero scalar yields the product of the inverse of both the matrix and the scalar
:.
For an invertible matrix ''A'', the transpose of the inverse is the inverse of the transpose:
:
The product of two invertible matrices and of the same size is again invertible, with the inverse given by
:
(note that the order of the factors is reversed.) As a consequence, the set of invertible ''n''-by-''n'' matrices forms a group, known as the general linear group Gl(''n'').
If , , ..., are nonsingular square matrices over a field, then
:
It becomes evident why this is the case if one attempts to find an inverse for the product of the s from first principles, that is, that we wish to determine such that
:
where is the inverse matrix of the product. To remove from the product, we can then write
:
which would reduce the equation to
:
Likewise, then, from
:
which simplifies to
:
If one repeat the process up to , the equation becomes
:
:
but is the inverse matrix, i.e
so the property is established.
Gaussian elimination is an algorithm that can be used to determine whether a given matrix is invertible and to find the inverse. An alternative is the LU decomposition which generates an upper and a lower triangular matrices which are easier to invert. For special purposes, it may be convenient to invert matrices by treating ''mn''-by-''mn'' matrices as ''m''-by-''m'' matrices of ''n''-by-''n'' matrices, and applying one or another formula recursively (other sized matrices can be padded out with dummy rows and columns). For other purposes, a variant of Newton's method may be convenient (particularly when dealing with families of related matrices, so inverses of earlier matrices can be used to seed generating inverses of later matrices).
Writing another special matrix of cofactors, known as an adjugate matrix, can also be an efficient way to calculate the inverse of ''small'' matrices (since this method is essentially recursive, it becomes inefficient for large matrices). To determine the inverse, we calculate a matrix of cofactors:
:
where |''A''| is the determinant of ''A'', ''C''''ij'' is the matrix cofactor, and ''A''T represents the matrix transpose.
For most practical applications, it is ''not'' necessary to invert a matrix to solve a system of linear equations; however, for a unique solution, it ''is'' necessary that the matrix involved be invertible.
Decomposition techniques like LU decomposition, are ''much'' faster than inversion, and various fast algorithms for special classes of linear systems have also been developed.
The ''cofactor equation'' listed above yields the following result for 2 x 2 matrices. Inversion of these matrices can be done easily as follows:
[1]
:
Matrices can also be ''inverted blockwise'' by using the following analytic inversion formula:
{| border="0" cellpadding="0" cellspacing="0" width="100%"
|-
| align="left" |
:
| align="right" |
|}
where A, B, C and D are matrix sub-blocks of arbitrary size. This strategy is particularly advantageous if A is diagonal and (the Schur complement of ) is a small matrix, since they are the only matrices requiring inversion. This technique was invented by Volker Strassen, who also invented the Strassen algorithm for fast(er) matrix multiplication.
The inversion procedure that led to Equation (1) performed matrix block operations that operated on and first. Instead, if and are operated on first, the result is
{| border="0" cellpadding="0" cellspacing="0" width="100%"
|-
| align="left" |
:
| align="right" |
|}
Equating Equations (1) and (2) leads to
{| border="0" cellpadding="0" cellspacing="0" width="100%"
|-
| align="left" |
:
| align="right" |
|}
:
:
:
where Equation (3) is the matrix inversion lemma, which is equivalent to the binomial inverse theorem.
Suppose that the matrix ''A'' depends on a parameter ''t''. Then the derivative of the inverse of ''A'' with respect to ''t'' is given by
:
This formula can be found by differentiating the identity
:
Some of the properties of inverse matrices are shared by (Moore-Penrose) pseudoinverses, which can be defined for any ''m''-by-''n'' matrix.
Matrix inversion plays a significant role in computer graphics, particularly in 3D graphics rendering and 3D simulations. Examples include screen-to-world ray casting, world-to-subspace-to-world object transformations, and physical simulations. The problem there is usually the numerical complexity of calculating the inverses of 3×3 and 4×4 matrices. Compared to matrix multiplication or creation of rotation matrices, inversion is several orders of magnitude slower. There are existing solutions which use hand-crafted assembly routines and SIMD processor extensions (SSE, SSE2, Altivec) that address this problem and achieve a performance improvement of as much as 5X.
★ Matrix decomposition
★ Binomial inverse theorem
★ Singular value decomposition
★ LU decomposition
★ Pseudoinverse (Moore-Penrose inverse)
★ Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. ''Introduction to Algorithms'', Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Section 28.4: Inverting matrices, pp.755–760.
1.
Linear Algebra and Its Applications, , Gilbert, Strang, Thomson Brooks/Cole, ,
★ MIT Linear Algebra Lecture on Inverse Matrices at Google Video, from MIT OpenCourseWare
★ LAPACK is a collection of FORTRAN subroutines for solving dense linear algebra problems
★ ALGLIB includes a partial port of the LAPACK to C++, C#, Delphi, etc.
★ Online Inverse Matrix Calculator using AJAX
★ Inverse Matrix Calculator
★ Moore Penrose Pseudoinverse
★ Inverse of a Matrix Notes
★ Module for the Matrix Inverse
★
:
where denotes the ''n''-by-''n'' identity matrix and the multiplication used is ordinary matrix multiplication. If this is the case, then the matrix is uniquely determined by and is called the ''inverse'' of , denoted by . It follows from the theory of matrices that if
:
for square matrices and , then also
:
A square matrix that is not invertible is called 'singular' or 'degenerate'. While the most common case is that of matrices over the real or complex numbers, all these definitions can be given for matrices over any ring.
As a rule of thumb, almost all square matrices are invertible. Over the field of real numbers, this can be made precise as follows: the set of singular ''n''-by-''n'' matrices, considered as a subset of , is a null set, i.e., has Lebesgue measure zero. Intuitively, this means that if you pick a random square matrix over the reals, the probability that it will be singular is zero. This is true because singular matrices can be thought of as the roots of the polynomial function given by the determinant. In practice however, one may encounter non-invertible matrices. And in numerical calculations, matrices which are invertible, but close to a non-invertible matrix, can still be problematic; such matrices are said to be 'ill conditioned'.
''Matrix inversion'' is the process of finding the matrix that satisfies the prior equation for a given invertible matrix .
Properties of invertible matrices
Let be a square ''n'' by ''n'' matrix over a field (for example the field of real numbers). Then the following statements are equivalent:
★ is invertible.
★ is row-equivalent to the ''n''-by-''n'' identity matrix .
★ is column-equivalent to the ''n''-by-''n'' identity matrix .
★ has ''n'' pivot positions.
★ det ≠ 0.
★ rank = ''n''.
★ The equation has only the trivial solution (i.e., Null ''A'' = {0})
★ The equation has exactly one solution for each in .
★ The columns of are linearly independent.
★ The columns of span (i.e. Col ).
★ The columns of form a basis of .
★ The linear transformation mapping to is a bijection from to .
★ There is an ''n'' by ''n'' matrix such that .
★ The transpose is an invertible matrix.
★ The matrix times its transpose, is an invertible matrix.
★ The number 0 is not an eigenvalue of .
In general, a square matrix over a commutative ring is invertible if and only if its determinant is a unit in that ring.
The inverse of an invertible matrix is itself invertible, with
:.
The inverse of an invertible matrix multiplied by a non-zero scalar yields the product of the inverse of both the matrix and the scalar
:.
For an invertible matrix ''A'', the transpose of the inverse is the inverse of the transpose:
:
The product of two invertible matrices and of the same size is again invertible, with the inverse given by
:
(note that the order of the factors is reversed.) As a consequence, the set of invertible ''n''-by-''n'' matrices forms a group, known as the general linear group Gl(''n'').
Proof for matrix product rule
If , , ..., are nonsingular square matrices over a field, then
:
It becomes evident why this is the case if one attempts to find an inverse for the product of the s from first principles, that is, that we wish to determine such that
:
where is the inverse matrix of the product. To remove from the product, we can then write
:
which would reduce the equation to
:
Likewise, then, from
:
which simplifies to
:
If one repeat the process up to , the equation becomes
:
:
but is the inverse matrix, i.e
so the property is established.
Methods of matrix inversion
Gaussian elimination
Gaussian elimination is an algorithm that can be used to determine whether a given matrix is invertible and to find the inverse. An alternative is the LU decomposition which generates an upper and a lower triangular matrices which are easier to invert. For special purposes, it may be convenient to invert matrices by treating ''mn''-by-''mn'' matrices as ''m''-by-''m'' matrices of ''n''-by-''n'' matrices, and applying one or another formula recursively (other sized matrices can be padded out with dummy rows and columns). For other purposes, a variant of Newton's method may be convenient (particularly when dealing with families of related matrices, so inverses of earlier matrices can be used to seed generating inverses of later matrices).
Analytic solution
Writing another special matrix of cofactors, known as an adjugate matrix, can also be an efficient way to calculate the inverse of ''small'' matrices (since this method is essentially recursive, it becomes inefficient for large matrices). To determine the inverse, we calculate a matrix of cofactors:
:
where |''A''| is the determinant of ''A'', ''C''''ij'' is the matrix cofactor, and ''A''T represents the matrix transpose.
For most practical applications, it is ''not'' necessary to invert a matrix to solve a system of linear equations; however, for a unique solution, it ''is'' necessary that the matrix involved be invertible.
Decomposition techniques like LU decomposition, are ''much'' faster than inversion, and various fast algorithms for special classes of linear systems have also been developed.
Inversion of 2 x 2 matrices
The ''cofactor equation'' listed above yields the following result for 2 x 2 matrices. Inversion of these matrices can be done easily as follows:
[1]
:
Blockwise inversion
Matrices can also be ''inverted blockwise'' by using the following analytic inversion formula:
{| border="0" cellpadding="0" cellspacing="0" width="100%"
|-
| align="left" |
:
| align="right" |
|}
where A, B, C and D are matrix sub-blocks of arbitrary size. This strategy is particularly advantageous if A is diagonal and (the Schur complement of ) is a small matrix, since they are the only matrices requiring inversion. This technique was invented by Volker Strassen, who also invented the Strassen algorithm for fast(er) matrix multiplication.
The inversion procedure that led to Equation (1) performed matrix block operations that operated on and first. Instead, if and are operated on first, the result is
{| border="0" cellpadding="0" cellspacing="0" width="100%"
|-
| align="left" |
:
| align="right" |
|}
Equating Equations (1) and (2) leads to
{| border="0" cellpadding="0" cellspacing="0" width="100%"
|-
| align="left" |
:
| align="right" |
|}
:
:
:
where Equation (3) is the matrix inversion lemma, which is equivalent to the binomial inverse theorem.
The derivative of the matrix inverse
Suppose that the matrix ''A'' depends on a parameter ''t''. Then the derivative of the inverse of ''A'' with respect to ''t'' is given by
:
This formula can be found by differentiating the identity
:
The Moore-Penrose pseudoinverse
Some of the properties of inverse matrices are shared by (Moore-Penrose) pseudoinverses, which can be defined for any ''m''-by-''n'' matrix.
Matrix inverses in real-time simulations
Matrix inversion plays a significant role in computer graphics, particularly in 3D graphics rendering and 3D simulations. Examples include screen-to-world ray casting, world-to-subspace-to-world object transformations, and physical simulations. The problem there is usually the numerical complexity of calculating the inverses of 3×3 and 4×4 matrices. Compared to matrix multiplication or creation of rotation matrices, inversion is several orders of magnitude slower. There are existing solutions which use hand-crafted assembly routines and SIMD processor extensions (SSE, SSE2, Altivec) that address this problem and achieve a performance improvement of as much as 5X.
See also
★ Matrix decomposition
★ Binomial inverse theorem
★ Singular value decomposition
★ LU decomposition
★ Pseudoinverse (Moore-Penrose inverse)
References
★ Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. ''Introduction to Algorithms'', Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Section 28.4: Inverting matrices, pp.755–760.
1.
Linear Algebra and Its Applications, , Gilbert, Strang, Thomson Brooks/Cole, ,
External links
★ MIT Linear Algebra Lecture on Inverse Matrices at Google Video, from MIT OpenCourseWare
★ LAPACK is a collection of FORTRAN subroutines for solving dense linear algebra problems
★ ALGLIB includes a partial port of the LAPACK to C++, C#, Delphi, etc.
★ Online Inverse Matrix Calculator using AJAX
★ Inverse Matrix Calculator
★ Moore Penrose Pseudoinverse
★ Inverse of a Matrix Notes
★ Module for the Matrix Inverse
★
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español