5.7 Matrix Division - Lineare Gleichungssysteme
Die Division von Matrizen kann man sich am besten mit Hilfe von
linearen Gleichungssystemen vorstellen. Solche Gleichungssysteme können sehr elegant
mit Hilfe von Matrizen formuliert werden. Bei bekanntem
und
kann eine
Gleichung für
folgendermaßen geschrieben werden
![$\displaystyle {\bf A}{\bf x}= {\bf b}\; .$](img224.gif) |
(5.31) |
Im Allgemeinen ist die Koeffizientenmatrix
die
Matrix
sind Spaltenvektoren. Man sieht, dass die Anzahl der Elemente von
gleich
und von
gleich
ist.
Dadurch wird ein lineares System von
Gleichungen in
Unbekannten
beschrieben:
![\begin{displaymath}\begin{array}{cccccccccc} a_{11}x_{1} & + & a_{12}x_{2} & + &...
...}x_{2} & + & \dots & + & a_{mn}x_{n} & = & b_{m} \end{array}\end{displaymath}](img228.gif) |
(5.33) |
Die
sind gegebene Zahlen, die Koeffizienten des Systems
genannt werden. die
sind ebenfalls gegebene Zahlen. Wenn alle
gleich Null sind, handelt es sich um ein homogenes System, wenn
hingegen zumindest ein
ungleich Null ist, handelt es sich um ein
inhomogenes System.
Die Lösung von 5.33 ist ein Vektor
der Länge
,
der alle
Gleichungen erfüllt. Ist das System 5.33
homogen, hat es zumindest die triviale Lösung
![$\displaystyle x_{1} = 0 \; , \; x_{2} = 0 \; ,\; \dots \; , \; x_{n} = 0 \; .$](img230.gif) |
(5.34) |
Ein System heißt
- überbestimmt,
- wenn es mehr Gleichungen als Unbekannte hat (
);
- bestimmt,
- wenn es gleich viel Gleichungen wie Unbekannte hat (
);
- unterbestimmt,
- wenn es weniger Gleichungen als Unbekannte hat (
).
Ein unterbestimmtes System hat immer eine Lösungsschar, ein bestimmtes
Gleichungssystem hat mindestens eine Lösung, und ein
überbestimmtes System hat nur eventuell eine Lösung.
Um
zu berechnen, kann man nun formal 5.31
von Links mit
multiplizieren
![$\displaystyle {\bf A}^{-1} {\bf A}{\bf x}= {\bf A}^{-1} {\bf b}\; \Longrightarrow \; {\bf x}= {\bf A}^{-1} {\bf b}= {\bf A}\backslash {\bf b}.$](img235.gif) |
(5.35) |
Dafür steht in MATLAB der Befehl x=A\b
bereit. Das Zeichen \
steht für die sogenannte ``Matrix-Linksdivision''.
Es wird hier in der Numerik verwendet, in der mathematischen Beschreibung der
linearen Algebra aber nicht.
Handelt es sich um ein
bestimmtes Gleichungsystem, löst MATLAB das System mit Hilfe des
Gaußschen Eliminierungsverfahrens.
Handelt es sich um eine über- oder unterbestimmtes
Gleichungssystem, findet MATLAB die Lösung mit Hilfe des ``Least
Squares''-Verfahrens, dass später besprochen wird.
Lautet das lineare Gleichungssystem hingegen
![$\displaystyle {\bf y}{\bf A}= {\bf c}\; ,$](img236.gif) |
(5.36) |
wobei
und
jetzt Zeilenvektoren der Länge
bzw.
sind,
muss man von rechts mit
multiplizieren und erhält
![$\displaystyle {\bf y}{\bf A}{\bf A}^{-1} = {\bf c}{\bf A}^{-1} \; \Longrightarrow \; {\bf y}= {\bf c}{\bf A}^{-1} = {\bf c}/ {\bf A}\; .$](img239.gif) |
(5.37) |
Dafür steht in MATLAB der Befehl y=c/A
bereit. Das Zeichen /
steht dafür für ''Matrix-Rechtsdivision''.
Mit Hilfe der Regeln für das Transponieren, kann 5.37
umgeformt werden in
![$\displaystyle {\bf y}= \left( ({\bf A}^{-1})^{T} {\bf c}^{T} \right)^{T} = \left( {\bf A}^{T} \backslash {\bf c}^{T} \right)^{T} \; ,$](img240.gif) |
(5.38) |
wobei dies die Form ist, die MATLAB intern verwendet (y=(A.'\c.').'
).
Für die Skalare
und
würde gelten
![\begin{displaymath}\begin{array}{lclcl} s / r & = & s r^{-1} & = & s/r r \backslash s & = & r^{-1} s & = & s/r , \end{array}\end{displaymath}](img243.gif) |
(5.39) |
was in beiden Fällen das Gleiche ist, da die Multiplikation von Skalaren
kommutativ ist. Dies gilt jedoch nicht für die Matrizenmultiplikation.
MATLAB hat darüber hinaus den Vorteil, dass lineare Gleichungssysteme
simultan für verschiedene inhomogene Vektoren
, die in einer Matrix
zusammengefasst sind, gelöst werden können.
Man kann 5.33 umschreiben als:
![\begin{displaymath}\begin{array}{cccccccccc} a_{11}x_{11} & + & a_{12}x_{21} & +...
...{2p} & + & \dots & + & a_{mn}x_{np} & = & b_{mp} \end{array}\end{displaymath}](img244.gif) |
(5.40) |
Dieses Gleichungssystem kann formal geschrieben werden als
![$\displaystyle {\bf A}{\bf X}= {\bf B}\; ,$](img245.gif) |
(5.41) |
wobei die
Inhomogenitätsmatrix
aus
nebeneinander angeordneten
Spaltenvektoren
besteht. Auf die genau gleiche Weise liegen die
Lösungen in den
Spaltenvektoren der
Matrix
.
Die Lösung erfolgt in MATLAB mit dem analogen Befehl X=A\B
.
Winfried Kernbichler
2005-04-26