OrderBound takes values in ZZ and its default value is 100. If the order of the group to be generated exceeds the value of OrderBound, then generateGroup will terminate with an error message. This is to avoid trying to process a never-ending loop.
The example below computes the dihedral group of order 6 from the two matrices in L. K is the field obtained by by adjoining a primitive third root of unity to QQ. OrderBound is set to 10, so in this case evaluation of generateGroup is successful.
i1 : K=toField(QQ[w]/(w^2+w+1)); |
i2 : L={matrix{{0,1},{1,0}},matrix{{w,0},{0,w^2}}} o2 = {| 0 1 |, | w 0 |} | 1 0 | | 0 -w-1 | o2 : List |
i3 : generateGroup(L,K,OrderBound=>10) o3 = {| -w-1 0 |, | 0 w |, | 0 -w-1 |, | w 0 |, | 1 0 |, | 0 1 |} | 0 w | | -w-1 0 | | w 0 | | 0 -w-1 | | 0 1 | | 1 0 | o3 : List |
If OrderBound is set to an integer less than the order of the group instead, this will cause an error to occur in the evaluation of generateGroup.