Matrix invertieren mit Mathematica 3.0.1

Mir ist ein Fehler in der Version 3.0.1 von Mathematica aufgefallen. Beim Invertieren einer Matrix wird das Ergebnis mit falschem Vorzeichen geliefert, sodass bei der Multiplikation von der Matrix mit ihrer (angeblichen) Inversen nicht die Identität, sondern deren Negative erscheint.

vorlesen Druckansicht
Lesezeit: 1 Min.
Von

Mir ist ein Fehler in der Version 3.0.1 von Mathematica aufgefallen. Beim Invertieren einer Matrix wird das Ergebnis mit falschem Vorzeichen geliefert, sodass bei der Multiplikation von der Matrix mit ihrer (angeblichen) Inversen nicht die Identität, sondern deren Negative erscheint. Ich habe dieses Phänomen unter Mathematica 3 sowohl unter Windows NT 4.0 als auch unter Linux 2.0.36 bei frisch hochgefahrenem Rechner beobachtet.

Dieser Fehler tritt ab Version 4.0 nicht mehr auf. Bei der Version 3.0.1 muss man sich mit der folgenden Definition behelfen:

myInverse[m_?MatrixQ]:=
Module[{dim},
dim=Dimensions[m];
If[Equal @@ dim,
Transpose[LinearSolve[m,#] &
/@ IndentityMatrix[First[dim]]],
Indeterminate
]
]

Das Berechnen der Determinanten großer Matrizen liefert meist völlig unbrauchbare Monsterformeln. Deshalb invertiert man große Matrizen nicht, sondern nimmt die Cramersche Regel zu Hilfe (Mathematica 4.0 kennt noch weitere Methoden). Man sollte sich nicht dadurch täuschen lassen, dass bei dünn besetzten Matrizen die Berechnung manchmal funktioniert. (adb)