<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Zassenhaus-Algorithmus</id>
	<title>Zassenhaus-Algorithmus - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Zassenhaus-Algorithmus"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Zassenhaus-Algorithmus&amp;action=history"/>
	<updated>2026-06-04T17:26:30Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Zassenhaus-Algorithmus&amp;diff=269473&amp;oldid=prev</id>
		<title>imported&gt;Nachtigaller II: /* growthexperiments-addlink-summary-summary:1|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Zassenhaus-Algorithmus&amp;diff=269473&amp;oldid=prev"/>
		<updated>2026-03-19T22:41:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:1|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Zassenhaus-Algorithmus&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;{{Literatur |Autor=Eugene M. Luks, Ferenc Rákóczi, Charles R. B. Wright |Titel=Some Algorithms for Nilpotent Permutation Groups |Datum=1996 |Seiten=15 |Online=[https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.44.4437 online] |Abruf=2012-09-15}}&amp;lt;/ref&amp;gt; ist ein [[Algorithmus]] zur Bestimmung von Schnitt- und Summenbasen von zwei [[Untervektorraum|Untervektorräumen]] in der [[Lineare Algebra|Linearen Algebra]]. Der Algorithmus ist nach dem [[Mathematiker]] [[Hans Julius Zassenhaus|Hans Zassenhaus]] benannt, eine fachwissenschaftliche Veröffentlichung des Algorithmus durch Zassenhaus ist jedoch nicht bekannt.&amp;lt;ref&amp;gt;Fischer, S. 210.&amp;lt;/ref&amp;gt; Er findet Verwendung in [[Computeralgebrasystem]]en.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.gap-system.org/Manuals/doc/ref/chap24.html |titel=GAP – Matrices |abruf=2012-09-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.math.rwth-aachen.de/~MTX/doc24/group__ff2.html |titel=MeatAxe – Other Kernel Functions |offline=1 |abruf=2012-09-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithmus ==&lt;br /&gt;
&lt;br /&gt;
=== Voraussetzungen ===&lt;br /&gt;
&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; ein [[Vektorraum]] und &amp;lt;math&amp;gt;U, W&amp;lt;/math&amp;gt; zwei endlichdimensionale Untervektorräume von &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, von denen jeweils ein [[Erzeugendensystem]] bekannt ist:&lt;br /&gt;
:&amp;lt;math&amp;gt;U = \langle u_1, \ldots, u_n\rangle&amp;lt;/math&amp;gt;&lt;br /&gt;
und&lt;br /&gt;
:&amp;lt;math&amp;gt;W = \langle w_1, \ldots, w_k\rangle&amp;lt;/math&amp;gt;.&lt;br /&gt;
Schließlich benötigt man noch linear unabhängige Vektoren &amp;lt;math&amp;gt;B_1, \ldots, B_m&amp;lt;/math&amp;gt;, in denen die Darstellung&lt;br /&gt;
:&amp;lt;math&amp;gt;u_i = \sum_{j=1}^m a_{i,j}B_j&amp;lt;/math&amp;gt;&lt;br /&gt;
und&lt;br /&gt;
:&amp;lt;math&amp;gt;w_i = \sum_{j=1}^m b_{i,j}B_j&amp;lt;/math&amp;gt;&lt;br /&gt;
bekannt ist.&lt;br /&gt;
&lt;br /&gt;
=== Ziel des Algorithmus ===&lt;br /&gt;
&lt;br /&gt;
Gesucht sind Basen der [[Untervektorraum#Summe|Summe]] &amp;lt;math&amp;gt;U + W&amp;lt;/math&amp;gt; und der [[Schnittmenge]] &amp;lt;math&amp;gt;U \cap W&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Algorithmus ===&lt;br /&gt;
&lt;br /&gt;
Man stelle die folgende &amp;lt;math&amp;gt;((n+k) \times (2m))&amp;lt;/math&amp;gt;-Matrix als [[Blockmatrix]]&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{pmatrix}&lt;br /&gt;
a_{1,1}&amp;amp;a_{1,2}&amp;amp;\cdots&amp;amp;a_{1,m}&amp;amp;a_{1,1}&amp;amp;a_{1,2}&amp;amp;\cdots&amp;amp;a_{1,m}\\&lt;br /&gt;
\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots&amp;amp;\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots\\&lt;br /&gt;
a_{n,1}&amp;amp;a_{n,2}&amp;amp;\cdots&amp;amp;a_{n,m}&amp;amp;a_{n,1}&amp;amp;a_{n,2}&amp;amp;\cdots&amp;amp;a_{n,m}\\&lt;br /&gt;
b_{1,1}&amp;amp;b_{1,2}&amp;amp;\cdots&amp;amp;b_{1,m}&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;0\\&lt;br /&gt;
\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots&amp;amp;\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots\\&lt;br /&gt;
b_{k,1}&amp;amp;b_{k,2}&amp;amp;\cdots&amp;amp;b_{k,m}&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;0\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
auf. Mithilfe der Zeilenumformungen führe man diese Matrix über in eine Matrix in Stufenform der folgenden Gestalt:&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{pmatrix}&lt;br /&gt;
c_{1,1}&amp;amp;c_{1,2}&amp;amp;\cdots&amp;amp;c_{1,m}&amp;amp;*&amp;amp;*&amp;amp;\cdots&amp;amp;*\\&lt;br /&gt;
\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots&amp;amp;\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots\\&lt;br /&gt;
c_{q,1}&amp;amp;c_{q,2}&amp;amp;\cdots&amp;amp;c_{q,m}&amp;amp;*&amp;amp;*&amp;amp;\cdots&amp;amp;*\\&lt;br /&gt;
0&amp;amp;0&amp;amp;\cdots&amp;amp;0&amp;amp;d_{1,1}&amp;amp;d_{1,2}&amp;amp;\cdots&amp;amp;d_{1,m}\\&lt;br /&gt;
\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots&amp;amp;\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots\\&lt;br /&gt;
0&amp;amp;0&amp;amp;\cdots&amp;amp;0&amp;amp;d_{l,1}&amp;amp;d_{l,2}&amp;amp;\cdots&amp;amp;d_{l,m}\\&lt;br /&gt;
0&amp;amp;0&amp;amp;\cdots&amp;amp;0&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;0\\&lt;br /&gt;
\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots&amp;amp;\vdots&amp;amp;\vdots&amp;amp;&amp;amp;\vdots\\&lt;br /&gt;
0&amp;amp;0&amp;amp;\cdots&amp;amp;0&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;0\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
Dabei seien die Vektoren&lt;br /&gt;
&amp;lt;math&amp;gt;(c_{p,1}, c_{p,2}, \ldots, c_{p,m})&amp;lt;/math&amp;gt; für &amp;lt;math&amp;gt;p \in \{1, \ldots, q\}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;(d_{p,1}, \ldots, d_{p,m})&amp;lt;/math&amp;gt; für &amp;lt;math&amp;gt;p\in \{1, \ldots, l\}&amp;lt;/math&amp;gt; nicht die Nullvektoren.&lt;br /&gt;
&lt;br /&gt;
Dann ist &amp;lt;math&amp;gt;(y_1, \ldots, y_q)&amp;lt;/math&amp;gt; mit&lt;br /&gt;
:&amp;lt;math&amp;gt;y_i := \sum_{j=1}^m c_{i,j}B_j&amp;lt;/math&amp;gt;&lt;br /&gt;
eine Basis von &amp;lt;math&amp;gt;U+W&amp;lt;/math&amp;gt;&lt;br /&gt;
und &amp;lt;math&amp;gt;(z_1, \ldots, z_l)&amp;lt;/math&amp;gt; mit&lt;br /&gt;
:&amp;lt;math&amp;gt;z_i := \sum_{j=1}^m d_{i,j}B_j&amp;lt;/math&amp;gt;&lt;br /&gt;
eine Basis von &amp;lt;math&amp;gt;U \cap W&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Korrektheit ===&lt;br /&gt;
&lt;br /&gt;
Die Korrektheit des Algorithmus basiert auf folgender Erkenntnis: Der Unterraum &amp;lt;math&amp;gt;H:=\{(u,u) | u\in U\}+\{(w,0) | w\in W\} \leq V\times V&amp;lt;/math&amp;gt; erfüllt &amp;lt;math&amp;gt;\pi_1(H) = U+W&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;H\cap(0\times V)=0\times(U\cap W)&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;\pi_1: V\times V\to V&amp;lt;/math&amp;gt; die Projektion auf die erste Komponente sei. Gleichzeitig ist &amp;lt;math&amp;gt;H\cap (0\times V)&amp;lt;/math&amp;gt; der Kern der auf &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; eingeschränkten Projektion. Insbesondere ist &amp;lt;math&amp;gt;\dim(H) = \dim(U+W)+\dim(U\cap W)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Der Zassenhaus-Algorithmus berechnet eine Basis von &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;. In den ersten &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; Spalten der Matrix wird dabei eine Basis &amp;lt;math&amp;gt;y_i&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt;U+W&amp;lt;/math&amp;gt; berechnet. Die Zeilen &amp;lt;math&amp;gt;(0,z_i)&amp;lt;/math&amp;gt; sind offenbar in &amp;lt;math&amp;gt;H\cap(0\times V)&amp;lt;/math&amp;gt; enthalten und wegen der Zeilenstufenform linear unabhängig. Alle von Null verschiedenen Zeilen zusammen, also &amp;lt;math&amp;gt;(y_i,\ast)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;(0,z_i)&amp;lt;/math&amp;gt; müssen aber eine Basis von &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; bilden, also stimmt die Anzahl der &amp;lt;math&amp;gt;z_i&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;\dim(U\cap W)&amp;lt;/math&amp;gt; überein, d.&amp;amp;nbsp;h., es wurde eine Basis von &amp;lt;math&amp;gt;U\cap W&amp;lt;/math&amp;gt; berechnet.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Gegeben seien die beiden Untervektorräume &amp;lt;math&amp;gt;U = \left\langle \begin{pmatrix} 1\\ -1 \\ 0 \\ 1 \end{pmatrix}, \begin{pmatrix} 0 \\ 0 \\ 1 \\ -1 \end{pmatrix} \right\rangle &amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;&lt;br /&gt;
W = \left\langle \begin{pmatrix} 5 \\ 0 \\ -3 \\ 3 \end{pmatrix}, \begin{pmatrix} 0 \\ 5 \\ -3 \\ -2 \end{pmatrix} \right\rangle&lt;br /&gt;
&amp;lt;/math&amp;gt; des &amp;lt;math&amp;gt;\mathbb{R}^4&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Indem man als &amp;lt;math&amp;gt;(B_1, B_2, B_3, B_4)&amp;lt;/math&amp;gt; die [[Einheitsbasis]] des &amp;lt;math&amp;gt;\mathbb{R}^4&amp;lt;/math&amp;gt; verwendet, muss man die folgende Matrix&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix} 1 &amp;amp; -1 &amp;amp;0&amp;amp;1 &amp;amp; &amp;amp; 1 &amp;amp; -1 &amp;amp;0&amp;amp;1 \\&lt;br /&gt;
0&amp;amp;0&amp;amp;1&amp;amp;-1&amp;amp; &amp;amp;0&amp;amp;0&amp;amp;1&amp;amp;-1 \\ \\&lt;br /&gt;
5&amp;amp;0&amp;amp;-3&amp;amp;3&amp;amp; &amp;amp;0&amp;amp;0&amp;amp;0&amp;amp;0 \\&lt;br /&gt;
0&amp;amp;5&amp;amp;-3&amp;amp;-2&amp;amp; &amp;amp;0&amp;amp;0&amp;amp;0&amp;amp;0 \end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
mittels elementarer Zeilenumformungen auf Stufenform bringen.&lt;br /&gt;
Dies liefert schließlich&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix} 1 &amp;amp; 0 &amp;amp;0&amp;amp;0&amp;amp; &amp;amp;*&amp;amp;*&amp;amp;*&amp;amp;* \\&lt;br /&gt;
0&amp;amp;1&amp;amp;0&amp;amp;-1&amp;amp; &amp;amp;*&amp;amp;*&amp;amp;*&amp;amp;*\\&lt;br /&gt;
0&amp;amp;0&amp;amp;1&amp;amp;-1&amp;amp; &amp;amp;*&amp;amp;*&amp;amp;*&amp;amp;*\\ \\&lt;br /&gt;
0&amp;amp;0&amp;amp;0&amp;amp;0&amp;amp; &amp;amp;1&amp;amp;-1&amp;amp;0&amp;amp;1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
Demnach ist&lt;br /&gt;
&amp;lt;math&amp;gt;\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)&amp;lt;/math&amp;gt; eine Basis von &amp;lt;math&amp;gt;U+W&amp;lt;/math&amp;gt;, und&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{pmatrix} 1\\-1\\0\\1\end{pmatrix}\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; ist eine Basis von &amp;lt;math&amp;gt;U \cap W&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur |Autor=[[Gerd Fischer (Mathematiker)|Gerd Fischer]] |Titel=Lernbuch Lineare Algebra und Analytische Geometrie |Verlag=[[Vieweg+Teubner]] |Ort=Wiesbaden |Datum=2012 |ISBN=978-3-8348-2378-6 |Seiten=207–210 |DOI=10.1007/978-3-8348-2379-3}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{Internetquelle |url=https://mo.mathematik.uni-stuttgart.de/inhalt/beispiel/beispiel1105/ |titel=Mathematik-Online-Lexikon: Zassenhaus-Algorithmus |abruf=2012-09-15}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmus]]&lt;br /&gt;
[[Kategorie:Lineare Algebra]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Nachtigaller II</name></author>
	</entry>
</feed>