Finding the inverse of the sum of two symmetric matrices A+B

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.

• I'm not familiar with the term 'dense matrix'. Can you please define? – David H Oct 21 '13 at 22:03
• @DavidH "Dense" = "not sparse". – Vedran Šego Oct 21 '13 at 22:03
• @VedranŠego Gotcha. Thanks. – David H Oct 21 '13 at 22:04

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.