In linear algebra, an nbyn square matrix A is called invertible (also nonsingular or nondegenerate) if there exists an nbyn square matrix B such that

\mathbf{AB} = \mathbf{BA} = \mathbf{I}_n \
where I_{n} denotes the nbyn 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}.
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 a square matrix randomly selected from a continuous uniform distribution on its entries will almost never be singular.
Nonsquare matrices (mbyn 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 mbyn and the rank of A is equal to n, then A has a left inverse: an nbym matrix B such that BA = I. If A has rank m, then it has a right inverse: an nbym matrix B such that AB = I.
Matrix inversion is the process of finding the matrix B that satisfies the prior equation for a given invertible matrix A.
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 leftinverse resp. rightinverse are more complicated since a notion of rank does not exist over rings.
Contents

Properties 1

The invertible matrix theorem 1.1

Other properties 1.2

In relation to its adjugate 1.3

In relation to the identity matrix 1.4

Density 1.5

Methods of matrix inversion 2

Gaussian elimination 2.1

Newton's method 2.2

Cayley–Hamilton method 2.3

Eigen decomposition 2.4

Cholesky decomposition 2.5

Analytic solution 2.6

Inversion of 2×2 matrices 2.6.1

Inversion of 3×3 matrices 2.6.2

Inversion of 4×4 matrices 2.6.3

Blockwise inversion 2.7

By Neumann series 2.8

Padic approximation 2.9

Derivative of the matrix inverse 3

Moore–Penrose pseudoinverse 4

Applications 5

Regression/least squares 5.1

Matrix inverses in realtime simulations 5.2

Matrix inverses in MIMO wireless communication 5.3

See also 6

Notes 7

References 8

Further reading 9

External links 10
Properties
The invertible matrix theorem
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, i.e., for any given matrix they are either all true or all false:

A is invertible, i.e. A has an inverse, is nonsingular, or is nondegenerate.

A is rowequivalent to the nbyn identity matrix I_{n}.

A is columnequivalent to the nbyn identity matrix I_{n}.

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.

A has full rank; that is, rank A = n.

The equation Ax = 0 has only the trivial solution x = 0

Null A = {0}

The equation Ax = b has exactly one solution for each b in K^{n}.

The columns of A are linearly independent.

The columns of A span K^{n}

Col A = K^{n}

The columns of A form a basis of K^{n}.

The linear transformation mapping x to Ax is a bijection from K^{n} to K^{n}.

There is an n by n matrix B such that AB = I_{n} = BA.

The transpose A^{T} is an invertible matrix (hence rows of A are linearly independent, span K^{n}, and form a basis of K^{n}).

The number 0 is not an eigenvalue of A.

The matrix A can be expressed as a finite product of elementary matrices.

The matrix A has a left inverse (i.e. there exists a B such that BA = I) or a right inverse (i.e. there exists a C such that AC = I), in which case both left and right inverses exist and B = C = A^{−1}.
Other properties
Furthermore, the following properties hold for an invertible matrix A:

(A^{−1})^{−1} = A;

(kA)^{−1} = k^{−1}A^{−1} for nonzero scalar k;

(A^{T})^{−1} = (A^{−1})^{T};

For any invertible nbyn matrices A and B, (AB)^{−1} = B^{−1}A^{−1}. More generally, if A_{1},...,A_{k} are invertible nbyn matrices, then (A_{1}A_{2}⋯A_{k−1}A_{k})^{−1} = A_{k}^{−1}A_{k−1}^{−1}⋯A_{2}^{−1}A_{1}^{−1};

det(A^{−1}) = det(A)^{−1}.
A matrix that is its own inverse, i.e. A = A^{−1} and A^{2} = I, is called an involution.
In relation to its adjugate
The adjugate of a matrix A can be used to find the inverse of A as follows:
If A is an n\times n invertible matrix, then

A^{1}=\frac{1}{\det(A)} \operatorname{adj}(A).
In relation to the identity matrix
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}\ ^{[1]}
Density
Over the field of real numbers, the set of singular nbyn matrices, considered as a subset of R^{n×n}, 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 nbyn matrices are invertible.
Furthermore the nbyn invertible matrices are a dense open set in the topological space of all nbyn matrices. Equivalently, the set of singular matrices is closed and nowhere dense in the space of nbyn matrices.
In practice however, one may encounter noninvertible matrices. And in numerical calculations, matrices which are invertible, but close to a noninvertible matrix, can still be problematic; such matrices are said to be illconditioned.
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.
Newton's method
A generalization of Newton's method as used for a multiplicative inverse algorithm may be convenient, if it is convenient to find a suitable starting seed:

X_{k+1} = 2X_k  X_k A X_k.
Victor Pan and John Reif have done work that includes ways of generating a starting seed.^{[2]} ^{[3]} Byte magazine summarised one of their approaches.^{[4]}
Newton's method is particularly useful when dealing with families of related matrices that behave enough like the sequence manufactured for the homotopy above: 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, e.g. the pair of sequences of inverse matrices used in obtaining matrix square roots by DenmanBeavers iteration; this may need more than one pass of the iteration at each new matrix, if they are not close enough together for just one to be enough. 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.
Cayley–Hamilton method
Cayley–Hamilton theorem allows to represent the inverse of A in terms of det(A), traces and powers of A

