11 Gleichungssysteme

Eine der Hauptaufgaben die an Mathematiker gestellt werden ist das Lösen von Gleichungen, wie z.B.

$\displaystyle a+x = b$    
$\displaystyle a\cdot x = b$    
$\displaystyle a_0+a_1\, x+\dots+a_n\,x^n = b$    
$\displaystyle a_0\,x_0+a_1\,x_1+\dots+a_n\,x_n = b$    

oder allgemein


$\displaystyle f(x) = b$ mit einer gewissen Funktion $\displaystyle f.$    

Üblicherweise sind dabei die Variablen \bgroup\color{demo}$ x$\egroup, \bgroup\color{demo}$ x_0$\egroup,..., \bgroup\color{demo}$ x_n$\egroup Zahlen, manchmal aber auch durchaus komplizierteres wie z.B. Vektoren, Matrizen oder sogar Abbildungen. Im letzteren Fall ist man insbesonders an der Lösung von Differentialgleichungen wie z.B.

$\displaystyle x'(t)$ $\displaystyle = f(t,x(t))$    

interessiert.

Wir haben bislang Gleichungen der ersten 3 Arten behandeln. Nun wenden wir uns solchen der 4.ten Art, sogenannten linearen Gleichungen zu.


11.1 Beispiele.

  1. Zwei Züge fahren mit jeweils konstanter Geschwindigkeit aufeinander zu. Und zwar sei der erste Zug um 9h im Ort $ A$ gestartet und bewege sich mit 80 km/h auf den zweiten Zug zu, welcher um 10h im 480km entfernten Ort $ B$ gestartet ist und sich mit 120 km/h bewegt.
    Zu welchen Zeitpunkt und an welchen Ort werden sich die beiden Züge begegnen?

    Um dieses Problem anzugehen, müssen wir uns aus der Physik in Erinnerung rufen, daß der bei konstanter Geschwindigkeit $ v$ in der Zeit $ t$ zurückgelegte Weg gerade $ v\cdot t$ ist. Wir können beide Züge in ein Zeit-Weg Diagramm einzeichnen. D.h. wir tragen auf der horizontalen Achse die Zeit $ t$ (bei 9h beginnend) und auf der vertikalen Achse den Abstand von $ A$ auf.


    \includegraphics[scale=0.7]{la-001}

    Zeit und Ort des Treffpunkts können wir dann geometrisch aus den Koordinaten des Schnittpunktes der beiden Geraden ablesen.

    Natürlich können wir das auch präzise durchrechnen. Der Abstand des 1. Zuges von $ A$ zum Zeitpunkt $ t$ ist $ s_1(t):=80\cdot(t-9)$ und jeder des 2. Zuges von $ A$ zum Zeitpunkt $ t$ ist $ s_2(t):=480-120\cdot(t-10)$. Also ist das Gleichungssystem

    $\displaystyle s$ $\displaystyle = 80\cdot (t-9)$    
    $\displaystyle s$ $\displaystyle = 480 -120\cdot(t-10)$    

    zu lösen, d.h. $ 80\,t-720=480-120\,t+1200$ und somit ist $ t =\frac{2400}{200}=12$ und $ s=80\cdot 3=240$.

  2. Ein anderes Beispiel aus der Ökonomie. Ein Betrieb kann 3 verschiedene Produkte $ A$, $ B$ und $ C$ herstellen. Für $ A$ wird eine Arbeitsstunde, für $ B$ zwei und für $ C$ drei pro erzeugten Stück benötigt. Die Produkte werden zum Preis von $ 30$, $ 50$ und $ 70$ Euro verkauft. Der Energieverbrauch pro Stück liegt bei $ 5$, $ 3$ und $ 2$ kWh pro erzeugten Stück. Es werden in 40 Arbeitsstunden Produkte im Wert von $ 1040$ Euro produziert bei einen Energieverbrauch von $ 93$ kWh.
    Wieviel Stück des jeweiligen Produkte wurden erzeugt?

    Wir nennen die jeweiligen Stückzahlen $ x$, $ y$ und $ z$. Dann läßt sich die Angabe durch folgende 3 Gleichungen beschreiben

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcr}
1 x & + & 2 y ...
... & 50 y & + & 70 z & = & 1040 \\
5 x & + & 3 y & + & 2 z & = & 93
\end{array}$

    Ohne die Lösungen zu ändern können wir offensichtlich folgende Umformungen (die sogenannten elementaren Zeilenumformungen) vornehmen:
    1. Eine Zeile mit einem Faktor ungleich 0 multiplizieren;
    2. Zwei Zeilen miteinander vertauschen;
    3. Von einer Zeile (ein Vielfaches) eine(r) andere(n) Zeile abziehen.
    Wir benutzen dies nun dazu, um das Gleichungssystem in die Form

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcr}
x & & & & & = & b_1 \\
& & y & & & = & b_2 \\
& & & & z & = & b_3
\end{array}$

    zu bekommen, aus der wir die Lösungen $ x=b_1$, $ y=b_2$, $ z=b_3$ unmittelbar ablesen können. Zuerst verwenden wir (b) und multiplizieren die 2.te Zeile $ II$ mit $ 1/10$ und erhalten

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcr}
1 x & + & 2 y ...
...& + & 5 y & + & 7 z & = & 104 \\
5 x & + & 3 y & + & 2 z & = & 93
\end{array}$

    Nun verwenden wir (c) und bilden $ II\leftarrow II-3\cdot I$ sowie $ III\leftarrow III-5\cdot I$ und erhalten

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcr}
x & + & 2 y & ...
...\
& - & y & - & 2 z & = & -16 \\
& - & 7 y & - & 13 z & = & -107
\end{array}$

    Wir bilden $ II\leftarrow (-1)\cdot II$ und bilden $ III\leftarrow III+7\cdot II$:

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcr}
x & + & 2 y & ...
...3 z & = & 40 \\
& & y & + & 2 z & = & 16 \\
& & & & z & = & 5 \\
\end{array}$

    Nun bilden wir $ II\leftarrow II-2\cdot III$:

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcr}
x & + & 2 y & + & 3 z & = & 40 \\
& & y & & & = & 6 \\
& & & & z & = & 5 \\
\end{array}$

    Und schließlich $ I\leftarrow I-2\cdot I -3\cdot III$:

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcr}
x & & & & & = & 13 \\
& & y & & & = & 6 \\
& & & & z & = & 5 \\
\end{array}$

    und erhalten für die Stückzahlen $ x=13$, $ y=6$ und $ z=5$.

    Beispiel. Ein vorläufig letztes Beispiel aus der Chemie. Um den Sprengstoff Trinitrotoluol (TNT) $ C_7H_5O_6N_3$ zu gewinnen wird Methylbenzol (Toluol) $ C_7H_8$ und Salpetersäure $ HNO_3$ gemischt und man erhält Wasser $ H_2O$ und $ TNT$.
    In welchen Mengen reagieren nun die involvierten Substanzen?

    Wenn $ x$, $ y$, $ z$ und $ w$ die Molekülanzahlen der an der Reaktion

    $\displaystyle x\,C_7H_8 + y\, HNO_3 \to z\, C_7H_5O_6N_3 + w\,H_20
