Woodbury identity and block-LDU decomposition

Following up a previous post on block-LDU decompositions, we now have enough knowledge to derive the famous Woodbury identity.

Block-LDU decomposition

Recall the block-LDU decomposition of a matrix \(M\) :

$$ \begin{bmatrix} A & B\\ C & D \end{bmatrix} = \begin{bmatrix} \mathrm{I}_{n} & 0 \\ CA^{-1} & \mathrm{I}_{m} \end{bmatrix} \begin{bmatrix} A & 0 \\ 0 & D – CA^{-1}B \end{bmatrix} \begin{bmatrix} \mathrm{I}_{n} & \, A^{-1}B\\ 0 & \mathrm{I}_{m} \end{bmatrix} $$

If \(D\) is invertible, we can also decompose \(M\) into \(\tilde{U}\tilde{D}\tilde{L}\) blocks:

$$ \begin{bmatrix} A & B\\ C & D \end{bmatrix} = \begin{bmatrix} \mathrm{I}_{n} & BD^{-1} \\ 0 & \mathrm{I}_{m} \end{bmatrix} \begin{bmatrix} A – BD^{-1}C & 0 \\ 0 & D \end{bmatrix} \begin{bmatrix} \mathrm{I}_{n} & 0 \\ D^{-1}C & \mathrm{I}_{m} \end{bmatrix} $$

These two block factorizations can be inverted, and comparing their entries yields the formula.

A tale of two inverses

Let's compute the inverse \(M^{-1}\) in terms of \(M=LDU\) and \(M = \tilde{U}\tilde{D}\tilde{L}\). Computing the inverses of block triangular matrices is easy. The first block-LDU decomposition yields the inverse

$$ M^{-1} = \begin{bmatrix} \mathrm{I}_{n} & \, -A^{-1}B\\ 0 & \mathrm{I}_{m} \end{bmatrix} \begin{bmatrix} A^{-1} & 0 \\ 0 & \left(D – CA^{-1}B\right)^{-1} \end{bmatrix} \begin{bmatrix} \mathrm{I}_{n} & 0 \\ – CA^{-1} & \mathrm{I}_{m} \end{bmatrix} $$

which finally yields the blocks

$$ M^{-1} = \begin{bmatrix} A^{-1} +A^{-1}B \left(D – CA^{-1}B\right)^{-1}CA^{-1} & \, -A^{-1}B \left(D – CA^{-1}B\right)^{-1}\\ – \left(D – CA^{-1}B\right)^{-1}CA^{-1} & \left(D – CA^{-1}B\right)^{-1} \end{bmatrix} $$

The second (block-UDL) decomposition implies that

$$ M^{-1} = \begin{bmatrix} \mathrm{I}_{n} & 0 \\ -D^{-1}C & \mathrm{I}_{m} \end{bmatrix} \begin{bmatrix} \left(A – BD^{-1}C\right)^{-1} & 0 \\ 0 & D^{-1} \end{bmatrix} \begin{bmatrix} \mathrm{I}_{n} & -BD^{-1} \\ 0 & \mathrm{I}_{m} \end{bmatrix} $$

block-multplying the three matrices yields the expression

$$ M^{-1} = \begin{bmatrix} \left(A – BD^{-1}C\right)^{-1} & -\left(A – BD^{-1}C\right)^{-1}BD^{-1} \\ -D^{-1}C\left(A – BD^{-1}C\right)^{-1} & D^{-1} + D^{-1}C\left(A – BD^{-1}C\right)^{-1}BD^{-1} \end{bmatrix} $$

The final result

By identifying the two expressions for \(M^{-1}\) we obtain that, in particular, the upper-left blocks are equal. This means that

$$ \left(A – BD^{-1}C\right)^{-1} = A^{-1} +A^{-1}B \left(D – CA^{-1}B\right)^{-1}CA^{-1} $$ which is the final result ! The result is often written differently, e.g.

$$ \left(A + UWV\right)^{-1} = A^{-1} – A^{-1}U \left(W^{-1} + VA^{-1}U\right)^{-1}VA^{-1} $$

Corollaries

As the Woodbury lemma holds for any comformable matrices (that is \(A, U, W, V\) are respectively \(n\times n, n\times k, k \times k, k \times n\)), we can obtain several special cases.

Inverse of a sum

By setting \(U \triangleq V \triangleq \mathrm{I}_n\) (and \( W \triangleq B\)) we obtain that

$$ \left(A + B\right)^{-1} = A^{-1} – A^{-1}\left(A^{-1} + B^{-1}\right)^{-1}A^{-1}$$

Inverse of a sum of products

By setting \(W \triangleq \mathrm{I}\) we obtain that

$$ \left(A + BC\right)^{-1} = A^{-1} – A^{-1}B\left(\mathrm{I} + CA^{-1}B\right)^{-1}CA^{-1}$$

If \(A\) itself is the product of invertible matrices, we have that

$$ \left(AB + CD\right)^{-1} = B^{-1}A^{-1} – B^{-1}A^{-1}C\left(\mathrm{I} + DB^{-1}A^{-1}C\right)^{-1}DB^{-1}A^{-1}$$