\mathbf{A}^{1} = \frac{1}{\det (\mathbf{A})}\sum_{s=0}^{n1}\mathbf{A}^{s}\sum_{k_1,k_2,\ldots ,k_{n1}}\prod_{l=1}^{n1} \frac{(1)^{k_l+1}}{l^{k_l}k_{l}!}\mathrm{tr}(\mathbf{A}^l)^{k_l},
where n is dimension of A, and tr(A) is the trace of matrix A given by the sum of the main diagonal. The sum is taken over s and the sets of all k_{l} ≥ 0 satisfying the linear Diophantine equation

s+\sum_{l=1}^{n1}lk_{l} = n  1.
Eigen decomposition
If matrix A can be eigendecomposed and if none of its eigenvalues are zero, then A is invertible and its inverse is given by

\mathbf{A}^{1}=\mathbf{Q}\mathbf{\Lambda}^{1}\mathbf{Q}^{1}
where Q is the square (N×N) matrix whose i^{th} column is the eigenvector q_i of A and Λ is the diagonal matrix whose diagonal elements are the corresponding eigenvalues, i.e., \Lambda_{ii}=\lambda_i. Furthermore, because Λ is a diagonal matrix, its inverse is easy to calculate:

\left[\Lambda^{1}\right]_{ii}=\frac{1}{\lambda_i}
Cholesky decomposition
If matrix A is positive definite, then its inverse can be obtained as

\mathbf{A}^{1} = (\mathbf{L}^{*})^{1} \mathbf{L}^{1} ,
where L is the lower triangular Cholesky decomposition of A, and L* denotes the conjugate transpose of L.
Analytic solution
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}}\mathbf{C}^{\mathrm{T}}={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}
so that

\left(\mathbf{A}^{1}\right)_{ij}={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)
where A is the determinant of A, C is the matrix of cofactors, and C^{T} represents the matrix transpose.
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:^{[5]}

\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/(adbc) is the reciprocal of the determinant of the matrix in question, and the same strategy could be used for other matrix sizes.
The Cayley–Hamilton method gives

\mathbf{A}^{1}=\frac{1}{\det (\mathbf{A})}\left[ \left( \mathrm{tr}\mathbf{A} \right) \mathbf{I}  \mathbf{A}\right].
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 & i\\ \end{bmatrix}^{1} = \frac{1}{\det(\mathbf{A})} \begin{bmatrix} \, A & \, B & \,C \\ \, D & \, E & \, F \\ \, G & \, H & \, I\\ \end{bmatrix}^T = \frac{1}{\det(\mathbf{A})} \begin{bmatrix} \, A & \, D & \,G \\ \, B & \, E & \,H \\ \, C & \,F & \, I\\ \end{bmatrix}
(where the scalar A is not to be confused with the matrix A). If the determinant is nonzero, the matrix is invertible, with the elements of the intermediary matrix on the right side above given by

\begin{matrix} A = (eifh) & D = (bich) & G = (bfce) \\ B = (difg) & E = (aicg) & H = (afcd) \\ C = (dheg) & F = (ahbg) & I = (aebd) \\ \end{matrix}
The determinant of A can be computed by applying the rule of Sarrus as follows:

\det(\mathbf{A}) = aA+bB+cC.
The Cayley–Hamilton decomposition gives

