Obliczanie macierzy odwrotnej przy zmianie elementu

18

Biorąc pod uwagę macierzy . Niech macierz odwrotna do będzie (to znaczy, ). Załóżmy, że jeden element w został zmieniony (powiedzmy na ). Celem jest znalezienie po tej zmianie. Czy istnieje metoda znalezienia tego celu, który jest bardziej wydajny niż ponowne obliczenie macierzy odwrotnej od zera.A A A - 1 A A - 1 = I A a i j a i jn×nAAA1AA1=IAaijaijA1

AJed
źródło
Świetne odpowiedzi: znalazłem następujący artykuł, który rozwiązuje ten dokładnie problem: Sankowski, Piotr. „Dynamiczne zamykanie przechodnie poprzez dynamiczną macierz odwrotną.” Podstawy informatyki, 2004. Postępowanie. 45. doroczne sympozjum IEEE w sprawie. IEEE, 2004.
AJed
Jeśli artykuł w jakiś sposób odpowiada lub rozwiązuje Twój problem, możesz dodać odpowiedź! :) W końcu komentarze mogą zostać usunięte w dowolnym momencie.
Juho,

Odpowiedzi:

12

Formuła Sherman-Morrison może pomóc:

(A+uvT)1=A1A1uvTA11+vTA1u.

Niech oraz , gdzie jest standardowym wektorem kolumny podstawowej. Możesz sprawdzić, czy jeśli zaktualizowana macierz to to v = e j e i A A - 1 = A - 1 - ( a i j - a i j ) A - 1 i A - 1 T ju=(aijaij)eiv=ejeiA

A1=A1(aijaij)Ai1Aj1T1+(aijaij)Aij1.
Yuval Filmus
źródło
7

Zmiana pojedynczego elementu, podana z A - 1 , może być śledzona z aktualizacją rangi 1. Tak, absolutnie, istnieje lepszy sposób niż ponowne obliczenie odwrotności od zera.AA1

Niech będzie zmianą elementu a i j . Używanie e I a wektora kolumny jednostkową jeden w ı położenia i zerami poza nią, że ma ( A + e ı hemibursztynianu e j ), A - 1 = I + e ı hemibursztynianu e j A - 1δ=aijaijaijeii

(A+eiδej)A1=I+eiδejA1

macierz zero, z wyjątkiem wartości hemibursztynianu w ı j pozycji. Czy widzisz tutaj, jak odpowiednie pomnożenie rangi jednej przez A - 1 może dać pożądaną nową odwrotność? (Lub równoważnie, elementarne operacje na kolumnach na A - 1 ).eiδejδijA1A1

Lub jeśli zamiast tego chcesz wykonać operacje na wierszach, możesz użyć

A1(A+eiδej)=I+A1eiδej

A1

Adam W
źródło
Dobra odpowiedź, ale jak różni się to od poprzedniego Yuval?
AJed,
1
A1