Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Inverse einer Blockmatrix

300 views
Skip to first unread message

Benedict Juretko

unread,
Nov 15, 2002, 8:22:07 AM11/15/02
to

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.

Danke Sehr ..


--

Gruß,
Benedict

http://stuff.knockit.de

Alois Steindl

unread,
Nov 15, 2002, 8:43:29 AM11/15/02
to
Benedict Juretko <bene...@makotilie.de> writes:

> 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

Hermann Kremer

unread,
Nov 15, 2002, 3:32:00 PM11/15/02
to
Benedict Juretko schrieb in Nachricht ...

>
>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 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

Benedict Juretko

unread,
Nov 16, 2002, 5:32:35 AM11/16/02
to
Danke Sehr euch beiden.


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.

Benedict Juretko

unread,
Nov 16, 2002, 8:55:02 AM11/16/02
to
>
> 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) ]
>

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!!

Hermann Kremer

unread,
Nov 17, 2002, 4:07:14 PM11/17/02
to
Benedict Juretko schrieb in Nachricht ...
>Danke Sehr euch beiden.

>
>Zur Lösung von Hermann würde mich noch interessieren, _wie_ er
>vorgegangen ist, d.h. welche Regeln er benutzt hat.

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
--

Alois Steindl

unread,
Nov 18, 2002, 4:06:13 AM11/18/02
to
"Hermann Kremer" <hermann...@online.de> writes:

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

Hermann Kremer

unread,
Nov 18, 2002, 5:38:33 PM11/18/02
to
Alois Steindl schrieb in Nachricht ...

>"Hermann Kremer" <hermann...@online.de> writes:
>> Benedict Juretko schrieb in Nachricht ...


[ ... ]

>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
--

Benedict Juretko

unread,
Nov 19, 2002, 10:30:17 AM11/19/02
to
Hermann Kremer wrote:

*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.

Hermann Kremer

unread,
Nov 19, 2002, 1:50:29 PM11/19/02
to
Benedict Juretko schrieb in Nachricht ...
>Hermann Kremer wrote:
>> Alois Steindl schrieb in Nachricht ...
>>>"Hermann Kremer" <hermann...@online.de> writes:
>>>> Benedict Juretko schrieb in Nachricht ...
>>
>> [ ... ]
>>
> *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?

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

0 new messages