$

    beteiligten Stoffe bezeichnet, so müssen folgende Beziehungen gelten

    $\displaystyle C:$ $\displaystyle \qquad x\,7=z\,7$    
    $\displaystyle H:$ $\displaystyle \qquad x\,8+y=z\,5+w\,2$    
    $\displaystyle N:$ $\displaystyle \qquad y=z\,3$    
    $\displaystyle O:$ $\displaystyle \qquad y\,3=z\,6+w$    

    Aus der 1. Gleichung folgt $ x=z$, die 3. besagt $ y=3z$ und eingesetzt in die 2. oder 4. liefert $ 8z+3z=5z+2w$ bzw. $ 9z=6z+w$ also $ w=3z$. Wir sehen allerdings, daß keine eindeutige Lösung sondern unendlich viele dieses Gleichungssystems mit 4 Variablen $ x$, $ y$, $ z$, $ w$ und $ 4$ Gleichungen existieren. Um eine gewünschte Menge $ z$ der Salpetersäure zu erhalten können wir nun die dafür nötigen Mengen $ x$ von Toluol und $ y$ der Salpetersäure sowie die dabei anfallende Menge $ w$ des Wassers bestimmen.

    Das oben beschriebene Verfahren liefert in diesen Fall:

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcrcr}
7 x & & & - ...
...
& & y & - & 3 z & & & = & 0 \\
& & 3 y & - & 6 z & - & w & = & 0
\end{array}$

    $ I\leftarrow \frac17\cdot I$, $ II\leftarrow II-8\cdot I$

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcrcr}
x & & & - & ...
...
& & y & - & 3 z & & & = & 0 \\
& & 3 y & - & 6 z & - & w & = & 0
\end{array}$

    $ III\leftarrow III-II$, $ IV\leftarrow IV-3\cdot II$

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcrcr}
x & & & - & ...
... & & - & 6 z & + & 2 w & = & 0 \\
& & & - & 15 z & + & 5 w & = & 0
\end{array}$

    $ III\leftarrow \frac{-1}{6}\cdot III$, $ IV\leftarrow IV-15\cdot III$

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcrcr}
x & & & - & ...
...
& & & & z & - & \frac13 w & = & 0 \\
& & & & & & 0 w & = & 0 \\
\end{array}$

    Und weiter $ II\leftarrow II-3\cdot III$ und $ I\leftarrow I+III$

    $\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{rcrcrcrcr}
x & & & & & ...
...
& & & & z & - & \frac13 w & = & 0 \\
& & & & & & 0 w & = & 0 \\
\end{array}$

    Das Verfahren liefert also nicht lauter 1'er in der Diagonale, sondern an der letzten Stelle einen 0-er.


11.2 Geometrische Interpretation.
Wir wollen nun ein (geometrisches) Verständnis für solche eventuell unendliche Lösungsmengen \bgroup\color{demo}$ L\subseteq \mathbb{K}^n$\egroup linearer Gleichungen entwickeln. Die Koeffizienten \bgroup\color{demo}$ a_{i,j}$\egroup der Gleichungen bilden eine Matrix \bgroup\color{demo}$ (a_{i,j})_{1\leq i\leq m,\,1\leq
j\leq n}$\egroup, die wir als lineare Abbildung \bgroup\color{demo}$ A:\mathbb{K}^n\to\mathbb{K}^m$\egroup auffassen können. Die Inhomogenitätsterme \bgroup\color{demo}$ b_i$\egroup bilden einen Vektor \bgroup\color{demo}$ (b_1,\dots,b_m)\in\mathbb{K}^m$\egroup und Lösungen \bgroup\color{demo}$ (x_1,\dots,x_m)$\egroup des linearen Gleichungssystems sind gerade Punkte \bgroup\color{demo}$ x=(x_1,\dots,x_m)$\egroup mit \bgroup\color{demo}$ A(x)=b$\egroup, beschreiben also einen affinen Teilraum von \bgroup\color{demo}$ \mathbb{K}^n$\egroup den man dadurch erhält, daß man zur einer Lösung des inhomogenen Gleichungssystems alle Lösungen \bgroup\color{demo}$ y$\egroup des zugehörigen homogenen Systems \bgroup\color{demo}$ A(y)=0$\egroup, d.h. den \bgroup\color{demo}$ \operatorname{Ker}(A)$\egroup hinzuaddiert. Falls \bgroup\color{demo}$ A$\egroup surjektiv oder zumindest \bgroup\color{demo}$ b$\egroup im Bild von \bgroup\color{demo}$ A$\egroup liegt so existiert mindestens eine Lösung \bgroup\color{demo}$ x$\egroup von \bgroup\color{demo}$ A(x)=b$\egroup. Ist \bgroup\color{demo}$ A$\egroup injektiv so ist die Lösung eindeutig bestimmt. Ist \bgroup\color{demo}$ A$\egroup bijektiv, so existiert für jedes \bgroup\color{demo}$ b\in\mathbb{K}^m$\egroup eine eindeutig bestimmte Lösung \bgroup\color{demo}$ x\in \mathbb{K}^n$\egroup und diese kannals \bgroup\color{demo}$ x=A^{-1}(b)$\egroup berechnet werden.

Es sei \bgroup\color{demo}$ A:V\to W$\egroup linear. Dann nennt man eine Gleichung der Form \bgroup\color{demo}$ A(x)=0$\egroup eine homogene lineare Gleichung und eine solche der Form \bgroup\color{demo}$ A(x)=y$\egroup mit gegebenen \bgroup\color{demo}$ y$\egroup eine inhomogene lineare (oder auch affine) Gleichung.

Als Resumeé haben wir also:



Proposition.
Die Gesamtheit der Lösungen eines homogenen linearen Gleichungssystems bilden einen Vektorraum, einen Teilvektorraum von \bgroup\color{demo}$ \mathbb{R}^n$\egroup.
    []

Sowie:




Proposition.
Die allgemeine Lösung einer inhomogenen linearen Gleichung wird dadurch beschrieben, daß man zu einer (speziellen) Lösung der inhomogenen Gleichung alle Lösungen der entsprechenden homogenen Gleichung hinzuaddiert.
    []

Man rufe sich in diesen Zusammenhang die geometrische Interpretation einer Gleichung \bgroup\color{demo}$ a_1\,x_1+a_2\,x_2+a_3\,x_3=b$\egroup mit Koeffizienten \bgroup\color{demo}$ a_1,\dots,a_n,b\in\mathbb{R}$\egroup in Erinnerung. Dies beschreibt (im Fall \bgroup\color{demo}$ (a_1,\dots,a_n)\ne 0$\egroup) bekanntlich eine Ebene im Raum, und mehrere solche Gleichungen, die gleichzeitig erfüllt sein sollen, denn Durchschnitt der entsprechenden Ebenen, also je nach Anzahl und Lage eine Ebene, eine Gerade, einen Punkt oder die leere Menge. Obige Parameterdarstellung der Lösungen des Gleichungssystems nach Gauß entspricht dabei gerade der Bestimmung einer Parameterdarstellung dieser Schnittmenge.




