PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Matrixinversion


nobody
22.07.2003, 11:55
Hallo!

Ich hab die Ehre mich mit Matrixinversionen rumzuschlagen! Mein Ziel ist eine nxn Matrix mit moeglichst wenig arithmetischen Operationen zu errechnen.
Welche Verfahren sind da am Besten??
Gibt es Naeherungen, um die invertierte zu finden?
Gibt es spezielle Verfahren fuer symmetrische, positiv definite Matrizen??

Das waren ne Menge fragen!

Vielen Dank fuer eure Hilfe!!

kat1
22.07.2003, 12:15
Hallo,

Du solltest mal bei Gooogle nach der LU-Zerlegung (oder LU-Decomposition) für nichtsinguläre Matrizen bzw. nach der Cholesky-Zerlegung für symmetrische Matrizen suchen. Sind meines Wissens nach die schnellsten Möglichkeiten. Näherungsverfahren fallen mir im Moment nur für die Lösung linearer Gleichungssysteme ein, die ja auch eine Matrixinversion beinhalten, aber eben nicht explizit dafür ausgelegt sind.

Hoffe, dass hilft Dir erstmal weiter

nobody
22.07.2003, 13:48
Mache folgendes:

schreibe dir neben die zu invertierende nxn Matrix eine Einheitsmatrix E(n).
Nun bringe die zu invertierende Matrix mittels Matrixoperationen (die sollten dir bekannt sein ...) auf eine Einheitsmatrix.
Parallel dazu führst du die selben Schritte auch auf der Einheitsmatrix durch.

Am Ende steht dann dort, wo deine zu invertierende Matrix war, eine Einheitsmatrix und dort wo die Einheitsmatrix stand, steht die Inverse, deine gesuchte Lösung.

nobody
22.07.2003, 15:25
Wenn ich die Cholesky Faktorisierung der Matrix habe, wie komm ich dann auf meine invertierte Matrix?

Milamber
22.07.2003, 16:13
Soweit ich weiß nimmt man eine LU bzw. Cholesky-Zerlegung vorwiegend bei numerischen Berechnungen, die dann auch tatsächlich am Computer stattfinden. Sicherlich führen diese Methoden zum Ziel aber ich denke, dass das von Coderboy angesprochene Verfahren zumindest für von Hand zu berechnende Inverse das Beste ist (weil einfach und zügig). Kommt halt darauf an, unter welchen Voraussetzungen Du die Inverse berechnen willst.

nobody
22.07.2003, 16:27
Es handelt sich hierbei um komplexe Filterberechnugen am PC! Nix mit der Hand!
Weiss jemand wie man von der Cholesky Zerlegung auf die Inverse kommt?

kat1
22.07.2003, 16:41
Durch Rücksubstitution Spalte für Spalte, am besten liest Du Dir mal die Artikel in den Numerical Recipes in C (http://lib-www.lanl.gov/numerical/bookcpdf.html) zur LU und Cholesky-Zerlegung durch. Dort ist für die LU-Zerlegung die Berechnung der Inversen beschrieben, brauchst Du dann nur noch für die Cholesky-Zerlegung adaptieren. ;)