-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSchreierSims.xml
110 lines (74 loc) · 5.51 KB
/
SchreierSims.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Sifting
Arguments= A record containing the partial stabilizer chain of the group, an element.
Returns= A list of stabilisers or fail.
Given a record C containing the partial stabiliser chain of a group and an element g Sifting returns a list of coset representatives of the stabilisers if g is in the group described in C. If g is not contained in the group Sifitng returns fail.
This function is used within SchreierSims and is not user-facing.
ValidateStabChain
Arguments= A record, a group.
Returns= true or an error
Given a record containing a stabiliser chain and and a group ValidateStabChain will return an several errors corresponding to problems within the stabiliser chain. If the chain is correct, it returns true.
This function can be used to check records or to debug SchreierSims and it is not user-facing.
SSOrbit
Arguments = A record containing the partial stabilizer chain of the group, an element.
Returns= A list of Schreier generators.
Given a record containing a partial stabiliser chain and an element a, SSOrbit extends the chain within the record and returns a list of Schreier generators corresponding to a.
This function is used within SchreierSims and Extend and it is not-user facing.
Extend
Arguments= A record containing the stabilizer chain of the group, an element.
This function recursively extends the partial stabiliser chain in the given record but does not return any values.
This function is used within Schreier Sims and is not user-facing.
SchreierSims
Arguments= A generating set or group.
Returns= A record containing the stabilizer chain of the group.
Given a generating set of a group or a group SchreierSims returns a record containing the stabilizer chain of that group. This chain is in the form of nested records that contain the generators of each subgroup, the transversal, and the stabilizers.
MyDepth
Arguments= A record containing the stabilizer chain of the group.
Returns= An integer corresponding to the depth of the stabiliser chain.
Given a record containing a partial stabiliser chain MyDepth returns an integer corresponding to the depth of the partial stabiliser chain given in the record.
This function can be used to check and debug SchreierSims.
SSOrder
Arguments= A record containing the stabilizer chain of the group.
Returns= An integer corresponding to the order of the group.
Given a record produced by SchreierSims containing the stabiliser chain of a group, SSOrder returns the order of that group.
NextRandom
Arguments= A generating set for a group, an element.
Returns= A random element from the group generated by the set.
Next random takes a generating set g and an element and returns a random element from the group generated by g. This element is chosed with uniform distribution.
This function is not user-facing and is used in RandomSchreierSims.
SetupProductReplacement
Arguments= A group G.
Returns= A list containing a random generating set for G.
The function SetupProductReplacement takes a group G and returns a random generating set for G.
This function is used within RandomSchreierSims and is not user-facing.
CheckRandom
Arguments= A group.
Returns= A list that indicates distribution of elements.
The function RandCheck takes a group and returns a list that indicates the distribution of elements returned by NextRandom and SetupProductReplacement.
This function is used to check NextRandom and SetupProductReplacement and is not user-facing.
RandSifting
Arguments= A record containing the partial stabilizer chain of the group, an element.
Returns= A record.
Given a record C containing the partial stabiliser chain of a group and an element g Sifting returns a record containing the original element, current level of the stabiliser chain, and a variable that describes whether or not a point has sifted through.
This function is used within RandomSchreierSims and is not user-facing.
RandSSOrbit
Arguments = A record containing the partial stabilizer chain of the group, an element.
Returns= A list of Schreier generators.
Given a record containing a partial stabiliser chain and an element a, SSOrbit extends the chain within the record and returns a list of Schreier generators corresponding to a.
This function is used within RandomSchreierSims and RandomExtend and it is not-user facing.
NewBasePoint
Arguments= A record containing a partial stabiliser chain, an element, a list of Base points.
The function NewBasePoint takes a record containing a partial stabiliser chain and adds a new layer to the chain corresponding with the element given. The function also adds to the list of base points.
This function is not user-facing and is use in RandomSchreierSims.
RandomExtend
Arguments= A record containing the stabilizer chain of the group, an element, an a true or false boolean value.
This function recursively extends the partial stabiliser chain in the given record but does not return any values.
This function is used within RandomSchreierSims and is not user-facing.
RandomSchreierSims
Arguments= A generating set or group.
Returns= A record containing the stabilizer chain of the group.
Given a generating set of a group or a group RandomSchreierSims returns a record containing the stabilizer chain of that group. This chain is in the form of nested records that contain the generators of each subgroup, the transversal, and the stabilizers.
SSLength: See MyDepth
Check
Arguments= A list of generators for a group.
Returns= true or false.
The function Check tests the output of randomised and deterministic verions of Schreier Sims run 10000 times and returns true if they agree.