Invertible matrix
In linear algebra, an invertible matrix (non-singular, non-degenarate or regular) is a square matrix that has an inverse. In other words, if some other matrix is multiplied by the invertible matrix, the result can be multiplied by an inverse to undo the operation. An invertible matrix multiplied by its inverse yields the identity matrix. Invertible matrices are the same size as their inverse.
DefinitionEdit
An Template:Mvar-by-Template:Mvar square matrix Template:Math is called invertible if there exists an Template:Mvar-by-Template:Mvar square matrix Template:Math such that<math display="block">\mathbf{AB} = \mathbf{BA} = \mathbf{I}_n ,</math>where Template:Math denotes the Template:Mvar-by-Template:Mvar identity matrix and the multiplication used is ordinary matrix multiplication.<ref>Template:Cite book</ref> If this is the case, then the matrix Template:Math is uniquely determined by Template:Math, and is called the (multiplicative) inverse of Template:Math, denoted by Template:Math. Matrix inversion is the process of finding the matrix which when multiplied by the original matrix gives the identity matrix.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
Over a field, a square matrix that is not invertible is called singular or degenerate. A square matrix with entries in a field is singular if and only if its determinant is zero. Singular matrices are rare in the sense that if a square matrix's entries are randomly selected from any bounded region on the number line or complex plane, the probability that the matrix is singular is 0, that is, it will "almost never" be singular. Non-square matrices, i.e. Template:Mvar-by-Template:Mvar matrices for which Template:Math, do not have an inverse. However, in some cases such a matrix may have a left inverse or right inverse. If Template:Math is Template:Mvar-by-Template:Mvar and the rank of Template:Math is equal to Template:Math, (Template:Math), then Template:Math has a left inverse, an Template:Math-by-Template:Mvar matrix Template:Math such that Template:Math. If Template:Math has rank Template:Math (Template:Math), then it has a right inverse, an Template:Mvar-by-Template:Mvar matrix Template:Math such that Template:Math.
While the most common case is that of matrices over the real or complex numbers, all of those definitions can be given for matrices over any algebraic structure equipped with addition and multiplication (i.e. rings). However, in the case of a ring being commutative, the condition for a square matrix to be invertible is that its determinant is invertible in the ring, which in general is a stricter requirement than it being nonzero. For a noncommutative ring, the usual determinant is not defined. The conditions for existence of left-inverse or right-inverse are more complicated, since a notion of rank does not exist over rings.
The set of Template:Math invertible matrices together with the operation of matrix multiplication and entries from ring Template:Mvar form a group, the general linear group of degree Template:Mvar, denoted Template:Math.
PropertiesEdit
Invertible matrix theoremEdit
Let Template:Math be a square Template:Mvar-by-Template:Mvar matrix over a field Template:Mvar (e.g., the field Template:Tmath of real numbers). The following statements are equivalent, i.e., they are either all true or all false for any given matrix:<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
- Template:Math is invertible, i.e. it has an inverse under matrix multiplication, i.e., there exists a Template:Math such that Template:Math. (In that statement, "invertible" can equivalently be replaced with "left-invertible" or "right-invertible" in which one-sided inverses are considered.)
- The linear transformation mapping Template:Math to Template:Math is invertible, i.e., it has an inverse under function composition. (There, again, "invertible" can equivalently be replaced with either "left-invertible" or "right-invertible".)
- The transpose Template:Math is an invertible matrix.
- Template:Math is row-equivalent to the Template:Mvar-by-Template:Mvar identity matrix Template:Math.
- Template:Math is column-equivalent to the Template:Mvar-by-Template:Mvar identity matrix Template:Math.
- Template:Math has Template:Mvar pivot positions.
- Template:Math has full rank: Template:Math.
- Template:Math has a trivial kernel: Template:Math
- The linear transformation mapping Template:Math to Template:Math is bijective; that is, the equation Template:Math has exactly one solution for each Template:Math in Template:Mvar. (There, "bijective" can equivalently be replaced with "injective" or "surjective".)
- The columns of Template:Math form a basis of Template:Mvar. (In this statement, "basis" can equivalently be replaced with either "linearly independent set" or "spanning set")
- The rows of Template:Math form a basis of Template:Mvar. (Similarly, here, "basis" can equivalently be replaced with either "linearly independent set" or "spanning set")
- The determinant of Template:Math is nonzero: Template:Math. In general, a square matrix over a commutative ring is invertible if and only if its determinant is a unit (i.e. multiplicatively invertible element) of that ring.
- The number 0 is not an eigenvalue of Template:Math. (More generally, a number <math>\lambda</math> is an eigenvalue of Template:Math if the matrix <math>\mathbf{A}-\lambda \mathbf{I}</math> is singular, where Template:Math is the identity matrix.)
- The matrix Template:Math can be expressed as a finite product of elementary matrices.
Other propertiesEdit
Furthermore, the following properties hold for an invertible matrix Template:Math:
- <math>(\mathbf A^{-1})^{-1} = \mathbf A</math>
- <math>(k \mathbf A)^{-1} = k^{-1} \mathbf A^{-1}</math> for nonzero scalar Template:Mvar
- <math>(\mathbf{Ax})^+ = \mathbf x^+ \mathbf A^{-1}</math> if Template:Math has orthonormal columns, where Template:Math denotes the Moore–Penrose inverse and Template:Math is a vector
- <math>(\mathbf A^\mathrm{T})^{-1} = (\mathbf A^{-1})^\mathrm{T}</math>
- For any invertible Template:Mvar-by-Template:Mvar matrices Template:Math and Template:Math, <math>(\mathbf{AB})^{-1} = \mathbf B^{-1} \mathbf A^{-1}.</math> More generally, if <math>\mathbf A_1, \dots, \mathbf A_k</math> are invertible Template:Mvar-by-Template:Mvar matrices, then <math>(\mathbf A_1 \mathbf A_2 \cdots \mathbf A_{k-1} \mathbf A_k)^{-1} = \mathbf A_k^{-1} \mathbf A_{k-1}^{-1} \cdots \mathbf A_2^{-1} \mathbf A_1^{-1}.</math>
- <math>\det \mathbf A^{-1} = (\det \mathbf A)^{-1}.</math>
The rows of the inverse matrix Template:Math of a matrix Template:Math are orthonormal to the columns of Template:Math (and vice versa interchanging rows for columns). To see this, suppose that Template:Math where the rows of Template:Math are denoted as <math>v_i^{\mathrm{T}}</math> and the columns of Template:Math as <math>u_j</math> for <math>1 \leq i,j \leq n.</math> Then clearly, the Euclidean inner product of any two <math>v_i^{\mathrm{T}} u_j = \delta_{i,j}.</math> This property can also be useful in constructing the inverse of a square matrix in some instances, where a set of orthogonal vectors (but not necessarily orthonormal vectors) to the columns of Template:Math are known. In which case, one can apply the iterative Gram–Schmidt process to this initial set to determine the rows of the inverse Template:Math.
A matrix that is its own inverse (i.e., a matrix Template:Math such that Template:Math and consequently Template:Math) is called an involutory matrix.
In relation to its adjugateEdit
The adjugate of a matrix Template:Math can be used to find the inverse of Template:Math as follows:
If Template:Math is an invertible matrix, then
- <math>\mathbf{A}^{-1} = \frac{1}{\det(\mathbf{A})} \operatorname{adj}(\mathbf{A}).</math>
In relation to the identity matrixEdit
It follows from the associativity of matrix multiplication that if
- <math>\mathbf{AB} = \mathbf{I} \ </math>
for finite square matrices Template:Math and Template:Math, then also
- <math>\mathbf{BA} = \mathbf{I}\ </math><ref>Template:Cite book.</ref>
DensityEdit
Over the field of real numbers, the set of singular Template:Mvar-by-Template:Mvar matrices, considered as a subset of Template:Tmath is a null set, that is, has Lebesgue measure zero. That is true because singular matrices are the roots of the determinant function. It is a continuous function because it is a polynomial in the entries of the matrix. Thus in the language of measure theory, almost all Template:Mvar-by-Template:Mvar matrices are invertible.
Furthermore, the set of Template:Mvar-by-Template:Mvar invertible matrices is open and dense in the topological space of all Template:Mvar-by-Template:Mvar matrices. Equivalently, the set of singular matrices is closed and nowhere dense in the space of Template:Mvar-by-Template:Mvar matrices.
In practice, however, non-invertible matrices may be encountered. In numerical calculations, matrices that are invertible but close to a non-invertible matrix may still be problematic and are said to be ill-conditioned.
ExamplesEdit
This example with rank of Template:Math is a non-invertible matrix:
- <math>\mathbf{A} = \begin{pmatrix} 2 & 4\\ 2 & 4 \end{pmatrix} .</math>
We can see the rank of this 2-by-2 matrix is 1, which is Template:Math, so it is non-invertible.
Consider the following 2-by-2 matrix:
- <math>\mathbf{B} = \begin{pmatrix}-1 & \tfrac{3}{2} \\ 1 & -1\end{pmatrix} .</math>
The matrix <math> \mathbf{B} </math> is invertible. To check this, one can compute that <math display="inline"> \det \mathbf{B} = -\frac{1}{2} </math>, which is non-zero.
As an example of a non-invertible, or singular, matrix, consider:
- <math>\mathbf{C} = \begin{pmatrix} -1 & \tfrac{3}{2} \\ \tfrac{2}{3} & -1 \end{pmatrix} .</math>
The determinant of <math> \mathbf{C} </math> is 0, which is a necessary and sufficient condition for a matrix to be non-invertible.
Methods of matrix inversionEdit
Gaussian eliminationEdit
Gaussian elimination is a useful and easy way to compute the inverse of a matrix. To compute a matrix inverse using this method, an augmented matrix is first created with the left side being the matrix to invert and the right side being the identity matrix. Then, Gaussian elimination is used to convert the left side into the identity matrix, which causes the right side to become the inverse of the input matrix.
For example, take the following matrix: <math display=block>\mathbf{A} = \begin{pmatrix}-1 & \tfrac{3}{2} \\ 1 & -1\end{pmatrix}. </math>
The first step to compute its inverse is to create the augmented matrix <math display=block>\left(\!\!\begin{array}{cc|cc} -1 & \tfrac{3}{2} & 1 & 0 \\
1 & -1 & 0 & 1 \end{array}\!\!\right) .</math>
Call the first row of this matrix <math>R_1</math> and the second row <math>R_2</math>. Then, add row 1 to row 2 <math>(R_1 + R_2 \to R_2).</math> This yields <math display=block>\left(\!\!\begin{array}{cc|cc} -1 & \tfrac{3}{2} & 1 & 0 \\
0 & \tfrac{1}{2} & 1 & 1
\end{array}\!\!\right).</math>
Next, subtract row 2, multiplied by 3, from row 1 <math>(R_1 - 3\, R_2 \to R_1),</math> which yields <math display=block>\left(\!\!\begin{array}{cc|cc} -1 & 0 & -2 & -3 \\
0 & \tfrac{1}{2} & 1 & 1
\end{array}\!\!\right).</math>
Finally, multiply row 1 by −1 <math>(-R_1 \to R_1)</math> and row 2 by 2 <math>(2\, R_2 \to R_2).</math> This yields the identity matrix on the left side and the inverse matrix on the right:<math display=block>\left(\!\!\begin{array}{cc|cc} 1 & 0 & 2 & 3 \\ 0 & 1 & 2 & 2 \end{array}\!\!\right).</math>
Thus, <math display=block>\mathbf{A}^{-1} = \begin{pmatrix} 2 & 3 \\ 2 & 2 \end{pmatrix}.</math> It works because the process of Gaussian elimination can be viewed as a sequence of applying left matrix multiplication using elementary row operations using elementary matrices (<math>\mathbf E_n</math>), such as <math>\mathbf E_n \mathbf E_{n-1} \cdots \mathbf E_2 \mathbf E_1 \mathbf A = \mathbf I.</math>
Applying right-multiplication using <math>\mathbf A^{-1},</math> we get <math> \mathbf E_n \mathbf E_{n-1} \cdots \mathbf E_2 \mathbf E_1 \mathbf I = \mathbf I \mathbf A^{-1}.</math> And the right side <math>\mathbf I \mathbf A^{-1} = \mathbf A^{-1}, </math> which is the inverse we want.
To obtain <math> \mathbf E_n \mathbf E_{n-1} \cdots \mathbf E_2 \mathbf E_1 \mathbf I,</math> we create the augumented matrix by combining Template:Math with Template:Math and applying Gaussian elimination. The two portions will be transformed using the same sequence of elementary row operations. When the left portion becomes Template:Math, the right portion applied the same elementary row operation sequence will become Template:Math.
Newton's methodEdit
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:
- <math>X_{k+1} = 2X_k - X_k A X_k.</math>
Victor Pan and John Reif have done work that includes ways of generating a starting seed.<ref>Template:Citation</ref><ref> Template:Citation</ref>
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. For example, the pair of sequences of inverse matrices used in obtaining matrix square roots by Denman–Beavers iteration. That 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 from imperfect computer arithmetic.
Cayley–Hamilton methodEdit
The Cayley–Hamilton theorem allows the inverse of Template:Math to be expressed in terms of Template:Math, traces and powers of Template:Math:<ref>A proof can be found in the Appendix B of Template:Cite journal</ref>
- <math>\mathbf{A}^{-1} = \frac{1}{\det(\mathbf{A})} \sum_{s=0}^{n-1} \mathbf{A}^s \sum_{k_1,k_2,\ldots,k_{n-1}} \prod_{l=1}^{n-1} \frac{(-1)^{k_l + 1}}{l^{k_l}k_l!} \operatorname{tr}\left(\mathbf{A}^l\right)^{k_l},</math>
where Template:Mvar is size of Template:Math, and Template:Math is the trace of matrix Template:Math given by the sum of the main diagonal. The sum is taken over Template:Mvar and the sets of all <math>k_l \geq 0</math> satisfying the linear Diophantine equation
- <math>s + \sum_{l=1}^{n-1} lk_l = n - 1.</math>
The formula can be rewritten in terms of complete Bell polynomials of arguments <math>t_l = - (l - 1)! \operatorname{tr}\left(A^l\right)</math> as
- <math>\mathbf{A}^{-1} = \frac{1}{\det(\mathbf{A})} \sum_{s=1}^n \mathbf{A}^{s-1} \frac{(-1)^{n - 1}}{(n - s)!} B_{n-s}(t_1, t_2, \ldots, t_{n-s}).</math>
That is described in more detail under Cayley–Hamilton method.
EigendecompositionEdit
Template:Main article If matrix Template:Math can be eigendecomposed, and if none of its eigenvalues are zero, then Template:Math is invertible and its inverse is given by
- <math>\mathbf{A}^{-1} = \mathbf{Q}\mathbf{\Lambda}^{-1}\mathbf{Q}^{-1},</math>
where Template:Math is the square Template:Math matrix whose Template:Mvarth column is the eigenvector <math>q_i</math> of Template:Math, and Template:Math is the diagonal matrix whose diagonal entries are the corresponding eigenvalues, that is, <math>\Lambda_{ii} = \lambda_i.</math> If Template:Math is symmetric, Template:Math is guaranteed to be an orthogonal matrix, therefore <math>\mathbf{Q}^{-1} = \mathbf{Q}^\mathrm{T} .</math> Furthermore, because Template:Math is a diagonal matrix, its inverse is easy to calculate:
- <math>\left[\Lambda^{-1}\right]_{ii} = \frac{1}{\lambda_i}.</math>
Cholesky decompositionEdit
Template:Main article If matrix Template:Math is positive definite, then its inverse can be obtained as
- <math>\mathbf{A}^{-1} = \left(\mathbf{L}^*\right)^{-1} \mathbf{L}^{-1} , </math>
where Template:Math is the lower triangular Cholesky decomposition of Template:Math, and Template:Math denotes the conjugate transpose of Template:Math.
Analytic solutionEdit
Template:Main article Writing the transpose of the matrix of cofactors, known as an adjugate matrix, may also be an efficient way to calculate the inverse of small matrices, but the recursive method is inefficient for large matrices. To determine the inverse, we calculate a matrix of cofactors:
- <math>\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}
</math> so that
- <math>\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)
</math> where Template:Math is the determinant of Template:Math, Template:Math is the matrix of cofactors, and Template:Math represents the matrix transpose.
Inversion of 2 × 2 matricesEdit
The cofactor equation listed above yields the following result for Template:Nowrap matrices. Inversion of these matrices can be done as follows:<ref>Template:Cite book, Chapter 2, page 71 </ref>
- <math>\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}.
</math>
This is possible because Template:Math 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
- <math>\mathbf{A}^{-1} = \frac{1}{\det \mathbf{A}} \left[ \left( \operatorname{tr}\mathbf{A} \right) \mathbf{I} - \mathbf{A} \right] .</math>
Inversion of 3 × 3 matricesEdit
A computationally efficient Template:Nowrap matrix inversion is given by
- <math>\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}^\mathrm{T} = \frac{1}{\det(\mathbf{A})} \begin{bmatrix} \, A & \, D & \,G \\ \, B & \, E & \,H \\ \, C & \,F & \, I\\ \end{bmatrix}
</math> (where the scalar Template:Mvar is not to be confused with the matrix Template:Math).
If the determinant is non-zero, the matrix is invertible, with the entries of the intermediary matrix on the right side above given by
- <math>\begin{alignat}{6}
A &={}& (ei - fh), &\quad& D &={}& -(bi - ch), &\quad& G &={}& (bf - ce), \\ B &={}& -(di - fg), &\quad& E &={}& (ai - cg), &\quad& H &={}& -(af - cd), \\ C &={}& (dh - eg), &\quad& F &={}& -(ah - bg), &\quad& I &={}& (ae - bd). \\
\end{alignat}</math>
The determinant of Template:Math can be computed by applying the rule of Sarrus as follows:
- <math>\det(\mathbf{A}) = aA + bB + cC.</math>
The Cayley–Hamilton decomposition gives
- <math>\mathbf{A}^{-1} =
\frac{1}{\det (\mathbf{A})}\left( \tfrac{1}{2}\left[ (\operatorname{tr}\mathbf{A})^{2} - \operatorname{tr}(\mathbf{A}^{2})\right] \mathbf{I} - \mathbf{A}\operatorname{tr}\mathbf{A} + \mathbf{A}^{2}\right).
</math>
Template:Anchor The general Template:Nowrap inverse can be expressed concisely in terms of the cross product and triple product. If a matrix <math>\mathbf{A} = \begin{bmatrix} \mathbf{x}_0 & \mathbf{x}_1 & \mathbf{x}_2\end{bmatrix}</math> (consisting of three column vectors, <math>\mathbf{x}_0</math>, <math>\mathbf{x}_1</math>, and <math>\mathbf{x}_2</math>) is invertible, its inverse is given by
- <math>\mathbf{A}^{-1} = \frac{1}{\det(\mathbf A)}\begin{bmatrix}
{(\mathbf{x}_1\times\mathbf{x}_2)}^\mathrm{T} \\ {(\mathbf{x}_2\times\mathbf{x}_0)}^\mathrm{T} \\ {(\mathbf{x}_0\times\mathbf{x}_1)}^\mathrm{T}
\end{bmatrix}.</math>
The determinant of Template:Math, Template:Math, is equal to the triple product of Template:Math, Template:Math, and Template:Math—the volume of the parallelepiped formed by the rows or columns:
- <math>\det(\mathbf{A}) = \mathbf{x}_0\cdot(\mathbf{x}_1\times\mathbf{x}_2).</math>
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 Template:Math is orthogonal to the non-corresponding two columns of Template:Math (causing the off-diagonal terms of <math>\mathbf{I} = \mathbf{A}^{-1}\mathbf{A}</math> be zero). Dividing by
- <math>\det(\mathbf{A}) = \mathbf{x}_0\cdot(\mathbf{x}_1\times\mathbf{x}_2)</math>
causes the diagonal entries of Template:Math to be unity. For example, the first diagonal is:
- <math>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).</math>
Inversion of 4 × 4 matricesEdit
With increasing dimension, expressions for the inverse of Template:Math get complicated. For Template:Math, the Cayley–Hamilton method leads to an expression that is still tractable:
- <math>\begin{align}
\mathbf{A}^{-1} =
\frac{1}{\det(\mathbf{A})}\Bigl( &\tfrac{1}{6}\bigl( (\operatorname{tr}\mathbf{A})^{3} - 3\operatorname{tr}\mathbf{A}\operatorname{tr}(\mathbf{A}^{2}) + 2\operatorname{tr}(\mathbf{A}^{3})\bigr) \mathbf{I} \\[-3mu]
&\ \ \ - \tfrac{1}{2}\mathbf{A}\bigl((\operatorname{tr}\mathbf{A})^{2} - \operatorname{tr}(\mathbf{A}^{2})\bigr) + \mathbf{A}^{2}\operatorname{tr}\mathbf{A} -
\mathbf{A}^{3} \Bigr).
\end{align}</math>
Blockwise inversionEdit
Let
<math> \mathbf M = \begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix}</math>
where Template:Math, Template:Math, Template:Math and Template:Math are matrix sub-blocks of arbitrary size and <math>\mathbf M / \mathbf A := \mathbf D - \mathbf C \mathbf A^{-1} \mathbf B </math> is the Schur complement of Template:Math. (Template:Math must be square, so that it can be inverted. Furthermore, Template:Math and Template:Math must be nonsingular.<ref> Template:Cite book</ref>)
Matrices can also be inverted blockwise by using the analytic inversion formula:<ref>Template:Cite journal</ref>
The strategy is particularly advantageous if Template:Math is diagonal and Template:Math is a small matrix, since they are the only matrices requiring inversion.
The nullity theorem says that the nullity of Template:Math equals the nullity of the sub-block in the lower right of the inverse matrix, and that the nullity of Template:Math equals the nullity of the sub-block in the upper right of the inverse matrix.
The inversion procedure that led to Equation (Template:EquationNote) performed matrix block operations that operated on Template:Math and Template:Math first. Instead, if Template:Math and Template:Math are operated on first, and provided Template:Math and Template:Math are nonsingular,<ref> Template:Cite book </ref> the result is
Equating the upper-left sub-matrices of Equations (Template:EquationNote) and (Template:EquationNote) leads to Template:NumBlk
where Equation (Template:EquationNote) is the Woodbury matrix identity, which is equivalent to the binomial inverse theorem.
If Template:Math and Template:Math are both invertible, then the above two block matrix inverses can be combined to provide the simple factorization Template:NumBlk
By the Weinstein–Aronszajn identity, one of the two matrices in the block-diagonal matrix is invertible exactly when the other is.
This formula simplifies significantly when the upper right block matrix Template:Math is the zero matrix. This formulation is useful when the matrices Template:Math and Template:Math have relatively simple inverse formulas (or pseudo inverses in the case where the blocks are not all square. In this special case, the block matrix inversion formula stated in full generality above becomes
- <math>\begin{bmatrix} \mathbf{A} & \mathbf{0} \\ \mathbf{C} & \mathbf{D} \end{bmatrix}^{-1} =
\begin{bmatrix} \mathbf{A}^{-1} & \mathbf{0} \\ -\mathbf{D}^{-1}\mathbf{CA}^{-1} & \mathbf{D}^{-1} \end{bmatrix}.</math>
If the given invertible matrix is a symmetric matrix with invertible block Template:Math the following block inverse formula holds<ref name="Cormen"/> Template:NumBlk where <math>\mathbf{S} = \mathbf{D} - \mathbf{C}\mathbf{A}^{-1}\mathbf{C}^T</math>. This requires 2 inversions of the half-sized matrices Template:Math and Template:Math and only 4 multiplications of half-sized matrices, if organized properly <math display=block>\begin{align} \mathbf{W}_1 &= \mathbf{C}\mathbf{A}^{-1}, \\[3mu] \mathbf{W}_2 &= \mathbf{W}_1\mathbf{C}^{T}=\mathbf{C}\mathbf{A}^{-1}\mathbf{C}^T, \\[3mu] \mathbf{W}_3 &= \mathbf{S}^{-1}\mathbf{W}_1=\mathbf{S}^{-1}\mathbf{C}\mathbf{A}^{-1}, \\[3mu] \mathbf{W}_4 &= \mathbf{W}_1^T\mathbf{W}_3=\mathbf{A}^{-1}\mathbf{C}^T \mathbf{S}^{-1}\mathbf{C}\mathbf{A}^{-1}, \end{align}</math> together with some additions, subtractions, negations and transpositions of negligible complexity. Any matrix <math>\mathbf{M}</math> has an associated positive semidefinite, symmetric matrix <math>\mathbf{M}^T\mathbf{M}</math>, which is exactly invertible (and positive definite), if and only if <math>\mathbf{M}</math> is invertible. By writing <math>\mathbf{M}^{-1}=\left(\mathbf{M}^T\mathbf{M}\right)^{-1}\mathbf{M}^T</math> matrix inversion can be reduced to inverting symmetric matrices and 2 additional matrix multiplications, because the positive definite matrix <math>\mathbf{M}^T\mathbf{M}</math> satisfies the invertibility condition for its left upper block Template:Math.
Those formulas together allow to construct a divide and conquer algorithm that uses blockwise inversion of associated symmetric matrices to invert a matrix with the same time complexity as the matrix multiplication algorithm that is used internally.<ref name="Cormen">T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd ed., MIT Press, Cambridge, MA, 2009, §28.2.</ref> Research into matrix multiplication complexity shows that there exist matrix multiplication algorithms with a complexity of Template:Math operations, while the best proven lower bound is Template:Math.<ref>Ran Raz. On the complexity of matrix product. In Proceedings of the thirty-fourth annual ACM symposium on Theory of computing. ACM Press, 2002. {{#invoke:doi|main}}.</ref>
By Neumann seriesEdit
If a matrix Template:Math has the property that
- <math>\lim_{n \to \infty} (\mathbf I - \mathbf A)^n = 0</math>
then Template:Math is nonsingular and its inverse may be expressed by a Neumann series:<ref> Template:Cite book</ref>
- <math>\mathbf A^{-1} = \sum_{n = 0}^\infty (\mathbf I - \mathbf A)^n.</math>
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. As such, it satisfies
- <math>\sum_{n=0}^{2^L-1} (\mathbf I - \mathbf A)^n = \prod_{l=0}^{L-1}\left(\mathbf I + (\mathbf I - \mathbf A)^{2^l}\right)</math>.
Therefore, only Template:Math matrix multiplications are needed to compute Template:Math terms of the sum.
More generally, if Template:Math is "near" the invertible matrix Template:Math in the sense that
- <math>\lim_{n \to \infty} \left(\mathbf I - \mathbf X^{-1} \mathbf A\right)^n = 0 \mathrm{~~or~~} \lim_{n \to \infty} \left(\mathbf I - \mathbf A \mathbf X^{-1}\right)^n = 0</math>
then Template:Math is nonsingular and its inverse is
- <math>\mathbf A^{-1} = \sum_{n = 0}^\infty \left(\mathbf X^{-1} (\mathbf X - \mathbf A)\right)^n \mathbf X^{-1}~.</math>
If it is also the case that Template:Math has rank 1 then this simplifies to
- <math>\mathbf A^{-1} = \mathbf X^{-1} - \frac{\mathbf X^{-1} (\mathbf A - \mathbf X) \mathbf X^{-1}}{1 + \operatorname{tr}\left(\mathbf X^{-1} (\mathbf A - \mathbf X)\right)}~.</math>
p-adic approximationEdit
If Template:Math is a matrix with integer or rational entries, and we seek a solution in arbitrary-precision rationals, a [[p-adic|Template:Mvar-adic]] approximation method converges to an exact solution in Template:Math, assuming standard Template:Math matrix multiplication is used.<ref>Template:Cite journal</ref> The method relies on solving Template:Mvar linear systems via Dixon's method of Template:Mvar-adic approximation (each in Template:Math) and is available as such in software specialized in arbitrary-precision matrix operations, for example, in IML.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
Reciprocal basis vectors methodEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} Given an Template:Math square matrix <math>\mathbf{X} = \left[ x^{ij} \right] </math>, <math> 1 \leq i,j \leq n </math>, with Template:Mvar rows interpreted as Template:Mvar vectors <math>\mathbf{x}_{i} = x^{ij} \mathbf{e}_{j}</math> (Einstein summation assumed) where the <math>\mathbf{e}_{j}</math> are a standard orthonormal basis of Euclidean space <math>\mathbb{R}^{n}</math> (<math>\mathbf{e}_{i} = \mathbf{e}^{i}, \mathbf{e}_{i} \cdot \mathbf{e}^{j} = \delta_i^j</math>), then using Clifford algebra (or geometric algebra) we compute the reciprocal (sometimes called dual) column vectors:
- <math>\mathbf{x}^{i} = x_{ji} \mathbf{e}^{j} = (-1)^{i-1} (\mathbf{x}_{1} \wedge\cdots\wedge ()_{i} \wedge\cdots\wedge\mathbf{x}_{n}) \cdot (\mathbf{x}_{1} \wedge\ \mathbf{x}_{2} \wedge\cdots\wedge\mathbf{x}_{n})^{-1} </math>
as the columns of the inverse matrix <math>\mathbf{X}^{-1} = [x_{ji}].</math> Note that, the place "<math>()_{i}</math>" indicates that "<math>\mathbf{x}_{i}</math>" is removed from that place in the above expression for <math>\mathbf{x}^{i}</math>. We then have <math>\mathbf{X}\mathbf{X}^{-1} = \left[ \mathbf{x}_{i} \cdot \mathbf{x}^{j} \right] = \left[ \delta_{i}^{j} \right] = \mathbf{I}_{n} </math>, where <math>\delta_{i}^{j}</math> is the Kronecker delta. We also have <math>\mathbf{X}^{-1}\mathbf{X} = \left[\left(\mathbf{e}_{i}\cdot\mathbf{x}^{k}\right)\left(\mathbf{e}^{j}\cdot\mathbf{x}_{k}\right)\right] = \left[\mathbf{e}_{i}\cdot\mathbf{e}^{j}\right] = \left[\delta_{i}^{j}\right] = \mathbf{I}_{n}</math>, as required. If the vectors <math>\mathbf{x}_{i}</math> are not linearly independent, then <math>(\mathbf{x}_{1} \wedge \mathbf{x}_{2} \wedge\cdots\wedge\mathbf{x}_{n}) = 0</math> and the matrix <math>\mathbf{X}</math> is not invertible (has no inverse).
Derivative of the matrix inverseEdit
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<ref>Template:Cite book</ref>
- <math> \frac{\mathrm{d}\mathbf{A}^{-1}}{\mathrm{d}t} = - \mathbf{A}^{-1} \frac{\mathrm{d}\mathbf{A}}{\mathrm{d}t} \mathbf{A}^{-1}. </math>
To derive the above expression for the derivative of the inverse of A, one can differentiate the definition of the matrix inverse <math>\mathbf{A}^{-1}\mathbf{A}=\mathbf{I}</math> and then solve for the inverse of A:
- <math>
\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}.
</math>
Subtracting <math>\mathbf{A}^{-1}\frac{\mathrm{d}\mathbf{A}}{\mathrm{d}t}</math> from both sides of the above and multiplying on the right by <math>\mathbf{A}^{-1}</math> gives the correct expression for the derivative of the inverse:
- <math> \frac{\mathrm{d}\mathbf{A}^{-1}}{\mathrm{d}t} = - \mathbf{A}^{-1} \frac{\mathrm{d}\mathbf{A}}{\mathrm{d}t} \mathbf{A}^{-1}. </math>
Similarly, if <math>\varepsilon</math> is a small number then
- <math>\left(\mathbf{A} + \varepsilon\mathbf{X}\right)^{-1}
= \mathbf{A}^{-1} - \varepsilon \mathbf{A}^{-1} \mathbf{X} \mathbf{A}^{-1} + \mathcal{O}(\varepsilon^2)\,.
</math>
More generally, if
- <math>
\frac { \mathrm{d}f(\mathbf{A})}{ \mathrm{d}t} = \sum_i g_i (\mathbf{A}) \frac{\mathrm{d}\mathbf{A}}{\mathrm{d}t}h_i (\mathbf{A}), </math>
then,
- <math> f (\mathbf{A} + \varepsilon\mathbf{X}) = f (\mathbf{A}) + \varepsilon\sum_i g_i (\mathbf{A}) \mathbf{X} h_i (\mathbf{A}) + \mathcal{O}\left(\varepsilon^2\right).</math>
Given a positive integer <math>n</math>,
- <math>
\begin{align} \frac{ \mathrm{d}\mathbf{A}^{n}}{ \mathrm{d}t} &=
\sum_{i=1}^n \mathbf{A}^{i-1}\frac{ \mathrm{d}\mathbf{A}}{ \mathrm{d}t}\mathbf{A}^{n-i},\\
\frac{ \mathrm{d}\mathbf{A}^{-n}}{ \mathrm{d}t} &=
-\sum_{i=1}^n \mathbf{A}^{-i}\frac{ \mathrm{d}\mathbf{A}}{ \mathrm{d}t}\mathbf{A}^{-(n+1-i)}.
\end{align} </math>
Therefore,
- <math>
\begin{align} (\mathbf{A} + \varepsilon \mathbf{X})^{n} &=
\mathbf{A}^{n} + \varepsilon \sum_{i=1}^n \mathbf{A}^{i-1}\mathbf{X}\mathbf{A}^{n-i} + \mathcal{O}\left(\varepsilon^2\right),\\
(\mathbf{A} + \varepsilon \mathbf{X})^{-n} &=
\mathbf{A}^{-n} - \varepsilon \sum_{i=1}^n \mathbf{A}^{-i}\mathbf{X}\mathbf{A}^{-(n+1-i)} + \mathcal{O}\left(\varepsilon^2\right).
\end{align} </math>
Generalized inversesEdit
Some of the properties of inverse matrices are shared by generalized inverses (such as the Moore–Penrose inverse), which can be defined for any m-by-n matrix.<ref>Template:Citation.</ref>
ApplicationsEdit
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 for the matrix involved to 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.
Regression/least squaresEdit
Although an explicit inverse is not necessary to estimate the vector of unknowns, it is the easiest way to estimate their accuracy and is found in the diagonal of a matrix inverse (the posterior covariance matrix of the vector of unknowns). However, faster algorithms to compute only the diagonal entries of a matrix inverse are known in many cases.<ref>Template:Cite journal</ref>
Matrix inverses in real-time simulationsEdit
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.
Matrix inverses in MIMO wireless communicationEdit
Matrix inversion also plays a significant role in the MIMO (Multiple-Input, Multiple-Output) 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 an N × M transmission matrix H. It is crucial for the matrix H to be invertible so that the receiver can figure out the transmitted information.
See alsoEdit
ReferencesEdit
Further readingEdit
- Template:Springer
- Template:Introduction to Algorithms
- Template:Cite book
- {{#invoke:citation/CS1|citation
|CitationClass=web }}
External linksEdit
- {{#invoke:citation/CS1|citation
|CitationClass=web }}Template:Cbignore
- {{#invoke:citation/CS1|citation
|CitationClass=web }}
{{#invoke:Navbox|navbox}} Template:Matrix classes