# .

In linear algebra an n-by-n (square) matrix A is called invertible (some authors use nonsingular or nondegenerate) if there exists an n-by-n matrix B such that

$$\mathbf{AB} = \mathbf{BA} = \mathbf{I}_n \$$

where In denotes the n-by-n identity matrix and the multiplication used is ordinary matrix multiplication. If this is the case, then the matrix B is uniquely determined by A and is called the inverse of A, denoted by A−1. It follows from the theory of matrices that if

$$\mathbf{AB} = \mathbf{I} \$$

for finite square matrices A and B, then also

$$\mathbf{BA} = \mathbf{I}. \$$ 

Non-square matrices (m-by-n matrices for which m ≠ n) do not have an inverse. However, in some cases such a matrix may have a left inverse or right inverse. If A is m-by-n and the rank of A is equal to n, then A has a left inverse: an n-by-m matrix B such that BA = I. If A has rank m, then it has a right inverse: an n-by-m matrix B such that AB = I.

A square matrix that is not invertible is called singular or degenerate. A square matrix is singular if and only if its determinant is 0. Singular matrices are rare in the sense that if you pick a random square matrix over a continuous uniform distribution on its entries, it will almost surely not be singular.

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 commutative ring. However, in this case the condition for a square matrix to be invertible is that its determinant is invertible in the ring, which in general is a much stricter requirement than being nonzero. The conditions for existence of left-inverse resp. right-inverse are more complicated since a notion of rank does not exist over rings.

Matrix inversion is the process of finding the matrix B that satisfies the prior equation for a given invertible matrix A.

Properties

Let A be a square n by n matrix over a field K (for example the field R of real numbers). The following statements are equivalent:

A is invertible.
A is row-equivalent to the n-by-n identity matrix In.
A is column-equivalent to the n-by-n identity matrix In.
A has n pivot positions.
det A ≠ 0. In general, a square matrix over a commutative ring is invertible if and only if its determinant is a unit in that ring.
rank A = n.
The equation Ax = 0 has only the trivial solution x = 0 (i.e., Null A = {0})
The equation Ax = b has exactly one solution for each b in Kn, (x0).
The columns of A are linearly independent.
The columns of A span Kn (i.e. Col A = Kn).
The columns of A form a basis of Kn.
The linear transformation mapping x to Ax is a bijection from Kn to Kn.
There is an n by n matrix B such that AB = In = BA.
The transpose AT is an invertible matrix (hence rows of A are linearly independent, span Kn, and form a basis of Kn).
The number 0 is not an eigenvalue of A.
The matrix A can be expressed as a finite product of elementary matrices.

Furthermore, the following properties hold for an invertible matrix A:

• (A–1)–1 = A;
• (kA)–1 = k–1A–1 for nonzero scalar k;
• (AT)–1 = (A–1)T;
• For any invertible n-by-n matrices A and B, (AB)–1 = B–1A–1. More generally, if A1,...,Ak are invertible n-by-n matrices, then (A1A2Ak–1Ak)–1 = Ak–1Ak–1–1A2–1A1–1;
• det(A–1) = det(A)–1.

A matrix that is its own inverse, i.e. A = A-1 and A2 = I, is called an involution.

Density

Over the field of real numbers, the set of singular n-by-n matrices, considered as a subset of Rnxn, is a null set, i.e., has Lebesgue measure zero. This is true because singular matrices are the roots of the polynomial function in the entries of the matrix given by the determinant. Thus in the language of measure theory, almost all n-by-n matrices are invertible.

Furthermore the n-by-n invertible matrices are a dense open set in the topological space of all n-by-n matrices. Equivalently, the set of singular matrices is closed and nowhere dense in the space of n-by-n matrices.

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.

Methods of matrix inversion
Gaussian elimination

Gauss–Jordan 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 upper and lower triangular matrices which are easier to invert. For special purposes, it may be convenient to invert matrices by treating m·n-by-m·n 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. Newton's method is particularly useful when dealing with families of related matrices: sometimes a good starting point for refining an approximation for the new inverse can be the already obtained inverse of a previous matrix that nearly matches the current matrix. Newton's method is also useful for "touch up" corrections to the Gauss–Jordan algorithm which has been contaminated by small errors due to imperfect computer arithmetic.

$$[ A I ] \Rightarrow A^{-1} [ A I ] \Rightarrow [ I A^{-1} ].$$

