Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I need to invert the matrix $(I + \lambda B)^{-1}$ for several $\lambda$s. An identity of the form $(I + \lambda B)^{-1} = f(\lambda, B, B^{-1})$ would shortcut the costly matrix inversions. Any ideas?

share|improve this question
3  
If the $\lambda$ are such that $\lVert\lambda B\rVert<1$ then you can use a series, namely $\sum_{k=0}^{+\infty}(-1)^k\lambda^k B^k$. –  Davide Giraudo Jun 24 '12 at 12:09
    
Would it be an option to use diagonalization of B? –  Gottfried Helms Jul 25 '12 at 7:04

3 Answers 3

I doubt there is such a shortcut, but perhaps some series can give you some practical approximation, using:

$$(I+A)^{-1}=I -A + A^2 - A^3 + \cdots$$

So

$$(I+\lambda B)^{-1}= I - \lambda B + \lambda^2 B^2 - \lambda^3 B^3 \cdots$$

which could be useful if $\lambda$ is small (as pointed out by Davide comment).

Otherwise, if $\lambda$ is large,you can instead use the identity $(I+A)^{-1}=A^{-1}(I+A^{-1})^{-1}$ and apply the same expansion:

$$(I+\lambda B)^{-1}= \beta C \, (I+\beta C)^{-1}= \beta C - \beta^2 C^2 + \beta^3 C^3 + \cdots \hspace{1cm} C=B^{-1} , \; \beta= \lambda^{-1} $$

share|improve this answer
    
Food for thought thanks, but I don't know what the $\lambda$ values will be. $(1 + \lambda B)^{-1}$ is a term in an equation $g(\alpha, \lambda) = 0$ which is to be solved iteratively, each iteration requiring a new matrix inversion. I was looking for something along the lines of the Woodbury matrix identity, which fails here as B dense. Perhaps an if statement separating $\|\lambda B\| > 1$ and $\|\lambda B\| < 1$, with leonbloy's suggestion. –  newling Jun 24 '12 at 14:21

You can use the Sherman-Morrison-Woodbury formula to calculate the inverse.

The formula states that

$$(A+UCV)^{-1}=A^{-1}-A^{-1}C(C^{-1}+VA^{-1}U)^{-1}VA^{-1}$$

and you can obtain, recognising that $A=U=V=I$ and $C=\lambda B$,

$$(I+\lambda B)^{-1}=I-\lambda B\left(I+\frac{1}{\lambda}B^{-1}\right)^{-1}.$$

I'm not sure if that is helpful or not for your application if $B^{-1}$ is easier to operate with than $B$.

share|improve this answer

Consider the characteristic polynomial $\chi_B$ of $B$ defined by $\chi_B(X)=\det(XI-B)$. The degree of $\chi_B$ is the size $n$ of $B$ and Cayley-Hamilton theorem says that $\chi_B(B)=0$.

For every scalar $x$, $\chi_B(X)=(X-x)Q_x(X)+\chi_B(x)$ for some polynomial $Q_x$ of degree $n-1$, hence $$ \frac{\chi_B(x)}{X-x}=\frac{\chi_B(X)}{X-x}-Q_x(X). $$ In particular, for every $x$ such that $\chi_B(x)\ne0$, $(B-x)^{-1}=-\chi_B(x)^{-1}Q_x(B)$. Applying this to $x=-1/\lambda$ for some $\lambda\ne0$, one gets $$ (I+\lambda B)^{-1}=\frac{Q_{-1/\lambda}(B)}{-\lambda\,\chi_B(-1/\lambda)}, $$ The condition $\chi_B(-1/\lambda)\ne0$ is equivalent to the condition that $\lambda B+I$ is invertible hence this is not a restriction. Note that $Q_x$ is the polynomial $$ Q_x(X)=\frac{\chi_B(X)-\chi_B(x)}{X-x}=\sum_{k=0}^{n-1}q^{(x)}_kX^k, $$ for some coefficients $q^{(x)}_k$, and that $$ (I+\lambda B)^{-1}=\sum_{k=0}^{n-1}\frac{q^{(-1/\lambda)}_k}{q^{(-1/\lambda)}_0}B^k. $$ Note finally that one can simplify the computations by replacing $\chi_B$ by any polynomial of a lesser degree which is zero at $B$, for example the minimal polynomial $\mu_B$.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.