Welche Möglichkeiten gibt es eine Blockmatrix sinnvoll zu invertieren.
Ich habe im Netz keine guten Ansätze gefunden, bzw sehr wenig Information.
Weil die Blockmatrix immer eine 2x2 Matrix war. Ich habe aber eine 4x4
Blockmatrix. Wobei es insg. nur 3 Verschiedene Blockmatrizen gibt.
Die Blockmatrix sieht so aus:
A O O O
BM = B A O O
O B A O
O O B A
Vielleicht hat auch einer weiterführende Links / Resourcen.
Danke Sehr ..
--
Gruß,
Benedict
> Hallöle,
>
> Welche Möglichkeiten gibt es eine Blockmatrix sinnvoll zu invertieren.
> Ich habe im Netz keine guten Ansätze gefunden, bzw sehr wenig Information.
> Weil die Blockmatrix immer eine 2x2 Matrix war. Ich habe aber eine 4x4
> Blockmatrix. Wobei es insg. nur 3 Verschiedene Blockmatrizen gibt.
>
> Die Blockmatrix sieht so aus:
>
> A O O O
> BM = B A O O
> O B A O
> O O B A
>
> Vielleicht hat auch einer weiterführende Links / Resourcen.
>
Hallo,
vorerst ein _sehr_ wichtiger Link: http://www.netlib.org
Hallo Benedict,
bei Deiner Matrix ist die Bidiagonalform interessanter als
die Blockstruktur ... und mit
X := [B*A^(-1)]
X^2 := [B*A^(-1)]*[B*A^(-1)]
X^3 := [B*A^(-1)]*[B*A^(-1)]*[B*A^(-1)]
heißt die Inverse:
[ A^(-1) 0 0 0 ]
[ -A^(-1)*X A^(-1) 0 0 ]
[ A^(-1)*X^2 -A^(-1)*X A^(-1) 0 ]
[ -A^(-1)*X^3 A^(-1)*X^2 -A^(-1)*X A^(-1) ]
Du brauchst also nur A zu invertieren und kannst dann die übrigen
Blockelemente einfach ausrechnen.
Wenn Du es mit einem Programm machen willst, dann kann ich
die von Alois angegebene Linkempfehlung nur stärkstens unterstützen -
aber Achtung, die dortige Software ist größtenteils in FORTRAN
geschrieben.
In http://lib-www.lanl.gov/numerical/index.html findest Du auch einiges,
und auch in (allerdings nicht gerade umwerfend gutem) C ...
>Danke Sehr ..
Bitte sehr ...
Grüße
Hermann
Beides interessante Antworten.
Also, die Aufgabe möchte ich noch auf dem Papier lösen, hab aber vor
Alogorithmen bezüglich Matrizen und Determinanten in C/C++ zu lösen, um
selber Rechenverfahren besser nachvollziehen zu können.
Die Bibiliotheken von Alois kann ich dann selber zur Kontrolle nehmen.
Zur Lösung von Hermann würde mich noch interessieren, _wie_ er vorgegangen
ist, d.h. welche Regeln er benutzt hat.
Aber dennoch, vielen Dank nochmal.
Ich seh' bestimmt (wieder) den Wald vor lauter Bäumen nicht.
Ok, ich bin selber jetzt durch allgemeine Umformungen (multiplikation von
rechts) auf die Lösung gekommen. Aber ich glaube nicht das ich ohne Hilfe,
auf den Ansatz gekommen wäre. Liegt wohl an meiner Zivildienstpause :)
Danke nochmal!!
Hmm, ich _wußte_, daß die Inverse einer bidiagonalen Matrix mit
unterer Subdiagonalen eine untere Dreiecksmatrix ist - und der
Rest folgte dann aus entsprechendem Ansatz für die Inverse,
Multiplikation der beiden Matrizen und scharfem Hinschauen ...
Grüße
Hermann
--
Hallo,
obwohl das Problem ja praktisch gelöst ist, möchte ich einen Punkt
meines Postings wiederholen:
es ist meist grober Unfug, die Inverse der Matrix explizit zu
berechnen.
Meist braucht man die Inverse ja nur dazu, ein Gleichungsystem für
einen oder eventuell mehrere rechte Seiten zu lösen.
Eine einfache Überschlagsrechnung zeigt, dass es viel effizienter ist,
das System unmittelbar mithilfe der Faktorisierung zu berechnen.
Noch viel deutlicher ist es in diesem Spezialfall:
Um das System BM.x=b zu lösen, brauche ich nur Informationen über die
Faktorisierung von A, die Matrix B und die Anzahl der Blöcke zu
speichern. Die Inverse von BM belegt die halbe Matrix. (Man überlege
sich den Speicherverbrauch bei 1000 Blöcken). Davon abgesehen ist es
viel mehr Rechenaufwand, die Multiplikation (BM)^(-1).b zu berechnen
als die Rekursionsformel anzuwenden.
Alois
--
Alois Steindl, Tel.: +43 (1) 58801 / 32558
Inst. for Mechanics II, Fax.: +43 (1) 58801 / 32598
Vienna University of Technology,
A-1040 Wiedner Hauptstr. 8-10
[ ... ]
>Hallo,
>obwohl das Problem ja praktisch gelöst ist, möchte ich einen Punkt
>meines Postings wiederholen:
>es ist meist grober Unfug, die Inverse der Matrix explizit zu
>berechnen.
O.B.d.A. Ja ...
>Meist braucht man die Inverse ja nur dazu, ein Gleichungsystem für
>einen oder eventuell mehrere rechte Seiten zu lösen.
OK, aber Benedict hat e x p l i z i t nach der Inversen gefragt ... und
vielleicht braucht er die ja wirklich, z.B. für eine Anwendung der
Sherman-Morrison-Woodbury-Souriau-Faddejew-Formel ...
Gruß
Hermann
--
*lol*
wollte hier keine Sinn-Diskussion starten :)
es war _nur_ eine Übungsaufgabe, um solche Methoden/Regeln anzuwenden,
man kann sich ja nicht nur auf den Computer verlassen, man soll ja auch
verstehen was da eigentlich passiert ... obwohl ich mich öfters frage,
wofür man was braucht, und auf welchem Weg die Mathematiker dadrauf
gekommen sind. Gibts da explizit resourcen zu ? Also, zum Thema, WARUM man
JENES anwendet und WIE man es entwickelt hat? Fällt mir gerade auf, das
sowas selten in Büchern steht, wie der "Erfinder" dadrauf gekommen ist.
Am ehesten noch Bücher und Aufsätze zur Geschichte der Mathematik ...
>Also, zum Thema, WARUM man JENES anwendet und WIE man es
>entwickelt hat? Fällt mir gerade auf, das sowas selten in Büchern steht,
>wie der "Erfinder" dadrauf gekommen ist.
Ja, z.B. rätseln die Historiker noch heute, wie man vor ca. 4000
Jahren die im Papyrus Rhind (Rechenbuch des Ahmes) enthaltenen
Divisionstabellen eigentlich berechnet hatte ...
http://www.math.ku.dk/~ramskov/3MH-F02/forelaes/uge01/rhind.htm
http://home.clara.net/beaumont/egypt/maths/rhind/index.htm
Gruß
Hermann