Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Bib Ind
Top of Book Next Chapter

# GAP 4 Package orb

## orb --- Methods to enumerate Orbits

Version 3.0

July 2009

Jürgen Müller
Email: juergen.mueller@math.rwth-aachen.de
Homepage: http://www.math.rwth-aachen.de/~Juergen.Mueller
Address:
Lehrstuhl D für Mathematik, RWTH Aachen, Templergraben 64, 52062 Aachen, Germany

Max Neunhöffer
Email: neunhoef@mcs.st-and.ac.uk
Homepage: http://www-groups.mcs.st-and.ac.uk/~neunhoef
Address:
School of Mathematics and Statistics Mathematical Institute University of St Andrews North Haugh St Andrews, Fife KY16 9SS Scotland, UK

Felix Noeske
Email: felix.noeske@math.rwth-aachen.de
Homepage: http://www.math.rwth-aachen.de/~Felix.Noeske
Address:
Lehrstuhl D für Mathematik, RWTH Aachen, Templergraben 64, 52062 Aachen, Germany

### Copyright

© 2005-2009 by Jürgen Müller, Max Neunhöffer and Felix Noeske

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

### Contents

1 Introduction
1.1 Motivation for this package
1.2 Overview over this manual
2 Installation of the orb-Package
2.1 Static linking
2.2 Recompiling the documentation
3 Basic orbit enumeration
3.1 Enumerating orbits
3.1-1 Orb
3.1-2 Enumerate
3.1-3 IsClosed
3.1-4 Options for orbits
3.1-5 Output components of orbits
3.1-6 StabWords
3.1-7 PositionOfFound
3.1-8 DepthOfSchreierTree
3.1-9 ActionOnOrbit
3.1-10 OrbActionHomomorphism
3.1-11 TraceSchreierTreeForward
3.1-12 TraceSchreierTreeBack
3.1-13 ActWithWord
3.1-14 EvaluateWord
3.1-15 AddGeneratorsToOrbit
3.1-16 MakeSchreierTreeShallow
3.1-17 FindSuborbits
3.1-18 OrbitIntersectionMatrix
3.1-19 ORB_EstimateOrbitSize
4 Hashing techniques
4.1 The idea of hashing
4.2 Hash functions
4.2-1 ChooseHashFunction
4.2-2 ChooseHashFunction
4.2-3 ChooseHashFunction
4.2-4 ChooseHashFunction
4.2-5 ChooseHashFunction
4.2-6 ChooseHashFunction
4.2-7 ChooseHashFunction
4.2-8 ChooseHashFunction
4.2-9 ChooseHashFunction
4.2-10 ChooseHashFunction
4.2-11 ChooseHashFunction
4.3 Using hash tables
4.3-1 HTCreate
4.3-2 HTAdd
4.3-3 HTValue
4.3-4 HTUpdate
4.3-5 HTDelete
4.3-6 HTGrow
4.4 Using hash tables (legacy code)
4.4-1 NewHT
4.4-2 AddHT
4.4-3 ValueHT
4.4-4 InitHT
4.4-5 GrowHT
4.5 The data structures for hash tables
4.5-1 Memory requirements
4.5-2 Handling of collisions
4.5-3 Efficiency
5 Caching techniques
5.1 The idea of caching
5.2 Using caches
5.2-1 LinkedListCache
5.2-2 CacheObject
5.2-3 ClearCache
5.2-4 UseCacheObject
6 Random elements
6.1 Randomizing mutable objects
6.1-1 Randomize
6.1-2 MakeRandomVectors
6.1-3 MakeRandomLines
6.2 Product replacement
6.2-1 ProductReplacer
6.2-2 Next
6.2-3 Reset
7 Searching in groups and orbits
7.1 Searching using orbit enumeration
7.2 Random searches in groups
7.2-1 RandomSearcher
7.2-2 Search
7.3 The dihedral trick and applications
7.3-1 FindInvolution
7.3-2 FindCentralisingElementOfInvolution
7.3-3 FindInvolutionCentralizer
7.4 Orbit statistics on vector spaces
7.4-1 OrbitStatisticOnVectorSpace
7.4-2 OrbitStatisticOnVectorSpaceLines
7.5 Finding generating sets of subgroups
7.5-1 FindShortGeneratorsOfSubgroup
8 AVL trees
8.1 The idea of AVL trees
8.2 Using AVL trees
8.2-1 AVLTree
8.2-2 AVLCmp
8.2-3 AVLAdd
8.2-4 AVLLookup
8.2-5 AVLDelete
8.2-6 AVLFindIndex
8.2-7 AVLIndex
8.2-8 AVLIndexLookup
8.2-9 AVLIndexAdd
8.2-10 AVLIndexDelete
8.2-11 AVLFind
8.2-12 AVLData
8.2-13 AVLValue
8.2-14 Display
8.2-15 ELM_LIST
8.2-16 Position
8.2-17 Add
8.2-18 Remove
8.2-19 Length
8.2-20 \in
8.3 The internal data structures
9 Orbit enumeration by suborbits
9.1 `OrbitBySuborbits` and its resulting objects
9.1-1 OrbitBySuborbit
9.1-2 OrbitBySuborbitKnownSize
9.1-3 Size
9.1-4 Seed
9.1-5 SuborbitsDb
9.1-6 WordsToSuborbits
9.1-7 Memory
9.1-8 Stabilizer
9.1-9 StabWords
9.1-10 SavingFactor
9.1-11 TotalLength
9.1-12 Representatives
9.1-13 SavingFactor
9.1-14 OrigSeed
9.2 Preparation functions for `OrbitBySuborbit` (9.1-1)
9.2-1 OrbitBySuborbitBootstrapForVectors
9.2-2 OrbitBySuborbitBootstrapForLines
9.2-3 OrbitBySuborbitBootstrapForSpaces
9.3 Data structures for orbit-by-suborbits
9.3-1 IsOrbitBySuborbitSetup
9.3-2 The global record `ORB`
9.4 Lists of orbit-by-suborbit objects
9.4-1 InitOrbitBySuborbitList
9.4-2 IsVectorInOrbitBySuborbitList
9.4-3 OrbitsFromSeedsToOrbitList
9.4-4 VerifyDisjointness
9.4-5 Memory
9.4-6 TotalLength
9.4-7 Size
9.4-8 SavingFactor
10 Finding nice quotients
11 Examples
11.1 The Mathieu group M_{11} acting in dimension 24
11.2 The Fischer group Fi_{23} acting in dimension 1494
11.3 The Conway group Co_1 acting in dimension 24
11.4 The Baby Monster B acting on its 2A involutions
Top of Book Next Chapter
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Bib Ind

generated by GAPDoc2HTML