DMUG-Archiv 2008

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Probleme mit Matrix-Gleichung

Guten Abend Eva,

das Problem ist in jeder endlichen positiven Dimension recht einfach zu lösen. Allerdings nicht, indem man es direkt in Mma "reinklatscht". Doch zuerst 2 Vorbemerkungen

(0) Pmat = Reverse[IdentityMatrix[dim]]

(1) Natürlich ist die inverse Matrix einer symmetrischen _regulären_ Matrix symmterisch. Das ergibt sich aus der Konstruktion der inversen Matrix. Aber man kann das i.a. nicht mit

SymmetricQ[m_List?MatrixQ] := (m === Transpose[m])

testen: "SameQ requires exact correspondence between expressions, except that it still considers Real numbers equal if they differ in their last binary digit." Die exakte Korrespondenz ist trotz mathematischer Gleichheit bei komplizierteren Ausdrücken oft nicht gegeben. Mit Equal[] sollte es kein Problem geben.

Sei nun die Aufgabe

(X + Transpose[X].P).EPS == B als
(X + Transpose[X].P) == B.Inverse[EPS] =: BS

geschrieben. Man sieht sofort, dass dies für gerade Dimension dim zerfällt ein dim^2/4 Teilaufgaben (lineare Gleichungssystem vom Rang 4). (Bei ungerader Dimension gibt es (dim^2 - 1)/4 + 1 Teilaufgaben.) Zum Beispiel für dim = 16 gibt es Gleichungen für

X[ 1,  1] + X[16,  1] == BS[ 1,  1]
X[16,  1] + X[16, 16] == BS[16,  1]
X[ 1, 16] + X[16, 16] == BS[16, 16]
X[ 1,  1] + X[ 1, 16]==  BS[ 1, 16]

an diesen 4 Gleichungen nehmen nur 4 Variable X[1, 1], X[16, 1], X[1, 16], X[16, 16] teil und diese 4 Variablen nehmen an keinen anderen Gleichungen teil: Das kann separat gelöst werden.

Anderes Beispiel:
X[ 4,  7] + X[ 7, 13] == BS[ 7, 13]
X[ 7, 13] + X[13, 10] == BS[13, 10]
X[10,  4] + X[13, 10] == BS[10,  4]
X[ 4,  7] + X[10,  4] == BS[ 4,  7]
auch vier Variable und rechter Hand 4 Elemente von BS.

Das ganze System zerfällt also (bei dim gerade) in lineare Gleichungssysteme vom Rang 4, die man tunlich separat lösen sollte. Bei ungerader Dimension dim gibt es auch eine Reihe von linearen Gleichungssystemen vom Rang 4 und in der Mitte eine Gleichung

2 X[Floor[dim/2], Floor[dim/2]] = BS[Floor[dim/2], Floor[dim/2]].

Bei der Bildung X + Transpose[X].P ist das allgemeine Element
X[i, j] + X[d + 1 - j, i], d = dim. Verfolgt man ein Element, dann ergibt sich

X[i, j] + X[d + 1 - j, i]
X[d + 1 - j, i] + X[d + 1 - i, d + 1 - j]
X[d + 1 - i, d + 1 - j] + X[d + 1 - (d + 1 - j), d + 1 - i]
X[j, d + 1 - i] + X[d + 1 - (d + 1 - i), j]
                
und die vier Unbekannten einer Teilaufgabe vom Rang 4 sind also
X[i, j], X[d + 1 - j, i], X[d + 1 - i, d + 1 - j] und
X[j, d + 1 - j].

Die elegante Lösung besteht darin, die Teilaufgaben zu
formulieren und zu lösen. Zuvor muss Inverse[EPS] in
vertretbarer Zeit gefunden werden.

Gruss
Udo.


Mich interessiert, ob Mathematica eine Lösung für
dim=16 finden kann.
Ich habe versucht zu überprüfen, ob die
Inverse[Eps]-Matrix symmetrisch ist. Komischerweise
ist bis dim=11 die  Inverse[Eps] symetrisch, ab dim 12
nicht mehr, und das verstehe ich nicht.
Wie muss ich das Problem formulieren, damit ich eine
elegante Lösung für X bekomme?

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html