Zassenhaus algorithm
{{Short description|Mathematic algorithm for basis}}
In mathematics, the Zassenhaus algorithm{{citation
| last1 = Luks | first1 = Eugene M. | author1-link = Eugene M. Luks
| last2 = Rákóczi | first2 = Ferenc
| last3 = Wright | first3 = Charles R. B.
| date = April 1997
| doi = 10.1006/jsco.1996.0092
| issue = 4
| journal = Journal of Symbolic Computation
| pages = 335–354
| title = Some algorithms for nilpotent permutation groups
| volume = 23| doi-access = free
}}.
is a method to calculate a basis for the intersection and sum of two subspaces of a vector space.
It is named after Hans Zassenhaus, but no publication of this algorithm by him is known.{{citation
| last = Fischer | first = Gerd
| doi = 10.1007/978-3-8348-2379-3
| isbn = 978-3-8348-2378-6
| language = de
| pages = 207–210
| publisher = Vieweg+Teubner
| title = Lernbuch Lineare Algebra und Analytische Geometrie
| year = 2012}} It is used in computer algebra systems.{{citation
| access-date = 2015-06-11
| author = The GAP Group
| contribution = 24 Matrices
| contribution-url = http://www.gap-system.org/Manuals/doc/ref/chap24.html
| date = February 13, 2015
| title = GAP Reference Manual, Release 4.7}}
Algorithm
= Input =
Let {{mvar|V}} be a vector space and {{mvar|U}}, {{mvar|W}} two finite-dimensional subspaces of {{mvar|V}} with the following spanning sets:
:
and
:
Finally, let be linearly independent vectors so that and can be written as
:
and
:
= Output =
The algorithm computes the base of the sum and a base of the intersection .
= Algorithm =
The algorithm creates the following block matrix of size :
:
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}
Using elementary row operations, this matrix is transformed to the row echelon form. Then, it has the following shape:
:
c_{1,1}&c_{1,2}&\cdots&c_{1,m}&\bullet&\bullet&\cdots&\bullet\\
\vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots\\
c_{q,1}&c_{q,2}&\cdots&c_{q,m}&\bullet&\bullet&\cdots&\bullet\\
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_{\ell,1}&d_{\ell,2}&\cdots&d_{\ell,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}
Here, stands for arbitrary numbers, and the vectors
for every and for every are nonzero.
Then with
:
is a basis of
and with
:
is a basis of .
= Proof of correctness =
First, we define to be the projection to the first component.
Let
Then and
.
Also, is the kernel of , the projection restricted to {{mvar|H}}.
Therefore, .
The Zassenhaus algorithm calculates a basis of {{mvar|H}}. In the first {{mvar|m}} columns of this matrix, there is a basis of .
The rows of the form (with ) are obviously in . Because the matrix is in row echelon form, they are also linearly independent.
All rows which are different from zero ( and ) are a basis of {{mvar|H}}, so there are such s. Therefore, the s form a basis of .
Example
Consider the two subspaces and
W = \left\langle \left( \begin{array}{r} 5 \\ 0 \\ -3 \\ 3 \end{array} \right), \left( \begin{array}{r} 0 \\ 5 \\ -3 \\ -2 \end{array} \right) \right\rangle
of the vector space .
Using the standard basis, we create the following matrix of dimension :
:
\left( \begin{array}{rrrrrrrr} 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{array} \right).
Using elementary row operations, we transform this matrix into the following matrix:
:
\left( \begin{array}{rrrrrrrrr} 1 & 0 & 0 & 0 & & \bullet & \bullet & \bullet & \bullet \\
0&1&0&-1& &\bullet&\bullet&\bullet&\bullet\\
0&0&1&-1& &\bullet&\bullet&\bullet&\bullet\\ \\
0&0&0&0& &1&-1&0&1 \end{array} \right)
(Some entries have been replaced by "" because they are irrelevant to the result.)
Therefore
is a basis of , and
is a basis of .
See also
References
{{reflist}}
External links
- {{cite web|url=http://mo.mathematik.uni-stuttgart.de/inhalt/beispiel/beispiel1105/|title=Mathematik-Online-Lexikon: Zassenhaus-Algorithmus|access-date=2012-09-15|language=de}}