11.3 Proposition.
Sei \bgroup\color{proclaim}$ A:V\to W$\egroup linear und \bgroup\color{proclaim}$ y\in W$\egroup fix. Dann besitzt die Gleichung \bgroup\color{proclaim}$ A(x)=y$\egroup genau dann eine Lösung \bgroup\color{proclaim}$ x_0$\egroup, wenn \bgroup\color{proclaim}$ y\in A(V)$\egroup liegt. Die Menge aller Lösungen ist dann durch \bgroup\color{proclaim}$ x_0+\operatorname{Ker}(A)$\egroup gegeben, ist also ein affiner Teilraum der Dimension \bgroup\color{proclaim}$ \dim(\operatorname{Ker}(A))=\dim(V)-\operatorname{Rang}(A)$\egroup. Die Lösungen von \bgroup\color{proclaim}$ A(x)=y$\egroup sind dann durch \bgroup\color{proclaim}$ x=x_0+\sum_{j=1}^k \lambda _k v_k$\egroup gegeben, wobei die \bgroup\color{proclaim}$ v_k$\egroup eine Basis von \bgroup\color{proclaim}$ \operatorname{Ker}(A)$\egroup seien.


11.4 Gauß'sches Eliminationsverfahren.
Wenn wir ein allgemeines inhomogenes lineares Gleichungssystem in \bgroup\color{proclaim}$ n$\egroup vielen Variablen \bgroup\color{proclaim}$ x_1$\egroup, \bgroup\color{proclaim}$ \dots$\egroup, \bgroup\color{proclaim}$ x_n$\egroup und \bgroup\color{proclaim}$ m$\egroup vielen Gleichungen der Form

