Vorueberlegungen zur Inversen einer Matrix



  • Liebe Mathe-Freunde,

    ich benoetige ein Programm zur Berechnung der Inversen einer Matrix.

    Bevor ich mit der Programmierung loslege (z.B. Loesung per Gauss-Alg) wuerde ich gerne einige Anmerkungen von dir/euch hoeren.

    Falls du ein ein entsprechenden C-Quelltext "gerade zur Hand" hast ware das natuerlich prima.

    Ansonsten moechte ich hier nur eine Anregung, welchen Algorhithmus du fuer die Programmierung geeignet haelst.

    Kennst du fuer den Umgang mit Matrizen eine C-Bibliothek (schoen waere wenn diese Bibliothek als Quelltext vorliegen wuerde) in der "inverse einer Matrix" und "Eigenwerte von Matrizen" verfuegbar sind?

    Gruss und besten Dank,
    Chris



  • gauss ist schon in ordnung. frag google mal nach "gaussian elimination with partial pivoting", da findet sich bestimmt auch eine beispielimplementation.

    ich hab mal was für die uni geschrieben: http://www.team-radium.net/upb/mathe/MatrixCalc
    in der Matrix.java findest du alles was man so mit matrizen machen kann, inverse berechnen ist auch dabei.



  • bei intel auf der seite ist ein paper dazu, zwar speziell nur für 4x4 matrizen, dafür ist deren optimierter algo in ca 208hz fertig wenn ich mich recht erinnere.

    rapso->greets();



  • Ich glaub der Intel Algo arbeitet mit Cofaktoren, das wird dann nur ziemlich langsam für große Matrizen. Für 4x4 ist es wahrscheinlich die beste Wahl, aber so bei 10x10 könnte es eklig werden.

    cya
    liquid



  • Immer wieder gern genommen:
    Numerical Recipes in C (www.nr.com).
    Bzw. direkt
    http://www.library.cornell.edu/nr/cbookcpdf.html

    Für die Inverse einer schwach besetzten Matrix habe irgendwann mal eine unvollständige LU Zerlegung verwendet.
    Den Code finde ich leider nicht mehr; ist auch schon etwas her... Aber siehe Link, Abschnitt 2.

    Ansonsten liefert Dir eine Singulärwertzerlegung(2.6) auch die Eigenwerte.

    Gruß


Anmelden zum Antworten