Matrices – Finding the Inverse of the Sum of Two Symmetric Matrices

inversematrices

Consider calculating the inverse of matrix sum

$$A+B$$

where A is a symmetric dense matrix while B is a symmetric block diagonal matrix. I am interested in finding an efficient approach to update the inverse of the sum A+B if the values in one of the diagonal blocks of matrix B are multiplied by a real value s.

So my question is equivalent to updating the inverse of

$$A+B*K$$

where A and B are defined as above, and K is a diagonal matrix with some diagonal entries (corresponding to one block of B) being s while rest being 1. Is there a possible way for efficient iterative update of matrix inverse (A + B * K)-1 when s is changing?

Thanks.

Best Answer

I think that this depends on the rank of the changed diagonal block in $B$.

The only thing that comes to mind is Sherman–Morrison formula, but this would require $r$ updates for if the rank of the block in question was $r$.

Also, to find the vectors $u$ and $v$ for each of these updates, one would probably also need an SVD, or - given that this is symmetric - the Eigenvalue decomposition of that diagonal block.

There may be better methods, more specific to what you want, but I'm not familiar with them.

Related Question