Es sei
V
{\displaystyle V}
ein Vektorraum und
U
,
W
{\displaystyle U,W}
zwei endlichdimensionale Untervektorräume von
V
{\displaystyle V}
, von denen jeweils ein Erzeugendensystem bekannt ist:
U
=
⟨
u
1
,
…
,
u
n
⟩
{\displaystyle U=\langle u_{1},\ldots ,u_{n}\rangle }
und
W
=
⟨
w
1
,
…
,
w
k
⟩
{\displaystyle W=\langle w_{1},\ldots ,w_{k}\rangle }
.
Schließlich benötigt man noch linear unabhängige Vektoren
B
1
,
…
,
B
m
{\displaystyle B_{1},\ldots ,B_{m}}
, in denen die Darstellung
u
i
=
∑
j
=
1
m
a
i
,
j
B
j
{\displaystyle u_{i}=\sum _{j=1}^{m}a_{i,j}B_{j}}
und
w
i
=
∑
j
=
1
m
b
i
,
j
B
j
{\displaystyle w_{i}=\sum _{j=1}^{m}b_{i,j}B_{j}}
bekannt ist.
Gesucht sind Basen der Summe
U
+
W
{\displaystyle U+W}
und der Schnittmenge
U
∩
W
{\displaystyle U\cap W}
.
Man stelle die folgende
(
(
n
+
k
)
×
(
2
m
)
)
{\displaystyle ((n+k)\times (2m))}
-Matrix als Blockmatrix
(
a
1
,
1
a
1
,
2
⋯
a
1
,
m
a
1
,
1
a
1
,
2
⋯
a
1
,
m
⋮
⋮
⋮
⋮
⋮
⋮
a
n
,
1
a
n
,
2
⋯
a
n
,
m
a
n
,
1
a
n
,
2
⋯
a
n
,
m
b
1
,
1
b
1
,
2
⋯
b
1
,
m
0
0
⋯
0
⋮
⋮
⋮
⋮
⋮
⋮
b
k
,
1
b
k
,
2
⋯
b
k
,
m
0
0
⋯
0
)
{\displaystyle {\begin{pmatrix}a_{1,1}&a_{1,2}&\cdots &a_{1,m}&a_{1,1}&a_{1,2}&\cdots &a_{1,m}\\\vdots &\vdots &&\vdots &\vdots &\vdots &&\vdots \\a_{n,1}&a_{n,2}&\cdots &a_{n,m}&a_{n,1}&a_{n,2}&\cdots &a_{n,m}\\b_{1,1}&b_{1,2}&\cdots &b_{1,m}&0&0&\cdots &0\\\vdots &\vdots &&\vdots &\vdots &\vdots &&\vdots \\b_{k,1}&b_{k,2}&\cdots &b_{k,m}&0&0&\cdots &0\\\end{pmatrix}}}
auf. Mithilfe der Zeilenumformungen führe man diese Matrix über in eine Matrix in Stufenform der folgenden Gestalt:
(
c
1
,
1
c
1
,
2
⋯
c
1
,
m
∗
∗
⋯
∗
⋮
⋮
⋮
⋮
⋮
⋮
c
q
,
1
c
q
,
2
⋯
c
q
,
m
∗
∗
⋯
∗
0
0
⋯
0
d
1
,
1
d
1
,
2
⋯
d
1
,
m
⋮
⋮
⋮
⋮
⋮
⋮
0
0
⋯
0
d
l
,
1
d
l
,
2
⋯
d
l
,
m
0
0
⋯
0
0
0
⋯
0
⋮
⋮
⋮
⋮
⋮
⋮
0
0
⋯
0
0
0
⋯
0
)
{\displaystyle {\begin{pmatrix}c_{1,1}&c_{1,2}&\cdots &c_{1,m}&*&*&\cdots &*\\\vdots &\vdots &&\vdots &\vdots &\vdots &&\vdots \\c_{q,1}&c_{q,2}&\cdots &c_{q,m}&*&*&\cdots &*\\0&0&\cdots &0&d_{1,1}&d_{1,2}&\cdots &d_{1,m}\\\vdots &\vdots &&\vdots &\vdots &\vdots &&\vdots \\0&0&\cdots &0&d_{l,1}&d_{l,2}&\cdots &d_{l,m}\\0&0&\cdots &0&0&0&\cdots &0\\\vdots &\vdots &&\vdots &\vdots &\vdots &&\vdots \\0&0&\cdots &0&0&0&\cdots &0\\\end{pmatrix}}}
Dabei seien die Vektoren
(
c
p
,
1
,
c
p
,
2
,
…
,
c
p
,
m
)
{\displaystyle (c_{p,1},c_{p,2},\ldots ,c_{p,m})}
für
p
∈
{
1
,
…
,
q
}
{\displaystyle p\in \{1,\ldots ,q\}}
und
(
d
p
,
1
,
…
,
d
p
,
m
)
{\displaystyle (d_{p,1},\ldots ,d_{p,m})}
für
p
∈
{
1
,
…
,
l
}
{\displaystyle p\in \{1,\ldots ,l\}}
nicht die Nullvektoren.
Dann ist
(
y
1
,
…
,
y
q
)
{\displaystyle (y_{1},\ldots ,y_{q})}
mit
y
i
:=
∑
j
=
1
m
c
i
,
j
B
j
{\displaystyle y_{i}:=\sum _{j=1}^{m}c_{i,j}B_{j}}
eine Basis von
U
+
W
{\displaystyle U+W}
und
(
z
1
,
…
,
z
l
)
{\displaystyle (z_{1},\ldots ,z_{l})}
mit
z
i
:=
∑
j
=
1
m
d
i
,
j
B
j
{\displaystyle z_{i}:=\sum _{j=1}^{m}d_{i,j}B_{j}}
eine Basis von
U
∩
W
{\displaystyle U\cap W}
.
Die Korrektheit des Algorithmus basiert auf folgender Erkenntnis: Der Unterraum
H
:=
{
(
u
,
u
)
|
u
∈
U
}
+
{
(
w
,
0
)
|
w
∈
W
}
≤
V
×
V
{\displaystyle H:=\{(u,u)|u\in U\}+\{(w,0)|w\in W\}\leq V\times V}
erfüllt
π
1
(
H
)
=
U
+
W
{\displaystyle \pi _{1}(H)=U+W}
und
H
∩
(
0
×
V
)
=
0
×
(
U
∩
W
)
{\displaystyle H\cap (0\times V)=0\times (U\cap W)}
, wobei
π
1
:
V
×
V
→
V
{\displaystyle \pi _{1}:V\times V\to V}
die Projektion auf die erste Komponente sei. Gleichzeitig ist
H
∩
(
0
×
V
)
{\displaystyle H\cap (0\times V)}
der Kern der auf
H
{\displaystyle H}
eingeschränkten Projektion. Insbesondere ist
dim
(
H
)
=
dim
(
U
+
W
)
+
dim
(
U
∩
W
)
{\displaystyle \dim(H)=\dim(U+W)+\dim(U\cap W)}
.
Der Zassenhaus-Algorithmus berechnet eine Basis von
H
{\displaystyle H}
. In den ersten
m
{\displaystyle m}
Spalten der Matrix wird dabei eine Basis
y
i
{\displaystyle y_{i}}
von
U
+
W
{\displaystyle U+W}
berechnet. Die Zeilen
(
0
,
z
i
)
{\displaystyle (0,z_{i})}
sind offenbar in
H
∩
(
0
×
V
)
{\displaystyle H\cap (0\times V)}
enthalten und wegen der Zeilenstufenform linear unabhängig. Alle von Null verschiedenen Zeilen zusammen, also
(
y
i
,
∗
)
{\displaystyle (y_{i},\ast )}
und
(
0
,
z
i
)
{\displaystyle (0,z_{i})}
müssen aber eine Basis von
H
{\displaystyle H}
bilden, also stimmt die Anzahl der
z
i
{\displaystyle z_{i}}
mit
dim
(
U
∩
W
)
{\displaystyle \dim(U\cap W)}
überein, d. h., es wurde eine Basis von
U
∩
W
{\displaystyle U\cap W}
berechnet.
Gegeben seien die beiden Untervektorräume
U
=
⟨
(
1
−
1
0
1
)
,
(
0
0
1
−
1
)
⟩
{\displaystyle U=\left\langle {\begin{pmatrix}1\\-1\\0\\1\end{pmatrix}},{\begin{pmatrix}0\\0\\1\\-1\end{pmatrix}}\right\rangle }
und
W
=
⟨
(
5
0
−
3
3
)
,
(
0
5
−
3
−
2
)
⟩
{\displaystyle W=\left\langle {\begin{pmatrix}5\\0\\-3\\3\end{pmatrix}},{\begin{pmatrix}0\\5\\-3\\-2\end{pmatrix}}\right\rangle }
des
R
4
{\displaystyle \mathbb {R} ^{4}}
.
Indem man als
(
B
1
,
B
2
,
B
3
,
B
4
)
{\displaystyle (B_{1},B_{2},B_{3},B_{4})}
die Einheitsbasis des
R
4
{\displaystyle \mathbb {R} ^{4}}
verwendet, muss man die folgende Matrix
(
1
−
1
0
1
1
−
1
0
1
0
0
1
−
1
0
0
1
−
1
5
0
−
3
3
0
0
0
0
0
5
−
3
−
2
0
0
0
0
)
{\displaystyle {\begin{pmatrix}1&-1&0&1&&1&-1&0&1\\0&0&1&-1&&0&0&1&-1\\\\5&0&-3&3&&0&0&0&0\\0&5&-3&-2&&0&0&0&0\end{pmatrix}}}
mittels elementarer Zeilenumformungen auf Stufenform bringen.
Dies liefert schließlich
(
1
0
0
0
∗
∗
∗
∗
0
1
0
−
1
∗
∗
∗
∗
0
0
1
−
1
∗
∗
∗
∗
0
0
0
0
1
−
1
0
1
)
{\displaystyle {\begin{pmatrix}1&0&0&0&&*&*&*&*\\0&1&0&-1&&*&*&*&*\\0&0&1&-1&&*&*&*&*\\\\0&0&0&0&&1&-1&0&1\end{pmatrix}}}
.
Demnach ist
(
(
1
0
0
0
)
,
(
0
1
0
−
1
)
,
(
0
0
1
−
1
)
)
{\displaystyle \left({\begin{pmatrix}1\\0\\0\\0\end{pmatrix}},{\begin{pmatrix}0\\1\\0\\-1\end{pmatrix}},{\begin{pmatrix}0\\0\\1\\-1\end{pmatrix}}\right)}
eine Basis von
U
+
W
{\displaystyle U+W}
, und
(
(
1
−
1
0
1
)
)
{\displaystyle \left({\begin{pmatrix}1\\-1\\0\\1\end{pmatrix}}\right)}
ist eine Basis von
U
∩
W
{\displaystyle U\cap W}
.