Zassenhaus-Algorithmus

Aus testwiki
Version vom 27. März 2022, 23:35 Uhr von imported>Phzh (Form, typo)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der Zassenhaus-Algorithmus[1] ist ein Algorithmus zur Bestimmung von Schnitt- und Summenbasen von zwei Untervektorräumen in der Linearen Algebra. Der Algorithmus ist nach dem Mathematiker Hans Zassenhaus benannt, eine fachwissenschaftliche Veröffentlichung des Algorithmus durch Zassenhaus ist jedoch nicht bekannt.[2] Er findet Verwendung in Computeralgebrasystemen.[3][4]

Algorithmus

Voraussetzungen

Es sei V ein Vektorraum und U,W zwei endlichdimensionale Untervektorräume von V, von denen jeweils ein Erzeugendensystem bekannt ist:

U=u1,,un

und

W=w1,,wk.

Schließlich benötigt man noch linear unabhängige Vektoren B1,,Bm, in denen die Darstellung

ui=j=1mai,jBj

und

wi=j=1mbi,jBj

bekannt ist.

Ziel des Algorithmus

Gesucht sind Basen der Summe U+W und der Schnittmenge UW.

Algorithmus

Man stelle die folgende ((n+k)×(2m))-Matrix als Blockmatrix

(a1,1a1,2a1,ma1,1a1,2a1,man,1an,2an,man,1an,2an,mb1,1b1,2b1,m000bk,1bk,2bk,m000)

auf. Mithilfe der Zeilenumformungen führe man diese Matrix über in eine Matrix in Stufenform der folgenden Gestalt:

(c1,1c1,2c1,m***cq,1cq,2cq,m***000d1,1d1,2d1,m000dl,1dl,2dl,m000000000000)

Dabei seien die Vektoren (cp,1,cp,2,,cp,m) für p{1,,q} und (dp,1,,dp,m) für p{1,,l} nicht die Nullvektoren.

Dann ist (y1,,yq) mit

yi:=j=1mci,jBj

eine Basis von U+W und (z1,,zl) mit

zi:=j=1mdi,jBj

eine Basis von UW.

Korrektheit

Die Korrektheit des Algorithmus basiert auf folgender Erkenntnis: Der Unterraum H:={(u,u)|uU}+{(w,0)|wW}V×V erfüllt π1(H)=U+W und H(0×V)=0×(UW), wobei π1:V×VV die Projektion auf die erste Komponente sei. Gleichzeitig ist H(0×V) der Kern der auf H eingeschränkten Projektion. Insbesondere ist dim(H)=dim(U+W)+dim(UW).

Der Zassenhaus-Algorithmus berechnet eine Basis von H. In den ersten m Spalten der Matrix wird dabei eine Basis yi von U+W berechnet. Die Zeilen (0,zi) sind offenbar in H(0×V) enthalten und wegen der Zeilenstufenform linear unabhängig. Alle von Null verschiedenen Zeilen zusammen, also (yi,) und (0,zi) müssen aber eine Basis von H bilden, also stimmt die Anzahl der zi mit dim(UW) überein, d. h., es wurde eine Basis von UW berechnet.

Beispiel

Gegeben seien die beiden Untervektorräume U=(1101),(0011) und W=(5033),(0532) des 4.

Indem man als (B1,B2,B3,B4) die Einheitsbasis des 4 verwendet, muss man die folgende Matrix

(11011101001100115033000005320000)

mittels elementarer Zeilenumformungen auf Stufenform bringen. Dies liefert schließlich

(1000****0101****0011****00001101).

Demnach ist ((1000),(0101),(0011)) eine Basis von U+W, und ((1101)) ist eine Basis von UW.

Literatur

Einzelnachweise