\bgroup\color{proclaim}$\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{...
...\
a_{m,1}\,x_1 & + & \dots & + & a_{m,n}\,x_n & = & b_m \\
\end{array}$\egroup

mit fixen Eintragungen \bgroup\color{proclaim}$ a_{1,1},\dots,a_{m,n}$\egroup (Beachte, daß der 1. Index \bgroup\color{proclaim}$ i$\egroup in \bgroup\color{proclaim}$ a_{i,j}$\egroup die Zeilennummer und der 2. Index \bgroup\color{proclaim}$ j$\egroup die Spaltennummer der Eintragung \bgroup\color{proclaim}$ a_{i,j}$\egroup angibt.) sowie \bgroup\color{proclaim}$ b_1,\dots,b_m$\egroup vorliegen haben, so können wir dieses schrittweise unter Beibehaltung der Lösungen wie folgt umformen. Wunschziel dabei wäre eine Diagonalgestalt der Form

\bgroup\color{proclaim}$\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{...
...\ddots & & & \vdots\; & \vdots \\
& & & & x_n & = & c_m \\
\end{array}$\egroup

zu erreichen. Dies ist im Falle \bgroup\color{proclaim}$ n\ne m$\egroup nicht, und, wie das chemische Beispiel zeigt, selbst für \bgroup\color{proclaim}$ n=m$\egroup nicht immer möglich. Aber folgendes können wir zumindest tun:

Falls die erste Spalte aus lauter Nullen besteht so machen wir im ersten Schritt nichts. Andernfalls wählen wir eine Zeile \bgroup\color{proclaim}$ i$\egroup deren erster Koeffizienten \bgroup\color{proclaim}$ a_{i,1}\ne 0$\egroup ist, multiplizieren diese mit \bgroup\color{proclaim}$ 1/a_{i,1}$\egroup um als ersten Koeffizienten 1 zu erhalten, und tauschen sie an die 1. Stelle. Sodann ziehen wir von allen übrigen Zeilen \bgroup\color{proclaim}$ j$\egroup das entsprechende Vielfache \bgroup\color{proclaim}$ a_{j,1}$\egroup der ersten Zeile ab um alle anderen Koeffizienten der 1. Spalte in 0'en zu verwandeln.

Im nächsten Schritt verfahren wir ebenso mit der 2. Spalte fort, wobei wir allerdings die 1. Zeile unverändert stehen lassen und nur die Zeilen 2 bis \bgroup\color{proclaim}$ m$\egroup weiter umformen, falls wir bei ihr im vorangegangenen Schritt schon einen 1'er als ersten Koeffizienten erreicht haben.

Diese Schritte führen wir solange durch, bis keine Zeilen oder keine Spalten (bis auf die letzte) mehr übrig sind, wobei wir jeweils jene Zeilen, in denen wir schon einen führenden 1'er erreicht haben unverändert abschreiben. Wenn wir jene Spalten, wo wir einen 1'er erzeugen konnten, weil sie an den relevanten Stellen nicht aus lauter 0'er bestanden haben, mit \bgroup\color{proclaim}$ 1\leq j_1<j_2<\dots<j_r$\egroup bezeichnen, so haben wir eine Form erreicht, wo \bgroup\color{proclaim}$ a_{i,j_i}=1$\egroup für \bgroup\color{proclaim}$ 1\leq i\leq r$\egroup und alle anderen Eintragungen im Teil-Rechteck, dessen rechte obere Ecke \bgroup\color{proclaim}$ a_{i,j_i}$\egroup ist, 0 sind. Anders formuliert, die Spalten-Nummern \bgroup\color{proclaim}$ j_i$\egroup der führenden 1'er in der \bgroup\color{proclaim}$ i$\egroup-ten Zeile sind streng monoton wachsend. Durch Abziehen entsprechender Vielfachen von den darüberstehenden Zeilen können wir weiters erreichen, daß in der Spalte über \bgroup\color{proclaim}$ a_{i,j_i}=1$\egroup ebenfalls lauter 0'er sind.

\bgroup\color{proclaim}$\displaystyle \setlength\arraycolsep{2pt}
\begin{array}{...
...\hdots &\hdots &\hdots &0 &\hdots &\hdots &0 &\boxed{c_m}\\
\end{array}$\egroup

Für die Lösung bedeutet dies nun, daß falls die letzten \bgroup\color{proclaim}$ m-r$\egroup Gleichungen nicht widersprüchlich sind (d.h. \bgroup\color{proclaim}$ c_{r+1}=\dots=c_{m}=0$\egroup ist), so können die \bgroup\color{proclaim}$ n-r$\egroup Variablen der übrigen Spalten \bgroup\color{proclaim}$ x_j$\egroup mit \bgroup\color{proclaim}$ j\ne j_1,\dots,j_r$\egroup frei gewählt werden und die anderen \bgroup\color{proclaim}$ r$\egroup Variablen \bgroup\color{proclaim}$ x_{j_1},\dots,x_{j_r}$\egroup daraus eindeutig berechnet werden.

Diese Methode zur Bestimmung der Lösungen eines linearen Gleichungssystems nennt man Gauß'sches Eliminationsverfahren.




11.5 Proposition.
Elementare Zeilenumformungen einer \bgroup\color{proclaim}$ n\times m$\egroup-Matrix über einem Körper \bgroup\color{proclaim}$ \mathbb{K}$\egroup lassen sich durch Multiplikation von links mit einer invertierbaren \bgroup\color{proclaim}$ m\times m$\egroup-Matrix ausdrücken. Wendet man also auf die erweiterte Matrix eines linearen Gleichungssystems eine beliebige Abfolge von elementaren Zeilenoperationen an, so erhält man die erweiterte Matrix eines äquivalenten Systems.

Beweis. Es sei \bgroup\color{demo}$ \pi$\egroup eine Permutation der Menge \bgroup\color{demo}$ m=\{0,\dots,m-1\}$\egroup, also eine bijektive Abbildung \bgroup\color{demo}$ \pi:m\to m$\egroup. Dies induziert eine lineare Abbildung \bgroup\color{demo}$ f:=\pi^*:\mathbb{K}^m\to\mathbb{K}^m$\egroup definiert durch \bgroup\color{demo}$ \pi^*(x)=(x_{\pi(i)})_{0\leq i<m}$\egroup, also mit \bgroup\color{demo}$ \pi^*(e_i)=e_{\pi^{-1}(i)}$\egroup. Diese ist offensichtlich ein Isomorphismus mit Inverser \bgroup\color{demo}$ (\pi^{-1})^*$\egroup. Ist insbesonders \bgroup\color{demo}$ \pi$\egroup eine Transposition, so ist \bgroup\color{demo}$ \pi^{-1}=\pi$\egroup und \bgroup\color{demo}$ \pi^*$\egroup vertauscht gerade 2 der Basisvektoren \bgroup\color{demo}$ e_i$\egroup. Es ist

\bgroup\color{demo}$\displaystyle (\pi^*\o A)(e_j)=\pi^*(A(e_j))=\sum_{k} a_{k,j}\pi^*(e_k)=
\sum_k a_{k,j} e_{\pi^{-1}(k)}=\sum_i a_{\pi(i),j} e_i
$\egroup

Also erhält man die Matrix \bgroup\color{demo}$ [f\o A]$\egroup aus \bgroup\color{demo}$ [A]$\egroup indem man die Zeilen entsprechend \bgroup\color{demo}$ \pi$\egroup miteinander vertauscht.

Multiplikation der \bgroup\color{demo}$ i$\egroup-ten Zeile von \bgroup\color{demo}$ [A]$\egroup mit den Skalar \bgroup\color{demo}$ \lambda $\egroup läßt sich durch Multiplikation von links mit der Matrix, die auf der Diagonale lauter 1'er hat bis auf die \bgroup\color{demo}$ i$\egroup-te Stelle wo \bgroup\color{demo}$ \lambda $\egroup und sonst lauter 0'er als Eintragungen hat. Die zugehörige bijektive lineare Abbildung \bgroup\color{demo}$ f$\egroup wird durch

\bgroup\color{demo}$\displaystyle e_j\mapsto \begin{cases}e_j&\text{für }j\ne i \\
\lambda \,e_j &\text{für }j=i \end{cases}$\egroup

beschrieben.

Sei schließlich \bgroup\color{demo}$ \lambda \in\mathbb{K}$\egroup und \bgroup\color{demo}$ 0\leq i,j< m$\egroup mit \bgroup\color{demo}$ i\neq j$\egroup beliebig. Nach (10.7) gibt es eine eindeutige lineare Abbildung \bgroup\color{demo}$ f:\mathbb{K}^m\to\mathbb{K}^m$\egroup, die \bgroup\color{demo}$ f(e_j)=e_j+\lambda e_i$\egroup und \bgroup\color{demo}$ f(e_k)=e_k$\egroup für \bgroup\color{demo}$ k\neq j$\egroup erfüllt. Für \bgroup\color{demo}$ x=(x_0,\dots,x_{m-1})\in\Bbb
K^m$\egroup gilt dann

\bgroup\color{demo}$\displaystyle f(x)=f\Bigl(\sum x_ke_k\Bigr)=\sum_{k\neq j}x_ke_k+x_je_j+\lambda
x_je_i=\sum_{k\neq i}x_ke_k+(x_i+\lambda x_j)e_i.
$\egroup

Die Spalten von \bgroup\color{demo}$ [f\o A]$\egroup erhält man indem man \bgroup\color{demo}$ f$\egroup auf die Spalten von \bgroup\color{demo}$ [A]$\egroup anwendet. Das bedeutet aber, das Linksmultiplikation mit \bgroup\color{demo}$ [f]$\egroup genau die Zeilenoperation \bgroup\color{demo}$ i\mapsto
i+\lambda \cdot j$\egroup liefert. Wir müssen also nur noch sehen, daß \bgroup\color{demo}$ [f]$\egroup invertierbar, also \bgroup\color{demo}$ f$\egroup ein linearer Isomorphismus ist. Sei dazu \bgroup\color{demo}$ g$\egroup die analoge Abbildung mit \bgroup\color{demo}$ -\lambda $\egroup statt \bgroup\color{demo}$ \lambda $\egroup. Nach Definition bildet sowohl \bgroup\color{demo}$ g\o f$\egroup als auch \bgroup\color{demo}$ f\o g$\egroup jedes \bgroup\color{demo}$ e_k$\egroup auf sich selbst ab. Da eine lineare Abbildung durch ihre Werte auf einer Basis eindeutig bestimmt ist, folgt daraus \bgroup\color{demo}$ g\o f=f\o g=\operatorname{id}$\egroup, also ist \bgroup\color{demo}$ f$\egroup ein linearer Isomorphismus.

    []


Bemerkung.
Natürlich spielt es eine Rolle, in welcher Reihenfolge elementare Zeilenoperationen durchgeführt werden. Zum Beispiel erhält man natürlich ein anderes Ergebnis, wenn man erst \bgroup\color{demo}$ i\leftrightarrow j$\egroup und dann \bgroup\color{demo}$ i\mapsto \lambda \cdot i$\egroup anwendet, als wenn man erst \bgroup\color{demo}$ i\mapsto \lambda \cdot i$\egroup und dann \bgroup\color{demo}$ i\leftrightarrow j$\egroup anwendet. Bei Zeilenoperationen, die keine gemeinsamen Zeilen betreffen spielt die Reihenfolge aber keine Rolle, und wir werden diese Operationen oft in einem Schritt durchführen um nicht allzu viel aufschreiben zu müssen. So kann man etwa für fixes \bgroup\color{demo}$ j$\egroup und verschiedene \bgroup\color{demo}$ i_1,\dots,i_k$\egroup, die auch alle ungleich \bgroup\color{demo}$ j$\egroup sind, die Operationen \bgroup\color{demo}$ i_1\mapsto i_1+\lambda _1\cdot i$\egroup bis \bgroup\color{demo}$ i_k\mapsto i_k+\lambda _k\cdot i$\egroup gleichzeitig durchführen.


11.6 Invertierbarkeit und Bestimmung der inversen Matrix.
In diesem Abschnitt betrachten wir eine \bgroup\color{demo}$ n\times n$\egroup-Matrix \bgroup\color{demo}$ A$\egroup über einem Körper \bgroup\color{demo}$ \mathbb{K}$\egroup. Wir wollen ein explizites Verfahren entwickeln, das entscheidet, ob die Matrix \bgroup\color{demo}$ A$\egroup invertierbar ist, und falls ja, die inverse Matrix \bgroup\color{demo}$ A^{-1}$\egroup explizit bestimmen. Sind \bgroup\color{demo}$ A$\egroup und \bgroup\color{demo}$ S$\egroup invertierbare \bgroup\color{demo}$ n\times n$\egroup-Matrizen, dann ist \bgroup\color{demo}$ SA$\egroup invertierbar (und \bgroup\color{demo}$ (SA)^{-1}=A^{-1}S^{-1}$\egroup) nach Satz (2.5). Ist umgekehrt für eine invertierbare Matrix \bgroup\color{demo}$ S$\egroup die Matrix \bgroup\color{demo}$ SA$\egroup invertierbar, dann ist \bgroup\color{demo}$ A=S^{-1}SA$\egroup ebenfalls invertierbar. Insbesondere ändern elementare Zeilenoperationen nichts an der Invertierbarkeit einer Matrix, denn diese lassen sich nach (11.5) durch Multiplikation von links mit einer invertierbaren Matrix \bgroup\color{demo}$ S$\egroup beschreiben. Wenn wir also wissen wollen, ob eine Matrix \bgroup\color{demo}$ A$\egroup invertierbar ist, dann können wir \bgroup\color{demo}$ A$\egroup mit Hilfe des Gauß'schen Algorithmus auf Zeilenstufenform bringen und überprüfen, ob die resultierende Matrix invertierbar ist. Das ist relativ einfach, und es liefert sogar einen Algorithmus zur Berechnung der inversen Matrix:




11.7 Theorem.
Ist \bgroup\color{demo}$ A$\egroup eine beliebige invertierbare \bgroup\color{demo}$ n\times n$\egroup-Matrix über einem Körper \bgroup\color{demo}$ \mathbb{K}$\egroup, dann kann man \bgroup\color{demo}$ A$\egroup durch eine endliche Folge von elementaren Zeilenoperationen in die Einheitsmatrix \bgroup\color{demo}$ \Bbb I$\egroup umwandeln. Man erhält die inverse Matrix \bgroup\color{demo}$ A^{-1}$\egroup indem man die dazu nötigen Zeilenoperationen in der selben Reihenfolge auf die Einheitsmatrix \bgroup\color{demo}$ \Bbb I$\egroup anwendet.

Beweis. Sei \bgroup\color{demo}$ A\in L_\mathbb{K}(n,n)$\egroup invertierbar. Die Inverse \bgroup\color{demo}$ B:=A^{-1}$\egroup ist nach (10.7) durch ihre Werte \bgroup\color{demo}$ b_j:=A^{-1}(e_j)$\egroup auf der Standard-Basis \bgroup\color{demo}$ \{e_1,\dots,e_n\}$\egroup eindeutig festgelegt. Wir müssen also die Gleichungen \bgroup\color{demo}$ A(b_j)=e_j$\egroup lösen. Dies geschieht durch Anwendung des Gauß'schen Algorithmus auf die erweiterte Matrix \bgroup\color{demo}$ (A,e_j)$\egroup und wir erhalten \bgroup\color{demo}$ (\operatorname{id},b_j)$\egroup. Wenden wir dies gleichzeitig für alle Basis-Vektoren \bgroup\color{demo}$ e_1,\dots,e_n$\egroup als auf \bgroup\color{demo}$ (A,\operatorname{id})=(A,e_1,\dots,e_n)$\egroup an so erhalten wir \bgroup\color{demo}$ (\operatorname{id},B)=(\operatorname{id},b_1,\dots,b_n)$\egroup und somit die Matrix \bgroup\color{demo}$ B$\egroup der Inversen zu \bgroup\color{demo}$ A$\egroup.     []


Bemerkung.

  1. Der obige Satz liefert uns einen einfachen Algorithmus, der entscheidet, ob eine $ n\times n$-Matrix $ A$ invertierbar ist und im Fall der Invertierbarkeit sofort die inverse Matrix berechnet. Man bildet einfach die $ 2n\times n$-Matrix $ (A\vert\Bbb I)$ die als erste $ n$-Spalten $ A$ und als zweite $ n$-Spalten $ \Bbb I$ hat. Dann wendet man den Gauß'schen Algorithmus an um diese Matrix auf Zeilenstufenform zu bringen. Führt das zu $ r=n$ und $ j_i=i$ für alle $ i=1,\dots,n$, dann ist $ A$ invertierbar. Die resultierende Matrix ist dann gerade $ (\Bbb I\vert A^{-1})$.
  2. Sowohl der Gauß'sche Algorithmus als auch das hier beschriebene Verfahren zur Bestimmung der inversen Matrix können natürlich leicht einem Computer beigebracht werden (sofern der Computer bereits im Körper $ \mathbb{K}$ rechnen kann, was aber meist nicht allzu schwierig ist). Für allgemeine Matrizen sind diese Verfahren sogar ziemlich effizient. Weiß man mehr über das Gleichungssystem (etwa das sehr viele Koeffizienten gleich Null sind - ``dünn besetzte Systeme'') dann gibt es schnellere Verfahren zur Lösung solcher Systeme.


Beispiele.

  1. Für die $ 2\times 2$-Matrix aus (10.28a)

    $\displaystyle \begin{pmatrix}
\sqrt{2} & \frac1{\sqrt{2}} \\
0 & \frac{\sqrt{3}}{\sqrt{2}}
\end{pmatrix}$

    liefert der Algorithmus zur Bestimmung der Inversen:

    $\displaystyle \begin{pmatrix}
\sqrt{2} & \frac1{\sqrt{2}} & 1 & 0 \\
0 & \frac...
... & - \frac{1}{\sqrt{6}} \\
0 & 1 & 0 & \frac{\sqrt{2}}{\sqrt{3}}
\end{pmatrix}$

    Die Inverse ist somit durch

    $\displaystyle \begin{pmatrix}
\frac1{\sqrt{2}} & - \frac{1}{\sqrt{6}} \\
0 & \frac{\sqrt{2}}{\sqrt{3}}
\end{pmatrix}$

    gegeben.
  2. Für die $ 2\times 2$-Matrix

    $\displaystyle \begin{pmatrix}2 & 1 \\ 1 & 2 \end{pmatrix}$

    sieht unser Algorithmus zur Bestimmung der Inversen wie folgt aus:

    $\displaystyle \begin{pmatrix}2 & 1 & 1 & 0\\ 1 & 2 & 0 & 1\end{pmatrix}\mapsto
...
...\frac{2}{3} & -\frac{1}{3}\\
0 & 1 & -\frac{1}{3} & \frac{2}{3}\end{pmatrix}.
$

    Somit ist $ A$ invertierbar und die Form von $ A^{-1}$ aus (10.27) verifiziert.

  3. Für die Matrix $ [I]$ aus (10.28a) liefert dieses Verfahren

    $\displaystyle \begin{pmatrix}\frac1{\sqrt{2}} & \frac1{\sqrt{6}} & \frac1{\sqrt...
... \\ 0 & -\frac{\sqrt{2}}{\sqrt{3}} & \frac1{\sqrt{3}} & 0 & 0 & 1 \end{pmatrix}$ $\displaystyle \mapsto \begin{pmatrix}1 & \frac{1}{\sqrt{3}} & \frac{\sqrt{2}}{\...
...-\frac{\sqrt{2}}{\sqrt{3}} & \frac1{\sqrt{3}} & 0 & 0 & 1 \end{pmatrix} \mapsto$    
      $\displaystyle \mapsto \begin{pmatrix}1 & \frac{1}{\sqrt{3}} & \frac{\sqrt{2}}{\...
...c{\sqrt{3}}{\sqrt{2}} & 0 \\ 0 & 0 & \sqrt{3} & 1 & 1 & 1 \end{pmatrix} \mapsto$    
      $\displaystyle \mapsto \begin{pmatrix}1 & \frac{1}{\sqrt{3}} & \frac{\sqrt{2}}{\...
...ac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} \end{pmatrix} \mapsto$    
      $\displaystyle \mapsto \begin{pmatrix}1 & \frac{1}{\sqrt{3}} & \frac{\sqrt{2}}{\...
...ac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} \end{pmatrix} \mapsto$    
      $\displaystyle \mapsto \begin{pmatrix}1 & 0 & 0 & \frac{1}{\sqrt{2}} & -\frac{1}...
... 1 & \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} \end{pmatrix}$    

  4. In einem weiteren Beispiel mit einer $ 3\times 3$-Matrix liefert das Gauß'sche Verfahren

    $\displaystyle \begin{pmatrix}1 & 1 & 1 & 1 & 0 & 0 \\ 1 & 2 & 3 & 0 & 1 & 0\\ 1 & 4 & 9 & 0 & 0 & 1\end{pmatrix}$ $\displaystyle \mapsto \begin{pmatrix}1 & 1 & 1 & \phantom{-}1 & 0 & 0 \\ 0 & 1 & 2 & -1 & 1 & 0\\ 0 & 3 & 8 & -1 & 0 & 1\end{pmatrix} \mapsto$    
      $\displaystyle \mapsto \begin{pmatrix}1 & 1 & 1 & \phantom{-}1 & \phantom{-}0 & ...
... -1 & \phantom{-}1 & 0\\ 0 & 0 & 2 & \phantom{-}2 & -3 & 1\end{pmatrix} \mapsto$    
      $\displaystyle \mapsto \begin{pmatrix}1 & 0 & -1 & \phantom{-}2 & -1 & 0 \\ 0 & ...
...& \phantom{-}1 & \phantom{-}1 & -\frac{3}{2} & \frac{1}{2}\end{pmatrix} \mapsto$    
      $\displaystyle \mapsto \begin{pmatrix}1 & 0 & 0 & \phantom{-}3 & -\frac{5}{2} & ...
... 0 & 0 & 1 & \phantom{-}1 & -\frac{3}{2} & \phantom{-}\frac{1}{2}\end{pmatrix}.$    


11.8 Definition.
Eine lineare Abbildung \bgroup\color{demo}$ A:V\to W$\egroup heißt regulär, wenn sie den maximal möglichen Rang \bgroup\color{demo}$ \min\{\dim(V),\dim(W)\}$\egroup hat.




11.9 Lemma.
Der Rang einer Matrix \bgroup\color{demo}$ A\in L_\mathbb{K}(n,m)$\egroup stimmt mit jenen der auf Zeilenstufenform transformierten Matrix überein und letzterer ist genau die Anzahl \bgroup\color{demo}$ r$\egroup der von 0 verschiedenen Zeilen.

Beweis. Elementare Zeilenumformungen ändern die Lösungsmenge des (homogenen) Gleichungssystems \bgroup\color{demo}$ A(x)=0$\egroup nicht. Als ist \bgroup\color{demo}$ \operatorname{Ker}(A)=\operatorname{Ker}(A')$\egroup, wobei \bgroup\color{demo}$ A'$\egroup die auf Zeilenstufenform transformierte Matrix bezeichnet. Wegen der Dimensionsformel (10.14) ist somit \bgroup\color{demo}$ \operatorname{rang}(A)=n-\dim(\operatorname{Ker}(A))=n-\dim(Ker(A'))=\operatorname{rang}(A')$\egroup.

Nach (10.21) ist der Rang die maximale Anzahl linear unabhängiger Spalten. In der Zeilenstufenform stehen in den Spalten \bgroup\color{demo}$ j_1,\dots,j_r$\egroup mit führenden 1'ern in den entsprechenden Zeilen gerade die Einheitsvektoren \bgroup\color{demo}$ e_1,\dots,e_r$\egroup. Diese sind linear unabhängig und alle anderen Spalten lassen sich als Linearkombination dieser schreiben. Also ist \bgroup\color{demo}$ r$\egroup die maximale Anzahl linearunabhängiger Spalten und somit der Rang von \bgroup\color{demo}$ A'$\egroup.     []


11.9a Bemerkung.
Der Rang einer Matrix ist ebenso die maximale Anzahl linear unabhängiger Zeilen, denn die oben angegebenen Operationen ändern den Zeilenrang nicht und jener der transformierten Matrix \bgroup\color{demo}$ A'$\egroup ist gerade \bgroup\color{demo}$ r$\egroup. Dies folgt mittels (13.15) auch aus

\begin{multline*}
\operatorname{Rang}(A^t)=\dim(\operatorname{Bild}(A^t))=\dim(...
...name{Ker}A)=\dim(\operatorname{Bild}(A))=\operatorname{Rang}(A)
\end{multline*}




11.10 Folgerung.
Eine lineare Gleichung \bgroup\color{demo}$ Ax=y$\egroup ist genau dann lösbar, wenn der Rang der Matrix \bgroup\color{demo}$ [A]$\egroup von \bgroup\color{demo}$ A$\egroup gleich jenen der erweiterten Matrix \bgroup\color{demo}$ ([A],[y])$\egroup ist.

Beweis. Es ist \bgroup\color{demo}$ Ax=y$\egroup genau dann lösbar, wenn \bgroup\color{demo}$ [y]\in\langle \{A(e_1),\dots,A(e_p)\}\rangle$\egroup liegt, d.h. jede maximal unabhängige Teilmenge von Spaltenvektoren in \bgroup\color{demo}$ [A]$\egroup ist auch eine in \bgroup\color{demo}$ ([A],[y])$\egroup.     []




11.11 Proposition.
Es seien \bgroup\color{demo}$ V$\egroup und \bgroup\color{demo}$ W$\egroup Vektorräume der Dimension \bgroup\color{demo}$ n:=\dim(V)=\dim(W)$\egroup sowie \bgroup\color{demo}$ B$\egroup und \bgroup\color{demo}$ C$\egroup Basen von diesen. Für \bgroup\color{demo}$ A\in L(V,W)$\egroup sind folgende Aussagen äquivalent:

  1. $ A$ ist ein Isomorphismus;
  2. $ A$ ist injektiv;
  3. $ \operatorname{Ker}(A)=\{0\}$;
  4. $ A$ ist surjektiv;
  5. $ \operatorname{rang}(A)=n$;
  6. $ \tilde A=I_C\o A\o I_B^{-1}:\mathbb{K}^n\to\mathbb{K}^n$ ist ein Isomorphismus;
  7. $ [A]_{B,C}$ ist invertierbar;
  8. $ A$ ist regulär.

Beweis. \bgroup\color{demo}$ (1\Leftrightarrow 2\wedge4)$\egroup ist trivial.

\bgroup\color{demo}$ (2\Leftrightarrow 3)$\egroup ist (10.5).

\bgroup\color{demo}$ (4\Leftrightarrow 5)$\egroup ist offensichtlich, wegen \bgroup\color{demo}$ \operatorname{rang}(A)=\dim(A(V))$\egroup.

\bgroup\color{demo}$ (3\Leftrightarrow 5)$\egroup folgt aus der Dimensionsformel \bgroup\color{demo}$ \htmlref{(10.14)}{nmb:10.14}$\egroup.

\bgroup\color{demo}$ (1\Leftrightarrow 6)$\egroup, da \bgroup\color{demo}$ I_C$\egroup und \bgroup\color{demo}$ I_B$\egroup nach (10.16) Isomorphismen sind.

\bgroup\color{demo}$ (6\Leftrightarrow 7)$\egroup gilt da wegen (10.23) und 10.24 die lineare Abbildung \bgroup\color{demo}$ \tilde A$\egroup genau dann invertierbar ist, wenn die Matrix \bgroup\color{demo}$ [\tilde A]$\egroup es ist.

\bgroup\color{demo}$ (5\Leftrightarrow 8)$\egroup ist offensichtlich.     []


11.12 Lineare Codes.

Wir wollen als nächstes kurz eine Anwendung der linearen Algebra über endlichen Körpern besprechen, nämlich die sogenannten linearen Codes. Der Einfachheit halber werden wir uns auf den Körper \bgroup\color{demo}$ \Bbb
Z_2$\egroup beschränken und hauptsächlich ein konkretes Beispiel (nämlich den sogenannten Hemming-(4,7)-Code) besprechen, anstatt die allgemeine Theorie zu entwickeln.

Bei Codes sollte man nicht an Geheimbotschaften denken, sondern daran, daß man eine Botschaft übertragen möchte, wobei man damit rechnen muß, daß bei der Übertragung Fehler auftreten können. Der Einfachheit halber treffen wir die (ziemlich realistische) Annahme, daß unsere Botschaft einfach eine Folge von ``Worten'' einer fixen Länge \bgroup\color{demo}$ k$\egroup in den ``Buchstaben'' \bgroup\color{demo}$ \{0,1\}$\egroup ist. Wir können also ein solches Wort als ein Element \bgroup\color{demo}$ (x_1,\dots,x_k)\in\mathbb{Z}_2^k$\egroup betrachten. (Bislang wir die Restklassen mit eckigen Klammern angedeutet, also \bgroup\color{demo}$ \mathbb{Z}_2=\{[0],[1]\}$\egroup geschrieben. Die jetzige Schreibweise ist aber dadurch gerechtfertigt, daß \bgroup\color{demo}$ [0]$\egroup das additiv neutrale und \bgroup\color{demo}$ [1]$\egroup das multiplikativ neutrale Element ist, die wir ja immer mit 0 bzw.  \bgroup\color{demo}$ 1$\egroup bezeichnet haben.) Die einzige Rechenregel in \bgroup\color{demo}$ \mathbb{Z}_2$\egroup, die nicht aus den Eigenschaften der neutralen Elemente folgt ist \bgroup\color{demo}$ 1+1=0$\egroup.

Wir wollen nun annehmen, daß wir unsere Botschaft auf irgend eine Art und Weise übertragen, und das vereinzelt Fehler auftreten können, also vereinzelt Nullen in Einser und Einser in Nullen verwandelt werden. Wir wollen solche Fehler erkennbar und wenn möglich sogar korrigierbar machen, indem wir zusätzliche Informationen übertragen (in die bei der Übertragung natürlich auch Fehler hinein kommen können). Damit so etwas praktisch nutzbar ist, sollte natürlich die Codierung (also das Hinzufügen der zusätzlichen Information) und die Decodierung (also das Zurückgewinnen der ursprünglichen Information) möglichst einfach sein.

Eine einfache Methode in dieser Richtung ist die Übertragung eines zusätzlichen Prüf- oder Paritätsbits. Man macht einfach aus einem Wort \bgroup\color{demo}$ (x_1,\dots,x_k)$\egroup der Länge \bgroup\color{demo}$ k$\egroup ein Wort der Länge \bgroup\color{demo}$ k+1$\egroup, indem man \bgroup\color{demo}$ x_{k+1}$\egroup so wählt, daß in dem Wort \bgroup\color{demo}$ (x_1,\dots,x_{k+1})$\egroup eine gerade Anzahl von Einsen vorkommt, d.h.  \bgroup\color{demo}$ x_{k+1}=x_1+\dots +x_k$\egroup (in \bgroup\color{demo}$ \mathbb{Z}_2$\egroup!). Empfängt man ein Wort der Länge \bgroup\color{demo}$ k+1$\egroup, dann bildet man \bgroup\color{demo}$ x_1+\dots+x_{k+1}$\egroup. Ist diese Summe gleich Null, dann nimmt man einfach die ersten \bgroup\color{demo}$ k$\egroup Elemente als übertragenes Wort. Ist die Summe gleich Eins, dann weiß man, daß in der Übertragung ein Fehler aufgetreten ist (aber nicht an welcher Stelle). Treten zwei Fehler auf, dann kann man das mit dieser Methode nicht mehr erkennen. Man kann diese Methode so interpretieren, daß man auf die Datenworte aus \bgroup\color{demo}$ \mathbb{Z}_2^k$\egroup zunächst eine lineare Abbildung \bgroup\color{demo}$ \mathbb{Z}_2^k\to\Bbb
Z_2^{k+1}$\egroup (die das Hinzufügen des Prüfbits beschreibt) anwendet, dann das Bild überträgt. Dann kann man mit einer linearen Abbildung \bgroup\color{demo}$ \mathbb{Z}_2^k\to\mathbb{Z}_2$\egroup (dem Verifikationstest) feststellen ob ein Fehler aufgetreten ist, und falls nicht das ursprüngliche Wort durch eine lineare Abbildung \bgroup\color{demo}$ \mathbb{Z}_2^{k+1}\to\mathbb{Z}_2^k$\egroup (der Rekonstruktion) rekonstruieren.

Wichtig für die Qualität eines Codes ist nicht die lineare Abbildung, die zum Bilden der Codeworte verwendet wird, sondern nur ihr Bild. Deshalb definiert man einen linearen \bgroup\color{demo}$ (n,k)$\egroup-Code über \bgroup\color{demo}$ \mathbb{Z}_2$\egroup als einen \bgroup\color{demo}$ k$\egroup-dimensionalen Teilraum \bgroup\color{demo}$ C$\egroup von \bgroup\color{demo}$ \Bbb
Z_2^n$\egroup. Wir wollen nun einen (sehr guten) linearen \bgroup\color{demo}$ (7,4)$\egroup-Code, den sogenannten Hemming \bgroup\color{demo}$ (7,4)$\egroup-Code beschreiben, bei dem mit 3 Prüfbits bis zu \bgroup\color{demo}$ 2$\egroup Fehler sicher erkannt und Einzelfehler sicher korrigiert werden können. (Warum gerade die Kombination \bgroup\color{demo}$ (7,4)$\egroup günstig ist, werden wir im Verlauf der Konstruktion sehen.)

Wir suchen also einen \bgroup\color{demo}$ 4$\egroup-dimensionalen Teilraum \bgroup\color{demo}$ C$\egroup von \bgroup\color{demo}$ \Bbb
Z_2^7$\egroup, dessen Element die gültigen Codeworte sind. Eine einfache Methode, so einen Teilraum anzugeben, ist als Kern einer surjektiven linearen Abbildung \bgroup\color{demo}$ \varphi :\mathbb{Z}_2^7\to\mathbb{Z}_2^3$\egroup, deren zugehörige Matrix \bgroup\color{demo}$ K$\egroup die Kontrollmatrix des Codes heißt. Somit ist ein (empfangenes) Codewort \bgroup\color{demo}$ x$\egroup genau dann gültig, wenn \bgroup\color{demo}$ Kx=0$\egroup gilt. Das Auftreten eines Fehlers in der Übertragung kann man so interpretieren, daß zu einem gültigen Codewort \bgroup\color{demo}$ x$\egroup ein Fehlerwort \bgroup\color{demo}$ y$\egroup addiert wird. (In \bgroup\color{demo}$ \mathbb{Z}_2$\egroup entspricht ja Addition von \bgroup\color{demo}$ 1$\egroup genau dem Vertauschen von 0 und \bgroup\color{demo}$ 1$\egroup.) Die Anzahl der Übertragungsfehler ist genau die Anzahl der Einsen in \bgroup\color{demo}$ y$\egroup. Wegen der Linearität gilt nun \bgroup\color{demo}$ K(x+y)=Kx+Ky=Ky$\egroup, also können Fehler genau dann erkannt werden, wenn die Fehlerworte nicht im Kern von \bgroup\color{demo}$ \varphi $\egroup liegen. Wollen wir also Einzelfehler erkennen, dann muß zumindest \bgroup\color{demo}$ Ke_i\neq 0$\egroup für \bgroup\color{demo}$ i=1,\dots,7$\egroup gelten.

Wir wollen aber Einzelfehler nicht nur erkennen, sondern sogar korrigieren können. Um das zu tun, müssen wir die Einzelfehler von einander unterscheiden können, also muß \bgroup\color{demo}$ Ke_i\neq Ke_j$\egroup für \bgroup\color{demo}$ i\neq j$\egroup gelten. Dies läßt uns für \bgroup\color{demo}$ K$\egroup aber im Wesentlichen nur noch eine Möglichkeit, weil \bgroup\color{demo}$ \mathbb{Z}_2^3$\egroup genau \bgroup\color{demo}$ 2^3=8$\egroup Elemente, also genau \bgroup\color{demo}$ 7$\egroup Elemente außer Null hat. Wir wählen also

\bgroup\color{demo}$\displaystyle K=\begin{pmatrix}1 & 0 &
1 & 0 & 1 & 0 & 1\\ 0 & 1 & 1 & 0 & 0 & 1 & 1\\ 0 & 0 & 0 & 1 & 1 & 1
& 1 \end{pmatrix}.
$\egroup

Diese Wahl ist so getroffen, daß \bgroup\color{demo}$ Ke_i$\egroup gerade die Darstellung von \bgroup\color{demo}$ i$\egroup als Binärzahl ist. Dies hat aber noch eine wichtige Konsequenz: Da in \bgroup\color{demo}$ \mathbb{Z}_2^3$\egroup immer \bgroup\color{demo}$ x=-x$\egroup gilt, und \bgroup\color{demo}$ Ke_i\neq Ke_j$\egroup für \bgroup\color{demo}$ i\neq j$\egroup gilt, ist auch \bgroup\color{demo}$ K(e_i+e_j)=Ke_i+Ke_j\neq 0$\egroup für \bgroup\color{demo}$ i\neq j$\egroup. Das bedeutet aber, daß auch Doppelfehler noch sicher erkannt werden.

Somit gehen wir also folgendermaßen vor: Empfangen wir ein Wort \bgroup\color{demo}$ x$\egroup, dann bilden wir \bgroup\color{demo}$ Kx$\egroup. Ist das gleich Null, dann ist kein (erkennbarer) Übertragungsfehler aufgetreten, und \bgroup\color{demo}$ x$\egroup ist das richtige Codewort. Ist \bgroup\color{demo}$ Kx\neq 0$\egroup, dann ist sicher ein Übertragungsfehler aufgetreten. War das ein Einzelfehler (die wahrscheinlichste Möglichkeit) dann erhält man das ursprüngliche Codewort, indem man \bgroup\color{demo}$ Kx$\egroup als Binärzahl \bgroup\color{demo}$ j$\egroup interpretiert und dann die \bgroup\color{demo}$ j$\egroup-te Eintragung von \bgroup\color{demo}$ x$\egroup ändert (also \bgroup\color{demo}$ x+e_j$\egroup bildet).

Nun wollen wir noch eine konkrete Codierung angeben, also eine lineare Abbildung \bgroup\color{demo}$ \mathbb{Z}_2^4\to\operatorname{Ker}(\varphi )$\egroup, deren zugehörige Matrix die Generatormatrix \bgroup\color{demo}$ G$\egroup des Codes heißt. Die einfachste Möglichkeit wäre natürlich, an ein Wort \bgroup\color{demo}$ (x_1,\dots,x_4)$\egroup einfach drei geeignete Prüfbits \bgroup\color{demo}$ (x_5,x_6,x_7)$\egroup anzuhängen. Um das zu realisieren müßten die ersten 4 Zeilen der \bgroup\color{demo}$ 4\times 7$\egroup-Matrix \bgroup\color{demo}$ G$\egroup die \bgroup\color{demo}$ 4\times
4$\egroup-Einheitsmatrix \bgroup\color{demo}$ \Bbb I_4$\egroup bilden. Das stellt auch sicher, daß \bgroup\color{demo}$ G$\egroup einer injektiven linearen Abbildung entspricht, also genügt es zusätzlich sicher zu stellen, daß \bgroup\color{demo}$ KG=0$\egroup gilt, denn dann liefert \bgroup\color{demo}$ G$\egroup aus Dimensionsgründen einen linearen Isomorphismus \bgroup\color{demo}$ \Bbb
Z_2^4\to\operatorname{Ker}(\varphi )$\egroup. Nun verifiziert man leicht durch Lösen eines linearen Gleichungssystems, daß die beiden Bedingungen \bgroup\color{demo}$ G$\egroup eindeutig festlegen. Bestimmt man \bgroup\color{demo}$ G$\egroup explizit, dann sieht man, daß die Prüfbits gegeben sind durch \bgroup\color{demo}$ x_5=x_2+x_3+x_4$\egroup, \bgroup\color{demo}$ x_6=x_1+x_3+x_4$\egroup und \bgroup\color{demo}$ x_7=x_1+x_2+x_4$\egroup.


Beispiel.
Nehmen wir an, daß ursprüngliche Datenwort ist \bgroup\color{demo}$ (1,0,1,0)$\egroup. Nach der Vorschrift zum Bilden der Prüfbits wird das zu \bgroup\color{demo}$ x=(1,0,1,0,1,0,1)$\egroup kodiert. Wird dieses Codewort korrekt übertragen, dann erhält man \bgroup\color{demo}$ Kx=0$\egroup, und gewinnt das ursprüngliche Wort \bgroup\color{demo}$ (1,0,1,0)$\egroup als die ersten vier Stellen. Tritt etwa an der zweiten Stelle ein Fehler auf, dann empfangen wir statt \bgroup\color{demo}$ x$\egroup das Wort \bgroup\color{demo}$ x'=(1,1,1,0,1,0,1)$\egroup. Nachrechnen ergibt \bgroup\color{demo}$ Kx'=(0,1,0)$\egroup. Also sehen wir, daß ein Fehler aufgetreten ist, und zwar vermutlich an der zweiten Stelle. Also sollte das übertragene Wort \bgroup\color{demo}$ (1,0,1,0,1,0,1)$\egroup sein, dessen erste vier Stellen das richtige Datenwort \bgroup\color{demo}$ (1,0,1,0)$\egroup liefern. Nehmen wir nun an, daß zwei Übertragungsfehler auftreten, etwa an der zweiten und der letzten Stelle. Dann empfangen wir das Wort \bgroup\color{demo}$ x''=(1,1,1,0,1,0,0)$\egroup und \bgroup\color{demo}$ Kx''=(1,0,1)$\egroup. Wir stellen also (richtigerweise) fest, daß ein Übertragungsfehler aufgetreten ist, der wahrscheinlichste Übertragungsfehler wäre aber eine Änderung in der fünften Stelle (also einem Prüfbit), und wir würden (fälschlicherweise) vermuten, daß das ursprüngliche Wort \bgroup\color{demo}$ (1,1,1,0)$\egroup war.

Andreas Kriegl 2002-02-01