Analytic solution
Main article: Cramer's rule

Writing the transpose of the matrix of cofactors, known as an adjugate matrix, can also be an efficient way to calculate the inverse of small matrices, but this recursive method is inefficient for large matrices. To determine the inverse, we calculate a matrix of cofactors:

$$\mathbf{A}^{-1}={1 \over \begin{vmatrix}\mathbf{A}\end{vmatrix}}\left(\mathbf{C}^{\mathrm{T}}\right)_{ij}={1 \over \begin{vmatrix}\mathbf{A}\end{vmatrix}}\left(\mathbf{C}_{ji}\right)={1 \over \begin{vmatrix}\mathbf{A}\end{vmatrix}} \begin{pmatrix} \mathbf{C}_{11} & \mathbf{C}_{21} & \cdots & \mathbf{C}_{n1} \\ \mathbf{C}_{12} & \mathbf{C}_{22} & \cdots & \mathbf{C}_{n2} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{C}_{1n} & \mathbf{C}_{2n} & \cdots & \mathbf{C}_{nn} \\ \end{pmatrix}$$

where |A| is the determinant of A, Cij is the matrix of cofactors, and CT 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×2 matrices

The cofactor equation listed above yields the following result for 2×2 matrices. Inversion of these matrices can be done easily as follows:

$$\mathbf{A}^{-1} = \begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}^{-1} = \frac{1}{\det(\mathbf{A})} \begin{bmatrix} \,\,\,d & \!\!-b \\ -c & \,a \\ \end{bmatrix} = \frac{1}{ad - bc} \begin{bmatrix} \,\,\,d & \!\!-b \\ -c & \,a \\ \end{bmatrix}.$$

This is possible because 1/(ad-bc) is the reciprocal of the determinant of the matrix in question, and the same strategy could be used for other matrix sizes.
Inversion of 3×3 matrices

A computationally efficient 3x3 matrix inversion is given by

$$\mathbf{A}^{-1} = \begin{bmatrix} a & b & c\\ d & e & f \\ g & h & k\\ \end{bmatrix}^{-1} = \frac{1}{\det(\mathbf{A})} \begin{bmatrix} \, A & \, B & \,C \\ \, D & \, E & \,F \\ \, G & \,H & \, K\\ \end{bmatrix}^T = \frac{1}{\det(\mathbf{A})} \begin{bmatrix} \, A & \, D & \,G \\ \, B & \, E & \,H \\ \, C & \,F & \, K\\ \end{bmatrix}$$

where the determinant of A can be computed by applying the rule of Sarrus as follows:

$$\det(\mathbf{A}) = a(ek-fh)+b(fg-kd)+c(dh-eg).$$

If the determinant is non-zero, the matrix is invertible, with the elements of the above matrix on the right side given by

$$\begin{matrix} A = (ek-fh) & D = (ch-bk) & G = (bf-ce) \\ B = (fg-dk) & E = (ak-cg) & H = (cd-af) \\ C = (dh-eg) & F = (gb-ah) & K = (ae-bd). \\ \end{matrix}$$

The general 3×3 inverse can be expressed concisely in terms of the cross product and triple product:

If a matrix $$\mathbf{A}=\left[\mathbf{x_0},\;\mathbf{x_1},\;\mathbf{x_2}\right]$$ (consisting of three column vectors, $$\mathbf{x_0}, \mathbf{x_1}$$, and $$\mathbf{x_2}$$ ) is invertible, its inverse is given by

$$\mathbf{A}^{-1}=\frac{1}{\det(\mathbf A)}\begin{bmatrix} {(\mathbf{x_1}\times\mathbf{x_2})}^{T} \\ {(\mathbf{x_2}\times\mathbf{x_0})}^{T} \\ {(\mathbf{x_0}\times\mathbf{x_1})}^{T} \\ \end{bmatrix}$$

where $$\mathbf{x_i}$$ is a column vector and $$\mathbf{x_i}\times\mathbf{x_j}$$ is a row vector. Note that $$\det(A)$$ is equal to the triple product of $$\mathbf{x_0}, \mathbf{x_1}$$, and $$\mathbf{x_2}$$—the volume of the parallelepiped formed by the rows or columns:

$$\det(\mathbf{A})=\mathbf{x_0}\cdot(\mathbf{x_1}\times\mathbf{x_2}).$$

