Zassenhaus-Algorithmus

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 {\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.

Ziel des Algorithmus

Gesucht sind Basen der Summe U + W {\displaystyle U+W} und der Schnittmenge U W {\displaystyle U\cap W} .

Algorithmus

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} .

Korrektheit

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.

Beispiel

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} .

Literatur

  • Gerd Fischer: Lernbuch Lineare Algebra und Analytische Geometrie. Vieweg+Teubner, Wiesbaden 2012, ISBN 978-3-8348-2378-6, S. 207–210, doi:10.1007/978-3-8348-2379-3. 

Weblinks

  • Mathematik-Online-Lexikon: Zassenhaus-Algorithmus. Abgerufen am 15. September 2012. 

Einzelnachweise

  1. Eugene M. Luks, Ferenc Rákóczi, Charles R. B. Wright: Some Algorithms for Nilpotent Permutation Groups. 1996, S. 15 (online [abgerufen am 15. September 2012]). 
  2. Fischer, S. 210.
  3. GAP – Matrices. Abgerufen am 15. September 2012. 
  4. MeatAxe – Other Kernel Functions. Ehemals im Original (nicht mehr online verfügbar); abgerufen am 15. September 2012.@1@2Vorlage:Toter Link/www.math.rwth-aachen.de (Seite nicht mehr abrufbar. Suche in Webarchiven)