[GAP Forum] coset enumeration

Alexander Hulpke hulpke at math.colostate.edu
Mon Jul 23 18:19:06 BST 2007


Dear Forum, Dear Kristin Farwell,

> without having to stand over my computer.  Is there
> any way I can make the
> coset enumerator return 'fail' then continue with the
> next command, instead
> of waiting for me to give it permission?
>
> Beth
>
>
> I am trying to do exactly what this person was asking
> about and I also found the max and silent options.  I
> also know how to push these options onto the stack.
> My program still does not break out of the loop when
> it reaches the max.  Approximate code:
>
> f:=FreeGroup(2);
> PushOptions(rec(max:=2000));
> PushOptions(rec(silent:=true));
> for p in [1..5] do
>   g:=f/[f.1^3,f.2^3,(f.1*f.2)^3,(f.1*f.2*f.1)^p];
>   s:=Size(g);

`Size' (which does coset enumeration by a cyclic subgroup and then  
considers the presentation for this subgroup) calls an augmented  
coset table calculation that does not respect the `silent' option.  
(Indeed this would be troublesome as then `Size' would be stored as  
`fail').

If you want to do an opportunistic finiteness test I would call the  
internal function
FinIndexCyclicSubgroupGenerator(g,max);
(BTW you set max to 2000 -- Unless your machine is older than 15  
years you probably want to set it to at least 256000 which is the  
standard coset table default in GAP. Coset enumeration often needs  
initially more cosets.)
This routine will either return `fail' or return a cyclic subgroup of  
finite index. In this second case you the can call `Size'.

Best,

    Alexander Hulpke

> ______________________________________________________________________ 
> ______________
> Senseless footer added by yohoo email
> http://weareannoying.yahoo.com/
>



More information about the Forum mailing list