The correctness of the formula can be checked by using cross- and triple-product properties and by noting that for groups, left and right inverses always coincide. Intuitively, because of the cross products, each row of $$\mathbf{A}^{-1}$$ is orthogonal to the non-corresponding two columns of $$\mathbf{A}$$ (causing the off-diagonal terms of $$I=\mathbf{A}^{-1}\mathbf{A}$$ be zero). Dividing by

$$\det(\mathbf{A})=\mathbf{x_0}\cdot(\mathbf{x_1}\times\mathbf{x_2})$$

causes the diagonal elements of $$I=\mathbf{A}^{-1}\mathbf{A}$$ to be unity. For example, the first diagonal is:

$$1 = \frac{1}{\mathbf{x_0}\cdot(\mathbf{x_1}\times\mathbf{x_2})} \mathbf{x_0}\cdot(\mathbf{x_1}\times\mathbf{x_2}).$$

Blockwise inversion

Matrices can also be inverted blockwise by using the following analytic inversion formula:

$$\begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix}^{-1} = \begin{bmatrix} \mathbf{A}^{-1}+\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{CA}^{-1}\mathbf{B})^{-1}\mathbf{CA}^{-1} & -\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{CA}^{-1}\mathbf{B})^{-1} \\ -(\mathbf{D}-\mathbf{CA}^{-1}\mathbf{B})^{-1}\mathbf{CA}^{-1} & (\mathbf{D}-\mathbf{CA}^{-1}\mathbf{B})^{-1} \end{bmatrix}$$

(1)

where A, B, C and D are matrix sub-blocks of arbitrary size. (A and D must, of course, be square, so that they can be inverted. Furthermore, this is true if and only if A and DCA−1B are nonsingular  ). This strategy is particularly advantageous if A is diagonal and DCA−1B (the Schur complement of A) is a small matrix, since they are the only matrices requiring inversion. This technique was reinvented several times and is due to Hans Boltz (1923), who used it for the inversion of geodetic matrices, and Tadeusz Banachiewicz (1937), who generalized it and proved its correctness.

The nullity theorem says that the nullity of A equals the nullity of the sub-block in the lower right of the inverse matrix, and that the nullity of B equals the nullity of the sub-block in the upper right of the inverse matrix.

The inversion procedure that led to Equation (1) performed matrix block operations that operated on C and D first. Instead, if A and B are operated on first, and provided D and ABD−1C are nonsingular , the result is

$$\begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix}^{-1} = \begin{bmatrix} (\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})^{-1} & -(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})^{-1}\mathbf{BD}^{-1} \\ -\mathbf{D}^{-1}\mathbf{C}(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})^{-1} & \mathbf{D}^{-1}+\mathbf{D}^{-1}\mathbf{C}(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})^{-1}\mathbf{BD}^{-1}\end{bmatrix}.$$

(2)

Equating Equations (1) and (2) leads to

$$(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})^{-1} = \mathbf{A}^{-1}+\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{CA}^{-1}\mathbf{B})^{-1}\mathbf{CA}^{-1}\,$$

(3)

$$(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})^{-1}\mathbf{BD}^{-1} = \mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{CA}^{-1}\mathbf{B})^{-1}\,$$
$$\mathbf{D}^{-1}\mathbf{C}(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})^{-1} = (\mathbf{D}-\mathbf{CA}^{-1}\mathbf{B})^{-1}\mathbf{CA}^{-1}\,$$
$$\mathbf{D}^{-1}+\mathbf{D}^{-1}\mathbf{C}(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})^{-1}\mathbf{BD}^{-1} = (\mathbf{D}-\mathbf{CA}^{-1}\mathbf{B})^{-1}\,$$

where Equation (3) is the matrix inversion lemma, which is equivalent to the binomial inverse theorem.
By Neumann series

If a matrix A has the property that

$$\lim_{n \to \infty} (\mathbf I - \mathbf A)^n = 0$$

then A is nonsingular and its inverse may be expressed by a Neumann series:

$$\mathbf A^{-1} = \sum_{n = 0}^\infty (\mathbf I - \mathbf A)^n.$$

Truncating the sum results in an "approximate" inverse which may be useful as a preconditioner.

More generally, if A is "near" the invertible matrix X in the sense that

