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.