(A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1
where the size of matrices are A is n×n, C is k×k, and V is k×n and A,C,(C−1+VA−1U) should be invertible.
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
Proof
Start by the matrix [AVUC]
The LDU decomposition of the original matrix become [AVUC]=[IVA−10I][A00C−VA−1U][I0A−1UI]
Inverting both sides gives^[Diagonalizable Matrix]
[AVUC]−1=[I0A−1UI]−1[A00C−VA−1U]−1[IVA−10I]−1=[I0−A−1UI][A−100(C−VA−1U)−1][I−VA−10I]=[A−1+A−1U(C−VA−1U)−1VA−1−(C−VA−1U)−1VA−1−A−1U(C−VA−1U)−1(C−VA−1U)−1](1)
The UDL decomposition of the original matrix become [AVUC]=[I0UC−1I][A−UC−1V00C][IC−1V0I]
Again inverting both sides,
[AVUC]−1=[IC−1V0I]−1[A−UC−1V00C]−1[I0UC−1I]−1=[I−C−1V0I][(A−UC−1V)−100C−1][I0−UC−1I]=[(A−UC−1V)−1−C−1V(A−UC−1V)−1−(A−UC−1V)−1UC−1C−1+C−1V(A−UC−1V)−1UC−1](2)
The first-row first-column entry of RHS of (1) and (2) above gives the Woodbury formula
(A−UC−1V)−1=A−1+A−1U(C−VA−1U)−1VA−1