0

Let us suppose $$A := \left( \underbrace{I + \sum_{k=1}^K \alpha_{k} u_ku_k^T}_{:=M} \right)^{-1},$$ where $\alpha_k \in \mathbb{R}$, $u_k \in \mathbb{R}^n$, and $I$ is an invertible matrix.

We can find the inverse of matrix $M$ using the method proposed by K. S. Miller or see example here.

Question:

Now, if $\alpha_k$ has changed/updated, then how to reuse matrix $A$ as efficiently as possible without recomputing the inverse of $M$ from scratch.

The reason I am asking is that there is an iterative algorithm where $\alpha_k$ keeps updating within iterations.

user550103
  • 2,688
  • https://en.wikipedia.org/wiki/Sherman%E2%80%93Morrison_formula when done algorithmically I think people sometimes call it BFGS – user8675309 Jan 29 '20 at 20:36

1 Answers1

1

Suppose that the updated matrix is

$$ B = \left(I + \sum_{k=1}^K \beta_{k} u_ku_k^T \right)^{-1}. $$ We can compute the updated inverse using the Woodbury matrix identity if we note that $B = A + UCV$ with $U$ the matrix with columns $u_1,\dots,u_K$, $V = U^T$, and $C = \operatorname{diag}(\beta_1 - \alpha_1, \beta_2 - \alpha_2, \dots, \beta_K - \alpha_K)$.

Ben Grossmann
  • 225,327