Effacer les filtres
Effacer les filtres

Quick way to Invert the matrix (A+D) where the inverse of matrix A is known and the matrix D is diagonal.

39 vues (au cours des 30 derniers jours)
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 commentaire
Steven Lord
Steven Lord le 22 Août 2020
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.

Connectez-vous pour commenter.

Réponses (1)

James Tursa
James Tursa le 21 Août 2020
Modifié(e) : James Tursa le 21 Août 2020
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:

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by