1############################################################################# 2## 3## orb package 4## search.gd 5## Juergen Mueller 6## Max Neunhoeffer 7## Felix Noeske 8## 9## Copyright 2005-2008 by the authors. 10## This file is free software, see license information at the end. 11## 12## Declaration stuff for searching in groups. 13## 14############################################################################# 15 16# Making lists of random vectors: 17DeclareGlobalFunction( "MakeRandomVectors" ); 18DeclareGlobalFunction( "MakeRandomLines" ); 19 20 21###################### 22# Product replacers: # 23###################### 24 25BindGlobal( "ProductReplacersFamily", NewFamily( "ProductReplacersFamily" ) ); 26DeclareCategory( "IsProductReplacer", IsComponentObjectRep); 27DeclareGlobalVariable( "ProductReplacersType" ); 28 29# The constructors: 30DeclareOperation( "ProductReplacer", [IsList, IsRecord] ); 31DeclareOperation( "ProductReplacer", [IsList] ); 32DeclareOperation( "ProductReplacer", [IsGroup, IsRecord] ); 33DeclareOperation( "ProductReplacer", [IsGroup] ); 34 35# Usage: 36DeclareOperation( "Next", [IsProductReplacer] ); 37DeclareOperation( "Reset", [IsProductReplacer] ); 38DeclareOperation( "AddGeneratorToProductReplacer", 39 [IsProductReplacer,IsObject] ); 40 41 42##################### 43# Random searchers: # 44##################### 45 46BindGlobal( "RandomSearchersFamily", NewFamily( "RandomSearchersFamily" ) ); 47DeclareCategory( "IsRandomSearcher", IsComponentObjectRep); 48DeclareGlobalVariable( "RandomSearchersType" ); 49 50# The constructors: 51DeclareOperation( "RandomSearcher", [IsList, IsFunction, IsRecord] ); 52DeclareOperation( "RandomSearcher", [IsList, IsFunction] ); 53 54# Usage: 55DeclareOperation( "Search", [IsRandomSearcher] ); 56DeclareOperation( "Reset", [IsRandomSearcher] ); 57 58 59################################################### 60# Involution centralisers and the dihedral trick: # 61################################################### 62 63DeclareGlobalFunction( "FindInvolution" ); 64DeclareGlobalFunction( "FindCentralisingElementOfInvolution" ); 65DeclareGlobalFunction( "FindInvolutionCentraliser" ); 66DeclareGlobalFunction( "ReduceNumberOfGeneratorsUsingRecog" ); 67 68DeclareGlobalFunction( "ClassMaker" ); 69 70 71########################### 72# Finding nice quotients: # 73########################### 74 75DeclareGlobalFunction( "OrbitStatisticOnVectorSpace" ); 76DeclareGlobalFunction( "OrbitStatisticOnVectorSpaceLines" ); 77 78 79############################################ 80# Finding short generators of a subgroup : # 81############################################ 82 83DeclareGlobalFunction( "ORB_PowerSet" ); 84DeclareGlobalFunction( "ORB_SLPLineFromWord" ); 85DeclareOperation( "FindShortGeneratorsOfSubgroup", 86 [ IsGroup, IsGroup, IsObject ] ); 87DeclareOperation( "FindShortGeneratorsOfSubgroup", [ IsGroup, IsGroup ] ); 88 89 90############################################################## 91# Helpers for permutation characters for certain operations: # 92############################################################## 93 94DeclareGlobalFunction( "NumberFixedVectors" ); 95DeclareGlobalFunction( "NumberFixedLines" ); 96DeclareGlobalFunction( "SpacesOfFixedLines" ); 97 98 99################################################## 100# Helpers for making short SLPs from word lists: # 101################################################## 102 103DeclareGlobalFunction( "SLPForWordList" ); 104 105 106############################################################################# 107# A generic way to find stabilizers: 108############################################################################# 109 110DeclareGlobalFunction( "ORB_EstimatePermGroupSize" ); 111DeclareGlobalFunction( "ORB_FindStabilizerMC" ); 112DeclareGlobalFunction( "ORB_FindNeedleMappers" ); 113 114############################################################################ 115# A method to find transversals in matrix groups: 116############################################################################ 117 118DeclareGlobalFunction( "FindWordsForRightTransversal" ); 119DeclareGlobalFunction( "FindWordsForLeftTransversal" ); 120 121############################################################################ 122# Find transforming matrices: 123############################################################################ 124 125DeclareGlobalFunction( "TransformingMatsLSE" ); 126DeclareGlobalFunction( "TransformingMats" ); 127 128## 129## This program is free software: you can redistribute it and/or modify 130## it under the terms of the GNU General Public License as published by 131## the Free Software Foundation, either version 3 of the License, or 132## (at your option) any later version. 133## 134## This program is distributed in the hope that it will be useful, 135## but WITHOUT ANY WARRANTY; without even the implied warranty of 136## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 137## GNU General Public License for more details. 138## 139## You should have received a copy of the GNU General Public License 140## along with this program. If not, see <http://www.gnu.org/licenses/>. 141## 142