Repeated use of Woodbury formula

229 Views Asked by At

I want to calculate the $x$ dependency of $\left(I + A \Lambda (x) A^{T}+B\Omega(x)B^{T}\right)^{-1}$ explicitly, where $I$ is a $n\times n$ matrix.

Here $\Lambda (x) $ and $\Omega(x)$ are diagonal $m\times m$ matrices with entries $\frac{1}{x-\lambda_i}$, $\frac{1}{x-\omega_i}$, $i=1,...,m$

Assuming I just want to solve $\left(I + A \Lambda (x) A^{T}\right)^{-1}$ I can use the Woodbury formula to get $I - A (\Lambda^{-1} (x)-A^T A)^{-1} A^T = I - A (x - diag\left(\lambda_i\right) -A^T A)^{-1} A^T$

Thus I can calculate the eigenvalues and vectors of $diag\left(\lambda_i\right) +A^T A$ and then have the explicit $x$ dependency when I insert the eigendecomposition for this expression.

The original expression however prohibits this straightforward approach and I'm stuck. Using Woodbury formula twice doesn't seem to help here in my opinion. Any hints or ideas?

2

There are 2 best solutions below

1
On

I think I have a found a good workaround.

Just rewrite the expression in the beginning

$\left(I_n + A \Lambda (x) A^{T}+B\Omega(x)B^{T}\right)^{-1} = \left( I_n + \begin{pmatrix} I_n & I_n \\ \end{pmatrix} \begin{pmatrix} A & 0 \\ 0 & B \\ \end{pmatrix} \begin{pmatrix} \Lambda(x) & 0 \\ 0 & \Omega(x) \\ \end{pmatrix}\begin{pmatrix} A^T & 0 \\ 0 & B^T \\ \end{pmatrix} \begin{pmatrix} I_n \\ I_n\\ \end{pmatrix} \right)^{-1}$

From here one can proceed as was done above, the matrix to diagonalze just becomes double in size.

2
On

The following is intended to supplement the opening post by showing what happens when the Woodbury matrix identity is applied twice. I had initially hope to make an answer out of it, but this proved unsuccessful. Perhaps someone else can find use in it...


For clarity's sake, we recall that the Woodbury matrix identity states that $$(A+UCV)^{-1}=A^{-1}-A^{-1}U(C^{-1}+VA^{-1}U)^{-1}VA^{-1}$$ where $A,C,U,V$ are matrices of appropriate size.

In the problem at hand, we have $M(x)=(I_n+A \Lambda(x) A^T+B\Omega(x) B^T)^{-1}$ where $\Lambda(x)=(xI_m-\lambda)^{-1}$, $\Omega(x)=(xI_m-\omega)^{-1}$ and $\lambda=\text{diag}(\lambda_i),\omega=\text{diag}(\omega_i)$. Ignoring $\Omega(x)$ for now, from the Woodbury matrix formula we deduce \begin{align} M_0(x)\equiv (I_n+A\Lambda(x)A^T)^{-1} &= I_n - A(\Lambda(x)^{-1}+A^T A)^{-1}A^T\\ &=I_n - A(xI_m-\lambda+A^T A)^{-1}A^T \end{align} as in the OP. If we now take $I_n+A\Lambda(x)A^T$ as "$A$" in the Woodbury formula, we obtain \begin{align} M(x) &=M_0(x)-M_0(x)B(\Omega(x)^{-1}+B^T M_0(x) B)^{-1}B^TM_0(x)\\ &=M_0(x)-M_0(x)B(xI_m-\omega+B^T M_0(x) B)^{-1} B^T M_0(x) \end{align} which, alas, hardly seems more tractable than the initial formula.