Quick way to Invert the matrix (A+D) where the inverse of matrix A is known and the matrix D is diagonal.
    14 ビュー (過去 30 日間)
  
       古いコメントを表示
    
I have a known matrix A, of which I have computed the inverse of already. I need to add a diagonal matrix to A and invert the sum quickly as A is a large matrix and I need to do this in an optimization loop. The matrix A is nxn and full rank and is invertable, and the matrix D is diagonal, nxn, and also of full rank. Any help would be appreciated. The idea is that inverting (A+D) takes too long as the matrix is large, and the hope is that by knowing the matrix A and its inverse ahead of time, that information can be used to invert the matrix (A+D) quickly. 
1 件のコメント
  Steven Lord
    
      
 2020 年 8 月 22 日
				Are you assuming that (A+D) is invertible?
A = eye(4);
D = -A;
The inverse of A is known (it is A itself.) The inverse of D is also known (it is D itself.) A+D does not have an inverse.
回答 (1 件)
  James Tursa
      
      
 2020 年 8 月 21 日
        
      編集済み: James Tursa
      
      
 2020 年 8 月 21 日
  
      Are the values in D small compared to A^-1 ?  Maybe you can make use of one of the forms listed here:
E.g., if D is small compared to A^-1 maybe you can use a couple of terms of the "perturbative expansions" series.
See also this discussion:
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


