Max A. Woodbury
Quick Facts
Biography
Max Woodbury (30 April 1917 - 30 January 2010) was an American biomathematician.
Background
Woodbury was born on April 20, 1917, in St. George, Washington County, Utah.
He received a Ph.D. from the University of Michigan in 1948, with the dissertation Probability and Expected Values. He was one of the first mathematicians to use (NASA) large computers for multivariate (discriminant function) analyses of CVD epidemiological data as an example of the Young Coronary Study of Paul Dudley White, Gertler, and Stanley Marion Garn.
Death
Woodbury died on 30 January 2010, in Birmingham, Jefferson County, Alabama.
Selected work
In mathematics (specifically linear algebra), the Woodbury matrix identity, named after Max A. Woodbury says that the inverse of a rank-k correction of some matrix can be computed by doing a rank-k correction to the inverse of the original matrix. Alternative names for this formula are the matrix inversion lemma, Sherman–Morrison–Woodbury formula or just Woodbury formula. However, the identity appeared in several papers before the Woodbury report.
The Woodbury matrix identity is
( A + U C V ) − 1 = A − 1 − A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 , {\displaystyle \left(A+UCV\right)^{-1}=A^{-1}-A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1},}
where A, U, C and V all denote matrices of the correct (conformable) sizes. Specifically, A is n-by-n, U is n-by-k, C is k-by-k and V is k-by-n. This can be derived using blockwise matrix inversion.
While the identity is primarily used on matrices, it holds in a general ring or in an Ab-category.
Discussion
The equation above is over-parametrized. There is no loss of generality by replacing A and C with the identity matrix I:
( I + U V ) − 1 = I − U ( I + V U ) − 1 V . {\displaystyle \left(I+UV\right)^{-1}=I-U\left(I+VU\right)^{-1}V.}
To recover the original equation from this reduced identity, set U = A − 1 X {\displaystyle U=A^{-1}X}
and V = C Y {\displaystyle V=CY}
.
This identity itself can be view as the combination of two simpler identities
( I + P ) − 1 = I − ( I + P ) − 1 P = I − P ( I + P ) − 1 {\displaystyle (I+P)^{-1}=I-(I+P)^{-1}P=I-P(I+P)^{-1}}
and the so-called push-through identity
( I + U V ) − 1 U = U ( I + V U ) − 1 . {\displaystyle (I+UV)^{-1}U=U(I+VU)^{-1}.}
Special cases
When V , U {\displaystyle V,U}
are vectors, the identity reduces to the Sherman–Morrison formula.
In the scalar case it (the reduced version) is simply
1 1 + u v = 1 − u v 1 + u v . {\displaystyle {\frac {1}{1+uv}}=1-{\frac {uv}{1+uv}}.}
Inverse of a sum
If p = q and U = V = Ip is the identity matrix, then
( A + B ) − 1 = A − 1 − A − 1 ( B − 1 + A − 1 ) − 1 A − 1 = A − 1 − A − 1 ( I + B A − 1 ) − 1 B A − 1 . {\displaystyle {\begin{aligned}\left({A}+{B}\right)^{-1}&=A^{-1}-A^{-1}(B^{-1}+A^{-1})^{-1}A^{-1}\\&={A}^{-1}-{A}^{-1}\left({I}+{B}{A}^{-1}\right)^{-1}{B}{A}^{-1}.\end{aligned}}}
Continuing with the merging of the terms of the far right-hand side of the above equation results in Hua's identity
( A + B ) − 1 = A − 1 − ( A + A B − 1 A ) − 1 . {\displaystyle \left({A}+{B}\right)^{-1}={A}^{-1}-\left({A}+{A}{B}^{-1}{A}\right)^{-1}.}
Another useful form of the same identity is
( A − B ) − 1 = A − 1 + A − 1 B ( A − B ) − 1 , {\displaystyle \left({A}-{B}\right)^{-1}={A}^{-1}+{A}^{-1}{B}\left({A}-{B}\right)^{-1},}
which has a recursive structure that yields
( A − B ) − 1 = ∑ k = 0 ∞ ( A − 1 B ) k A − 1 . {\displaystyle \left({A}-{B}\right)^{-1}=\sum _{k=0}^{\infty }\left({A}^{-1}{B}\right)^{k}{A}^{-1}.}
This form can be used in perturbative expansions where B is a perturbation of A.
Variations
Binomial Inverse Theorem
If A, U, B, V are matrices of sizes p×p, p×q, q×q, q×p, respectively, then
( A + U B V ) − 1 = A − 1 − A − 1 U B ( B + B V A − 1 U B ) − 1 B V A − 1 {\displaystyle \left(A+UBV\right)^{-1}=A^{-1}-A^{-1}UB\left(B+BVA^{-1}UB\right)^{-1}BVA^{-1}}
provided A and B + BVAUB are nonsingular. Nonsingularity of the latter requires that B exist since it equals B(I + VAUB) and the rank of the latter cannot exceed the rank of B.
Since B is invertible, the two B terms flanking the parenthetical quantity inverse in the right-hand side can be replaced with (B), which results in the original Woodbury identity.
A variation for when B is singular and possibly even non-square:
( A + U B V ) − 1 = A − 1 − A − 1 U ( I + B V A − 1 U ) − 1 B V A − 1 . {\displaystyle (A+UBV)^{-1}=A^{-1}-A^{-1}U(I+BVA^{-1}U)^{-1}BVA^{-1}.}
Formulas also exist for certain cases in which A is singular.
Derivations
Direct proof
The formula can be proven by checking that ( A + U C V ) {\displaystyle (A+UCV)}
times its alleged inverse on the right side of the Woodbury identity gives the identity matrix:
( A + U C V ) [ A − 1 − A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 ] = { I − U ( C − 1 + V A − 1 U ) − 1 V A − 1 } + { U C V A − 1 − U C V A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 } = { I + U C V A − 1 } − { U ( C − 1 + V A − 1 U ) − 1 V A − 1 + U C V A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 } = I + U C V A − 1 − ( U + U C V A − 1 U ) ( C − 1 + V A − 1 U ) − 1 V A − 1 = I + U C V A − 1 − U C ( C − 1 + V A − 1 U ) ( C − 1 + V A − 1 U ) − 1 V A − 1 = I + U C V A − 1 − U C V A − 1 = I . {\displaystyle {\begin{aligned}&\left(A+UCV\right)\left[A^{-1}-A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right]\\={}&\left\{I-U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right\}+\left\{UCVA^{-1}-UCVA^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right\}\\={}&\left\{I+UCVA^{-1}\right\}-\left\{U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}+UCVA^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right\}\\={}&I+UCVA^{-1}-\left(U+UCVA^{-1}U\right)\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\\={}&I+UCVA^{-1}-UC\left(C^{-1}+VA^{-1}U\right)\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\\={}&I+UCVA^{-1}-UCVA^{-1}\\={}&I.\end{aligned}}}
Alternative proofs
Algebraic proof |
---|
First consider these useful identities, U + U C V A − 1 U = U C ( C − 1 + V A − 1 U ) = ( A + U C V ) A − 1 U ( A + U C V ) − 1 U C = A − 1 U ( C − 1 + V A − 1 U ) − 1 {\displaystyle {\begin{aligned}U+UCVA^{-1}U&=UC\left(C^{-1}+VA^{-1}U\right)=\left(A+UCV\right)A^{-1}U\\\left(A+UCV\right)^{-1}UC&=A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}\end{aligned}}} Now, A − 1 = ( A + U C V ) − 1 ( A + U C V ) A − 1 = ( A + U C V ) − 1 ( I + U C V A − 1 ) = ( A + U C V ) − 1 + ( A + U C V ) − 1 U C V A − 1 = ( A + U C V ) − 1 + A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 . {\displaystyle {\begin{aligned}A^{-1}&=\left(A+UCV\right)^{-1}\left(A+UCV\right)A^{-1}\\&=\left(A+UCV\right)^{-1}\left(I+UCVA^{-1}\right)\\&=\left(A+UCV\right)^{-1}+\left(A+UCV\right)^{-1}UCVA^{-1}\\&=\left(A+UCV\right)^{-1}+A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}.\end{aligned}}} |
Derivation via blockwise elimination |
---|
Deriving the Woodbury matrix identity is easily done by solving the following block matrix inversion problem [ A U V − C − 1 ] [ X Y ] = [ I 0 ] . {\displaystyle {\begin{bmatrix}A&U\\V&-C^{-1}\end{bmatrix}}{\begin{bmatrix}X\\Y\end{bmatrix}}={\begin{bmatrix}I\\0\end{bmatrix}}.} Expanding, we can see that the above reduces to { A X + U Y = I V X − C − 1 Y = 0 {\displaystyle {\begin{cases}AX+UY=I\\VX-C^{-1}Y=0\end{cases}}} which is equivalent to ( A + U C V ) X = I {\displaystyle (A+UCV)X=I} . Eliminating the first equation, we find that X = A − 1 ( I − U Y ) {\displaystyle X=A^{-1}(I-UY)} , which can be substituted into the second to find V A − 1 ( I − U Y ) = C − 1 Y {\displaystyle VA^{-1}(I-UY)=C^{-1}Y} . Expanding and rearranging, we have V A − 1 = ( C − 1 + V A − 1 U ) Y {\displaystyle VA^{-1}=\left(C^{-1}+VA^{-1}U\right)Y} , or ( C − 1 + V A − 1 U ) − 1 V A − 1 = Y {\displaystyle \left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}=Y} . Finally, we substitute into our A X + U Y = I {\displaystyle AX+UY=I} , and we have A X + U ( C − 1 + V A − 1 U ) − 1 V A − 1 = I {\displaystyle AX+U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}=I} . Thus, ( A + U C V ) − 1 = X = A − 1 − A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 . {\displaystyle (A+UCV)^{-1}=X=A^{-1}-A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}.} We have derived the Woodbury matrix identity. |
Derivation from LDU decomposition |
---|
We start by the matrix [ A U V C ] {\displaystyle {\begin{bmatrix}A&U\\V&C\end{bmatrix}}} By eliminating the entry under the A (given that A is invertible) we get [ I 0 − V A − 1 I ] [ A U V C ] = [ A U 0 C − V A − 1 U ] {\displaystyle {\begin{bmatrix}I&0\\-VA^{-1}&I\end{bmatrix}}{\begin{bmatrix}A&U\\V&C\end{bmatrix}}={\begin{bmatrix}A&U\\0&C-VA^{-1}U\end{bmatrix}}} Likewise, eliminating the entry above C gives [ A U V C ] [ I − A − 1 U 0 I ] = [ A 0 V C − V A − 1 U ] {\displaystyle {\begin{bmatrix}A&U\\V&C\end{bmatrix}}{\begin{bmatrix}I&-A^{-1}U\\0&I\end{bmatrix}}={\begin{bmatrix}A&0\\V&C-VA^{-1}U\end{bmatrix}}} Now combining the above two, we get [ I 0 − V A − 1 I ] [ A U V C ] [ I − A − 1 U 0 I ] = [ A 0 0 C − V A − 1 U ] {\displaystyle {\begin{bmatrix}I&0\\-VA^{-1}&I\end{bmatrix}}{\begin{bmatrix}A&U\\V&C\end{bmatrix}}{\begin{bmatrix}I&-A^{-1}U\\0&I\end{bmatrix}}={\begin{bmatrix}A&0\\0&C-VA^{-1}U\end{bmatrix}}} Moving to the right side gives [ A U V C ] = [ I 0 V A − 1 I ] [ A 0 0 C − V A − 1 U ] [ I A − 1 U 0 I ] {\displaystyle {\begin{bmatrix}A&U\\V&C\end{bmatrix}}={\begin{bmatrix}I&0\\VA^{-1}&I\end{bmatrix}}{\begin{bmatrix}A&0\\0&C-VA^{-1}U\end{bmatrix}}{\begin{bmatrix}I&A^{-1}U\\0&I\end{bmatrix}}} which is the LDU decomposition of the block matrix into an upper triangular, diagonal, and lower triangular matrices. Now inverting both sides gives [ A U V C ] − 1 = [ I A − 1 U 0 I ] − 1 [ A 0 0 C − V A − 1 U ] − 1 [ I 0 V A − 1 I ] − 1 = [ I − A − 1 U 0 I ] [ A − 1 0 0 ( C − V A − 1 U ) − 1 ] [ I 0 − V A − 1 I ] = [ A − 1 + A − 1 U ( C − V A − 1 U ) − 1 V A − 1 − A − 1 U ( C − V A − 1 U ) − 1 − ( C − V A − 1 U ) − 1 V A − 1 ( C − V A − 1 U ) − 1 ] ( 1 ) {\displaystyle {\begin{aligned}{\begin{bmatrix}A&U\\V&C\end{bmatrix}}^{-1}&={\begin{bmatrix}I&A^{-1}U\\0&I\end{bmatrix}}^{-1}{\begin{bmatrix}A&0\\0&C-VA^{-1}U\end{bmatrix}}^{-1}{\begin{bmatrix}I&0\\VA^{-1}&I\end{bmatrix}}^{-1}\\[8pt]&={\begin{bmatrix}I&-A^{-1}U\\0&I\end{bmatrix}}{\begin{bmatrix}A^{-1}&0\\0&\left(C-VA^{-1}U\right)^{-1}\end{bmatrix}}{\begin{bmatrix}I&0\\-VA^{-1}&I\end{bmatrix}}\\[8pt]&={\begin{bmatrix}A^{-1}+A^{-1}U\left(C-VA^{-1}U\right)^{-1}VA^{-1}&-A^{-1}U\left(C-VA^{-1}U\right)^{-1}\\-\left(C-VA^{-1}U\right)^{-1}VA^{-1}&\left(C-VA^{-1}U\right)^{-1}\end{bmatrix}}\qquad \mathrm {(1)} \end{aligned}}} We could equally well have done it the other way (provided that C is invertible) i.e. [ A U V C ] = [ I U C − 1 0 I ] [ A − U C − 1 V 0 0 C ] [ I 0 C − 1 V I ] {\displaystyle {\begin{bmatrix}A&U\\V&C\end{bmatrix}}={\begin{bmatrix}I&UC^{-1}\\0&I\end{bmatrix}}{\begin{bmatrix}A-UC^{-1}V&0\\0&C\end{bmatrix}}{\begin{bmatrix}I&0\\C^{-1}V&I\end{bmatrix}}} Now again inverting both sides, [ A U V C ] − 1 = [ I 0 C − 1 V I ] − 1 [ A − U C − 1 V 0 0 C ] − 1 [ I U C − 1 0 I ] − 1 = [ I 0 − C − 1 V I ] [ ( A − U C − 1 V ) − 1 0 0 C − 1 ] [ I − U C − 1 0 I ] = [ ( A − U C − 1 V ) − 1 − ( A − U C − 1 V ) − 1 U C − 1 − C − 1 V ( A − U C − 1 V ) − 1 C − 1 V ( A − U C − 1 V ) − 1 U C − 1 + C − 1 ] ( 2 ) {\displaystyle {\begin{aligned}{\begin{bmatrix}A&U\\V&C\end{bmatrix}}^{-1}&={\begin{bmatrix}I&0\\C^{-1}V&I\end{bmatrix}}^{-1}{\begin{bmatrix}A-UC^{-1}V&0\\0&C\end{bmatrix}}^{-1}{\begin{bmatrix}I&UC^{-1}\\0&I\end{bmatrix}}^{-1}\\[8pt]&={\begin{bmatrix}I&0\\-C^{-1}V&I\end{bmatrix}}{\begin{bmatrix}\left(A-UC^{-1}V\right)^{-1}&0\\0&C^{-1}\end{bmatrix}}{\begin{bmatrix}I&-UC^{-1}\\0&I\end{bmatrix}}\\[8pt]&={\begin{bmatrix}\left(A-UC^{-1}V\right)^{-1}&-\left(A-UC^{-1}V\right)^{-1}UC^{-1}\\-C^{-1}V\left(A-UC^{-1}V\right)^{-1}&C^{-1}V\left(A-UC^{-1}V\right)^{-1}UC^{-1}+C^{-1}\end{bmatrix}}\qquad \mathrm {(2)} \end{aligned}}} Now comparing elements (1, 1) of the RHS of (1) and (2) above gives the Woodbury formula ( A − U C − 1 V ) − 1 = A − 1 + A − 1 U ( C − V A − 1 U ) − 1 V A − 1 . {\displaystyle \left(A-UC^{-1}V\right)^{-1}=A^{-1}+A^{-1}U\left(C-VA^{-1}U\right)^{-1}VA^{-1}.} |
Applications
This identity is useful in certain numerical computations where A has already been computed and it is desired to compute (A + UCV). With the inverse of A available, it is only necessary to find the inverse of C + VAU in order to obtain the result using the right-hand side of the identity. If C has a much smaller dimension than A, this is more efficient than inverting A + UCV directly. A common case is finding the inverse of a low-rank update A + UCV of A (where U only has a few columns and V only a few rows), or finding an approximation of the inverse of the matrix A + B where the matrix B can be approximated by a low-rank matrix UCV, for example using the singular value decomposition.
This is applied, e.g., in the Kalman filter and recursive least squares methods, to replace the parametric solution, requiring inversion of a state vector sized matrix, with a condition equations based solution. In case of the Kalman filter this matrix has the dimensions of the vector of observations, i.e., as small as 1 in case only one new observation is processed at a time. This significantly speeds up the often real time calculations of the filter.
In the case when C is the identity matrix I, the matrix I + V A − 1 U {\displaystyle I+VA^{-1}U}
is known in numerical linear algebra and numerical partial differential equations as the capacitance matrix.