PartialOrderofDClasses broken in released version

Issue #141 resolved
Attila Egri-Nagy
created an issue

With 2.6-release (and GAP v4.8.0-11-g8cbcd59) I get:

gap> gens := [ Bipartition ([[ 1, 4 ], [ 2, 3 ], [ -1, -4 ], [ -2, -3 ]]), 
> Bipartition([[ 1, 2 ], [ 3, 4 ], [ -1, -4 ], [ -2, -3 ]]) ];;
gap> S := Semigroup(gens);
<bipartition semigroup on 4 pts with 2 generators>
gap> PartialOrderOfDClasses(S);
Error, Record: '<rec>.mults' must have an assigned value in
  mults := o!.mults; at /home/sirna/GAP/pkg/SEMIGROUPS/gap/greens-acting.gi:1585 called from 
<function "unknown">( <arguments> )
 called from read-eval loop at line 3 of *stdin*
you can 'return;' after assigning a value
brk> 

any ideas?

Comments (9)

  1. James Mitchell repo owner

    Ok, so with the release candidate for GAP 4.8.0, I can't reproduce this.

    Did you recompile all of the dependencies of Semigroups and GAP? I guess this might be a similar issue to Issue #140. Please let me know if recompiling all of the dependencies of Semigroups (in particular, Orb) makes this go away. If not, then I suggest using the official beta version rather than the git repo (for this issue at least).

  2. Attila Egri-Nagy reporter

    Hm... I cannot not reproduce the error. I recompile all the time the whole stack by habit. I did git checkout v4.8.0, is that different from the official beta version? Here is what I have, you may spot the difference.

     ┌───────┐   GAP v4.8.0 of 2015-11-09 20:39:06 (AEDT)
       GAP     http://www.gap-system.org
     └───────┘   Architecture: x86_64-pc-linux-gnu-gcc-default64
     Libs used:  gmp, readline
     Loading the library and packages ...
    ─────────────────────────────────────────────────────────────────────────────
    Loading  orb 4.7.3 (Methods to enumerate orbits)
    by Juergen Mueller (http://www.math.rwth-aachen.de/~Juergen.Mueller),
       Max Neunhöffer (http://www-groups.mcs.st-and.ac.uk/~neunhoef), and
       Felix Noeske (http://www.math.rwth-aachen.de/~Felix.Noeske).
    Homepage: http://gap-system.github.io/orb/
    ─────────────────────────────────────────────────────────────────────────────
     Components: trans 1.0, prim 2.1, small* 1.0, id* 1.0
     Packages:   AClib 1.2, Alnuth 3.0.0, AutPGrp 1.6, CRISP 1.3.8, Cryst 4.1.12, 
                 CrystCat 1.1.6, CTblLib 1.2.2, FactInt 1.5.3, FGA 1.2.0, 
                 GAPDoc 1.5.1, IO 4.4.4, IRREDSOL 1.2.4, LAGUNA 3.7.0, orb 4.7.3, 
                 Polenta 1.3.2, Polycyclic 2.11, RadiRoot 2.7, ResClasses 3.4.0, 
                 Sophus 1.23, SpinSym 1.5
     Try '?help' for help. See also  '?copyright' and  '?authors'
    gap> LoadPackage("semigroups");
    ─────────────────────────────────────────────────────────────────────────────
    Loading  genss 1.6.2 (Generic Schreier-Sims)
    by Max Neunhöffer (http://www-groups.mcs.st-and.ac.uk/~neunhoef) and
       Felix Noeske (http://www.math.rwth-aachen.de/~Felix.Noeske).
    Homepage: http://gap-system.github.io/genss/
    ─────────────────────────────────────────────────────────────────────────────
    ─────────────────────────────────────────────────────────────────────────────
    Loading  GRAPE 4.6.1 (GRaph Algorithms using PErmutation groups)
    by Leonard H. Soicher (http://www.maths.qmul.ac.uk/~leonard/).
    Homepage: http://www.maths.qmul.ac.uk/~leonard/grape/
    ─────────────────────────────────────────────────────────────────────────────
    -----------------------------------------------------------------------------
    Loading  Semigroups 2.6 - methods for semigroups
    by J. D. Mitchell (tinyurl.com/jdmitchell)
    with contributions by:
         Manuel Delgado (http://cmup.fc.up.pt/cmup/mdelgado/),
         J. East (http://www.uws.edu.au/staff_profiles/uws_profiles/doctor_james_east),
         Attila Egri-Nagy (http://www.egri-nagy.hu),
         J. Jonusas,
         Markus Pfeiffer (http://www.morphism.de/~markusp/),
         B. Steinberg (http://www.sci.ccny.cuny.edu/~benjamin/),
         J. Smith (http://math.sci.ccny.cuny.edu/people?name=Jhevon_Smith),
         M. Torpey,
     and W. Wilson (http://wilf.me).
    -----------------------------------------------------------------------------
    true
    gap> gens := [ Bipartition ([[ 1, 4 ], [ 2, 3 ], [ -1, -4 ], [ -2, -3 ]]),
    > Bipartition([[ 1, 2 ], [ 3, 4 ], [ -1, -4 ], [ -2, -3 ]]) ];;
    gap> S := Semigroup(gens);
    <bipartition semigroup on 4 pts with 2 generators>
    gap> PartialOrderOfDClasses(S);
    Error, Record: '<rec>.mults' must have an assigned value in
      mults := o!.mults
     ; on line 1585 of file /home/sirna/GAP/pkg/SEMIGROUPS/gap/greens-acting.gi called from 
    <function "unknown">( <arguments> )
     called from read-eval loop at line 5 of *stdin*
    you can 'return;' after assigning a value
    brk> 
    
  3. Attila Egri-Nagy reporter

    Sorry, I thought double negation would be expressive and funny.

    So, I tried several combinations (different versions, compilers, loaded packages). Only released GAP 4.7.8 with Semigroups 2.5 works. This time no parameter setting in gaprc, so I'm clueless regarding the possible differences between our setups.

  4. James Mitchell repo owner

    Just for the record this was caused by the following lines (220 to 229) in lambda-rho.gi:

      if rank = 0 then
        # The group is the symmetric group
        # if rank = 0
        # mpf: Is this the correct fix? if we put false
        #      here, PartialOrderOfDClasses fails because
        #      mults are not defined
        o!.schutzstab[m] := true;
        o!.schutz[m] := Group(one);
        return o!.schutz[m];
      fi;
    

    The reason being that before this change the lambda orb mults were always all calculated when we calculated the LambdaOrbSchutzGp, after this change they were only calculated if the rank was not 0, as in the example here.

  5. Log in to comment