\mathbf{A}^{1}=\frac{1}{\det (\mathbf{A})}\left[ \frac{1}{2}\left( (\mathrm{tr}\mathbf{A})^{2}\mathrm{tr}\mathbf{A}^{2}\right) \mathbf{I} \mathbf{A}\mathrm{tr}\mathbf{A}+\mathbf{A}^{2}\right].
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}.
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 tripleproduct 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 noncorresponding two columns of \mathbf{A} (causing the offdiagonal terms of \mathbf{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 \mathbf{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}).
Inversion of 4×4 matrices
With increasing dimension, expressions for the inverse of A get complicated. For n = 4 the CayleyHamilton method leads to an expression that is still tractable:

\mathbf{A}^{1}=\frac{1}{\det (\mathbf{A})}\left[ \frac{1}{6}\left( (\mathrm{tr}\mathbf{A})^{3}3\mathrm{tr}\mathbf{A}\mathrm{tr}\mathbf{A}^{2}+2\mathrm{tr}\mathbf{A}^{3}\right) \mathbf{I} \frac{1}{2}\mathbf{A}\left( (\mathrm{tr}\mathbf{A})^{2}\mathrm{tr}\mathbf{A}^{2}\right) +\mathbf{A}^{2}\mathrm{tr}\mathbf{A}\mathbf{A}^{3}\right].
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 subblocks of arbitrary size. (A must be square, so that it can be inverted. Furthermore, A and D−CA^{−1}B must be nonsingular.^{[6]}) This strategy is particularly advantageous if A is diagonal and D−CA^{−1}B (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 subblock in the lower right of the inverse matrix, and that the nullity of B equals the nullity of the subblock 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 A−BD^{−1}C are nonsingular
,^{[7]} 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} & \quad \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 Woodbury matrix identity, which is equivalent to the binomial inverse theorem.
Since a blockwise inversion of an n×n matrix requires inversion of two halfsized matrices and 6 multiplications between two halfsized matrices, it can be shown that a divide and conquer algorithm that uses blockwise inversion to invert a matrix runs with the same time complexity as the matrix multiplication algorithm that is used internally.^{[8]} There exist matrix multiplication algorithms with a complexity of O(n^{2.3727}) operations, while the best proven lower bound is Ω(n^{2} log n).^{[9]}
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:^{[10]}

\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. Note that a truncated series can be accelerated exponentially by noting that the Neumann series is a geometric sum. Therefore, if one wishes to compute 2^L terms, one merely need the moments A,A^2, A^4,...,A^{2^L} which can be found through L matrix multiplications. Then another L matrix multiplications are needed to obtain the final result by multiplying all the moments together. Therefore, 2L matrix multiplications are needed to compute 2^Lterms of the sum.
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 AX has rank 1 then this simplifies to

\mathbf A^{1} = \mathbf X^{1}  \frac{\mathbf X^{1} (\mathbf A  \mathbf X) \mathbf X^{1}}{1+\operatorname{tr}(\mathbf X^{1} (\mathbf A  \mathbf X))}~.
Padic approximation
If A is an matrix with integer or rational coefficients and we seek a solution in arbitraryprecision rationals, then a padic approximation method converges to an exact solution in O(n^4 \log^2 n), assuming standard O(n^3) matrix multiplication is used.^{[11]} The method relies on solving n linear systems via Dixon's method of padic approximation (each in O(n^3 \log^2 n)) and is available as such in software specialized in arbitraryprecision matrix operations, e.g. in IML.^{[12]}
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 mbyn matrix.
Applications
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.
Although an explicit inverse is not necessary to estimate the vector of unknowns, it is unavoidable to estimate their precision, found in the diagonal of the posterior covariance matrix of the vector of unknowns.
Matrix inverses in realtime simulations
Matrix inversion plays a significant role in computer graphics, particularly in 3D graphics rendering and 3D simulations. Examples include screentoworld ray casting, worldtosubspacetoworld object transformations, and physical simulations.
Matrix inverses in MIMO wireless communication
Matrix inversion also plays a significant role in the MIMO (MultipleInput, MultipleOutput) technology in wireless communications. The MIMO system consists of N transmit and M receive antennas. Unique signals, occupying the same frequency band, are sent via N transmit antennas and are received via M receive antennas. The signal arriving at each receive antenna will be a linear combination of the N transmitted signals forming a NxM transmission matrix H. It is crucial for the matrix H to be invertible for the receiver to be able to figure out the transmitted information.
See also
Notes

^ Horn, Roger A.; Johnson, Charles R. (1985). Matrix Analysis. .

^ Pan, Victor; Reif, John (1985), "Efficient Parallel Solution of Linear Systems", Proceedings of the Mth Annual ACM Symposium on Theory of Computing, Providence:

^ Pan, Victor; Reif, John (1985), "Harvard University Center for Research in Computing Technology Report TR0285", Cambridge, MA:

^ "The Inversion of Large Matrices".

^ Strang, Gilbert (2003). Introduction to linear algebra (3rd ed.). SIAM. p. 71. , Chapter 2, page 71

^ Bernstein, Dennis (2005). Matrix Mathematics. Princeton University Press. p. 44.

^ Bernstein, Dennis (2005). Matrix Mathematics. Princeton University Press. p. 45.

^ T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd ed., MIT Press, Cambridge, MA, 2009, §28.2.

^ Ran Raz. On the complexity of matrix product. In Proceedings of the thirtyfourth annual ACM symposium on Theory of computing. ACM Press, 2002. doi:10.1145/509907.509932.

^ Stewart, Gilbert (1998). Matrix Algorithms: Basic decompositions. SIAM. p. 55.

^ doi:10.1016/j.cam.2008.07.044

^ https://cs.uwaterloo.ca/~astorjoh/iml.html
References
Further reading

Hazewinkel, Michiel, ed. (2001), "Inversion of a matrix",

Matrix Mathematics: Theory, Facts, and Formulas at Google books

The Matrix Cookbook
External links

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

Symbolic Inverse of Matrix Calculator with steps shown

Moore Penrose Pseudoinverse

Inverse of a Matrix Notes

Module for the Matrix Inverse

Calculator for Singular or NonSquare Matrix Inverse

Inverse calculator online

Derivative of inverse matrix at PlanetMath.org.
This article was sourced from Creative Commons AttributionShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, EGovernment Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a nonprofit organization.