|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| In [[mathematics]], especially the field of [[computational group theory]], a '''Schreier vector''' is a tool for reducing the time and space complexity required to calculate [[orbit (group theory)|orbits]] of a [[permutation group]].
| | I am Oscar and I totally dig that name. She is a librarian but she's usually needed her own business. Years in the past we moved to Puerto Rico and my family loves it. To play baseball is the pastime he will never quit doing.<br><br>my web site [http://kard.dk/?p=17207 kard.dk] |
| | |
| ==Overview==
| |
| | |
| Suppose G is a finite [[Group (mathematics)|group]] with generating sequence <math>X = \{x_1,x_2,...,x_r\}</math> which [[Group action|acts]] on the finite set <math>\Omega = \{1,2,...,n\}</math>. A common task in computational group theory is to compute the [[Orbit (group theory)|orbit]] of some element <math>\omega \in \Omega</math> under G. At the same time, one can record a Schreier vector for <math>\omega</math>. This vector can then be used to find an element <math>g \in G</math> satisfying <math>\omega^g = \alpha</math>, for any <math>\alpha \in \omega^G</math>. Use of Schreier vectors to perform this requires less storage space and time complexity than storing these g explicitly.
| |
| | |
| ==Formal definition==
| |
| | |
| All variables used here are defined in the overview.
| |
| | |
| A Schreier vector for <math>\omega \in \Omega</math> is a vector <math>\mathbf{v} = (v[1],v[2],...,v[n])</math> such that:
| |
| | |
| # <math>v[\omega] = -1</math>
| |
| # For <math>\alpha \in \omega^G \setminus \{ {\omega} \} , v[\alpha] \in \{1,...,r\}</math> (the manner in which the <math>v[\alpha]</math> are chosen will be made clear in the next section)
| |
| # <math>v[\alpha] = 0</math> for <math>\alpha \notin \omega^G</math>
| |
| | |
| ==Use in algorithms==
| |
| | |
| Here we illustrate, using [[pseudocode]], the use of Schreier vectors in two algorithms
| |
| | |
| * Algorithm to compute the orbit of ''ω'' under ''G'' and the corresponding Schreier vector
| |
| | |
| :Input: ''ω'' in ''Ω'', <math>X = \{x_1,x_2,...,x_r\}</math>
| |
| | |
| :for ''i'' in { 0, 1, …, ''n'' }:
| |
| ::set ''v''[''i''] = 0
| |
| | |
| :set ''orbit'' = { ''ω'' }, ''v''[''ω''] = −1
| |
| | |
| :for ''α'' in ''orbit'' and ''i'' in { 1, 2, …, ''r'' }:
| |
| ::if <math>\alpha^{x_i}</math> is not in ''orbit'':
| |
| :::append <math>\alpha^{x_i}</math> to ''orbit''
| |
| :::set <math>v[\alpha^{x_i}] = i</math>
| |
| | |
| :return ''orbit'', ''v'' | |
| | |
| * Algorithm to find a ''g'' in ''G'' such that ''ω''<sup>''g''</sup> = ''α'' for some ''α'' in ''Ω'', using the ''v'' from the first algorithm
| |
| | |
| :Input: ''v'', ''α'', ''X''
| |
| | |
| :if ''v''[''α''] = 0:
| |
| ::return false
| |
| | |
| :set ''g'' = ''e'', and ''k'' = ''v''[''α''] (where ''e'' is the identity element of ''G'')
| |
| | |
| :while ''k'' ≠ −1:
| |
| ::set <math>g = {x_k}g, \alpha = \alpha^{x_k^{-1}}, k = v[\alpha]</math>
| |
| | |
| :return ''g''
| |
| | |
| ==References==
| |
| {{refimprove|date=February 2008}}
| |
| *{{Citation | last1=Butler | first1=G. | title=Fundamental algorithms for permutation groups | publisher=[[Springer-Verlag]] | location=Berlin, New York | series=Lecture Notes in Computer Science | isbn=978-3-540-54955-0 | id={{MathSciNet | id = 1225579}} | year=1991 | volume=559}}
| |
| *{{Citation | last1=Holt | first1=Derek F. | title=A Handbook of Computational Group Theory | publisher=[[CRC Press]] | location=London | isbn=978-1-58488-372-2 | year=2005}}
| |
| *{{Citation | last1=Seress | first1=Ákos | title=Permutation group algorithms | publisher=[[Cambridge University Press]] | series=Cambridge Tracts in Mathematics | isbn=978-0-521-66103-4 | id={{MathSciNet | id = 1970241}} | year=2003 | volume=152}}
| |
| | |
| | |
| | |
| [[Category:Computational group theory]]
| |
| [[Category:Permutation groups]]
| |
I am Oscar and I totally dig that name. She is a librarian but she's usually needed her own business. Years in the past we moved to Puerto Rico and my family loves it. To play baseball is the pastime he will never quit doing.
my web site kard.dk