1.5 Lineare Codes
Nachdem wir in den letzten drei Kapiteln einen Code
rein als Untermenge
gegeben ist. Wir werden nun die Menge
Wir können nun den Fall untersuchen, dass die Codierungsfunktion
Definition 1.5.1 (Linearer Code).
Ein linearer Code ist gegeben durch eine lineare Abbildung
Erinnern wir uns an einen ganz einfachen Parity-Check-Code
Dieser Code ist ein
Übungsaufgabe 1.5.1
Zeigen Sie: wenn
wobei
Generatormatrix in systematischer Form
Der obige Parity-Check-Code, also der
Sie werden das Urwort
Wenn Sie allerdings mit dem Gaussschen Eliminierungsverfahren vertraut sind,
wird es Sie nicht wundern, dass man die Generatormatrix immer so umformen
kann, dass das Urwort ein Präfix des Codewortes ist. Wir demonstrieren dies
am Beispiel der obigen Matrix. Konkret wollen wir erreichen, dass die obersten
vier Zeilen die Identitätsmatrix bilden. Die Gausssche Eliminierung lässt sich
über dem Körper
Bezeichnen wir die vier Spalten der obigen Matrix mit
Ich möchte nun
Behauptung. 1.5.2
Ich könnte natürlich sagen "das ist grundlegende lineare Algebra", aber vielleicht ist es nicht schlecht, es sich noch einmal ins Gedächtnis zu rufen, warum das so ist.
Beweis.
Als erstes zeigen wir
und somit ist
Obwohl wir so getan haben, am konkreten Beispiel von
Wir entfernen nun die 1 an der dritten Stelle der ersten Zeile, indem wir die erste Spalte auf zur dritten addieren.
Wir haben also die erste Zeile erfolgreich in
Jetzt haben wir an Position (2,2) eine 1 und können fortfahren. Aber halt:
ändert dieser Schritt, also das Vertauschen zweier Zeilen, unseren Code?
In der Tat ja, allerdings nicht wesentlich.
Definieren wir
also die Abbildung, die die zweite und die dritte Koordinate vertauscht,
und definieren wir für eine Menge
Wir erhalten als Bild
Indem wir die zweite Spalte auf die dritte addieren, haben wir die 1 un der zweiten Zeile an dritter Stelle eliminiert. Oberhalb davon, also in der ersten Zeile, geschieht nichts, weil diese Einträge ja bereits 0 geworden sind. Wir haben also die Sicherheit, dass getane Arbeit in den oberen Zeilen nicht wieder zerstört wird. Mit der dritten Zeile nun haben wir Glück: sie hat eine 1 an der dritten Stelle. Wir müssen also keine Koordinaten vertauschen. Wir eliminieren die 1 an Stelle 1 der dritten Zeile, indem wir die dritte Spalte auf die erste addieren:
Durch reines Glück ist die vierte Zeile bereits
- Spaltenaddition. Wir addieren eine Spalte zu einer
anderen. Dadurch ändert sich
nicht. -
Zeilen vertauschen. Wir vertauschen Zeile
mit Zeile . Dadurch ändert sich , es wird nämlich zu , aber alle interessanten kombinatorischen Eigenschaften (insbesondere Mindestabstand ) bleiben erhalten.
Im allgemeinen Fall werden wir nicht unbedingt über
-
Skalarmultiplikation. Wir ersetzen eine Spalte
durch für ein .
Für
Können wir steckenbleiben?
Wie allgemein ist obiges Verfahren? Kann man steckenbleiben?
Wir beschränken uns hier wieder auf den Fall
Im allgemeinen
haben wir bereits durch die Umformungsschritte erreicht, dass
Zeilen
Nun ist also die
Wir sehen: wir können nur steckenbleiben, wenn es keine Zeile
wobei sich
Wir können also jede Generatormatrix
Theorem 1.5.3
(Generatormatrix in systematischer Form). Sei
wobei
Insbesondere gilt
Fehlererkennung: die Parity-Check-Matrix
Wenn nun
,- if
return true else return false
Wenn
Die Matrix
Theorem 1.5.4 Sei
für alle
Wir erhalten die Parity-Check-Matrix, indem wir