Efficient Solution for (A+pI)x=b: Fast Matrix Inversion

  • Context: Graduate 
  • Thread starter Thread starter blindconsole
  • Start date Start date
  • Tags Tags
    Inversion Matrix
blindconsole
Messages
5
Reaction score
0
Hello,

I'm trying to find a fast way to solve the matrix equation [itex](A+pI)x=b[/itex], where A is a large matrix, I is the identity matrix, and p is a parameter whose value needs to be swept. Obviously I could just use mldivide or matrix inversion for every value of p, but this seems inefficient. Does anyone know of a better way? Thanks!
 
Physics news on Phys.org
Diagonalize the matrix [itex]A[/itex]:
[tex] A \, U = U \, \Lambda[/tex]
where [itex]\Lambda[/itex] is a diagonal matrix whose diagonal entries are the eigenvalues [itex]\lambda_{i}[/itex] of [itex]A[/itex] and [itex]U[/itex] is a vector whose columns are the eigenvectors of [itex]A[/itex]. Then, we have:
[tex] f(A) = U \, f(\Lambda) \, U^{-1}[/tex]
where by [itex]f(\Lambda)[/itex] we mean a diagonal matrix whose diagonal entries are [itex]f(\lambda_{i})[/itex].

Now, notice that if you have [itex]A[/itex], diagonlaized, then:
[tex] (A + p I) \, U = A \, U + p I \, U = U \, \Lambda + p U \, I = U \, (\Lambda + p I)[/tex]
where we have used the fact that [itex]I U = U I = U[/itex]. Here, [itex]\Lambda + p I[/itex] is again a diagonal matrix whose eigenvalues are [itex]\lambda_{i} + p[/itex]. Then, we will have:
[tex] (A + p I)^{-1} = U \, \frac{1}{\Lambda + p I} \, U^{-1}[/tex]
 

Similar threads

  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 17 ·
Replies
17
Views
8K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 69 ·
3
Replies
69
Views
12K
  • · Replies 3 ·
Replies
3
Views
5K