$$\lim_{n \to \infty} (\mathbf I - \mathbf X^{-1} \mathbf A)^n = 0 \mathrm{~~or~~} \lim_{n \to \infty} (\mathbf I - \mathbf A \mathbf X^{-1})^n = 0$$

then A is nonsingular and its inverse is

$$\mathbf A^{-1} = \sum_{n = 0}^\infty \left(\mathbf X^{-1} (\mathbf X - \mathbf A)\right)^n \mathbf X^{-1}~.$$

If it is also the case that A-X has rank 1 then this simplifies to

$$\mathbf A^{-1} = \mathbf X^{-1} + \frac{\mathbf X^{-1} (\mathbf X - \mathbf A) \mathbf X^{-1}}{1-\operatorname{tr}(\mathbf X^{-1} (\mathbf X - \mathbf A))}~.$$

Derivative of the matrix inverse

Suppose that the invertible matrix A depends on a parameter t. Then the derivative of the inverse of A with respect to t is given by

$$\frac{\mathrm{d}\mathbf{A}^{-1}}{\mathrm{d}t} = - \mathbf{A}^{-1} \frac{\mathrm{d}\mathbf{A}}{\mathrm{d}t} \mathbf{A}^{-1}.$$

To derive the above expression for the derivative of the inverse of A, one can differentiate the definition of the matrix inverse $$\mathbf{A}^{-1}\mathbf{A}=\mathbf{I}$$ and then solve for the inverse of A:

$$\frac{\mathrm{d}\mathbf{A}^{-1}\mathbf{A}}{\mathrm{d}t} =\frac{\mathrm{d}\mathbf{A}^{-1}}{\mathrm{d}t}\mathbf{A} +\mathbf{A}^{-1}\frac{\mathrm{d}\mathbf{A}}{\mathrm{d}t} =\frac{\mathrm{d}\mathbf{I}}{\mathrm{d}t} =\mathbf{0}.$$

Subtracting $$\mathbf{A}^{-1}\frac{\mathrm{d}\mathbf{A}}{\mathrm{d}t}$$ from both sides of the above and multiplying on the right by $$\mathbf{A}^{-1}$$ gives the correct expression for the derivative of the inverse:

$$\frac{\mathrm{d}\mathbf{A}^{-1}}{\mathrm{d}t} = - \mathbf{A}^{-1} \frac{\mathrm{d}\mathbf{A}}{\mathrm{d}t} \mathbf{A}^{-1}.$$

Similarly, if \epsilon is a small number then

$$\left(\mathbf{A} + \epsilon\mathbf{X}\right)^{-1} = \mathbf{A}^{-1} - \epsilon \mathbf{A}^{-1} \mathbf{X} \mathbf{A}^{-1} + \mathcal{O}(\epsilon^2)\,.$$

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.
Applications
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.

Binomial inverse theorem
LU decomposition
Matrix decomposition
Pseudoinverse
Moore–Penrose pseudoinverse
Singular value decomposition
Woodbury matrix identity

Notes

^ Horn, Roger A.; Johnson, Charles R. (1985). Matrix Analysis. Cambridge University Press. p. 14. ISBN 978-0-521-38632-6.
^ Strang, Gilbert (2003). Introduction to linear algebra (3rd ed.). SIAM. p. 71. ISBN 0-9614088-9-8., Chapter 2, page 71
^ Bernstein, Dennis (2005). Matrix Mathematics. Princeton University Press. pp. 44. ISBN 0-691-11802-7.
^ Bernstein, Dennis (2005). Matrix Mathematics. Princeton University Press. pp. 45. ISBN 0-691-11802-7.
^ Stewart, Gilbert (1998). Matrix Algorithms: Basic decompositions. SIAM. pp. 55. ISBN 0-89871-414-1.

References

Cormen, Thomas H.; Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford (2001) . "28.4: Inverting matrices". Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill. pp. pp. 755–760. ISBN 0-262-03293-7.

Equations Solver Online
Lecture on Inverse Matrices by Khan Academy
Linear Algebra Lecture on Inverse Matrices by MIT
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
Moore Penrose Pseudoinverse
Inverse of a Matrix Notes
Module for the Matrix Inverse
Calculator for Singular or Non-Square Matrix Inverse
Derivative of inverse matrix, PlanetMath.org.

Mathematics Encyclopedia