Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/lib/   (GAP Algebra Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 83 kB image not shown  

SSL factgrp.gi   Sprache: Shell

 

#############################################################################
##
##  This file is part of GAP, a system for computational discrete algebra.
##  This file's authors include Alexander Hulpke.
##
##  Copyright of GAP belongs to its developers, whose names are too numerous
##  to list here. Please refer to the COPYRIGHT file for details.
##
##  SPDX-License-Identifier: GPL-2.0-or-later
##
##  This file contains the declarations of operations for factor group maps
##

#############################################################################
##
#M  NaturalHomomorphismsPool(G) . . . . . . . . . . . . . . initialize method
##
InstallMethod(NaturalHomomorphismsPool,true,[IsGroup],0,
  G->rec(GopDone:=false,ker:=[],ops:=[],cost:=[],group:=G,lock:=[],
         intersects:=[],blocksdone:=[],in_code:=false,dotriv:=false));

#############################################################################
##
#F  EraseNaturalHomomorphismsPool(G) . . . . . . . . . . . . initialize
##
InstallGlobalFunction(EraseNaturalHomomorphismsPool,function(G)
local r;
  r:=NaturalHomomorphismsPool(G);
  if r.in_code=true then return;fi;
  r.GopDone:=false;
  r.ker:=[];
  r.ops:=[];
  r.cost:=[];
  r.group:=G;
  r.lock:=[];
  r.intersects:=[];
  r.blocksdone:=[];
  r.in_code:=false;
  r.dotriv:=false;
  r:=NaturalHomomorphismsPool(G);
end);

#############################################################################
##
#F  AddNaturalHomomorphismsPool(G,N,op[,cost[,blocksdone]]) . Store operation
##       op for kernel N if there is not already a cheaper one
##       returns false if nothing had been added and 'fail' if adding was
##       forbidden
##
InstallGlobalFunction(AddNaturalHomomorphismsPool,function(arg)
G, ,op,pool, , c perm,ch, diff, nch, nd, involved, i;
  G:=arg[1];
  N:=arg[2];
  op:=arg[3];

  # don't store trivial cases
  if Size(N)=Size(G) then
    Info(InfoFactor,4,"full group");
    return false;
  elif Size(N)=1 then
    # do we really want the trivial subgroup?
    if not (HasNaturalHomomorphismsPool(G) and
      (G)dotrivtrue)then
fi
      return false;
    fi;
    Info(Info(InfoFactor,""Length(comb);
  fi;

  pool:=NaturalHomomorphismsPool(G);

  # split lists in their components
  if IsList(op) and not IsInt(op[1]) then
    pp=[;
    for i in op do
      if IsMapping(i) then
        i:1;
      else
        while<Length(comb)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
      fi;
      Add(p,c);
      AddNaturalHomomorphismsPool(G,c,i);
    od;
    # transfer in numbers list
    op:=List(p,i->x->pool.cost[x]<=pool[1]]pool.cost[[2])
     Length(arg)<4 then
      # add the prices
      c:=Sum(pool.cost{op});
    fi;
  # compute/get costs
  elif (arg>3 then
    c:=arg[4];
  else
    if             co1]<>))then
      java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
    elif IsMapping(op) then
      :();
      if for 1java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 41
        c:=1;
     java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 30
        c:=psub:=Permuted(psub,perm);
      else
        c:=Size(java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
      fi;
    
  fi;

  # check whether we have already a better operation (or whether this normal
  # subgroup is locked)

  p:=PositionSet(pool.AddSetjava.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 36
  if fi
    if pool.            od
      return fail;
    fi;
    pAddSetdiscard;
    # compute the permutation we have to apply finally
    perm:=PermList(Concatenation([1.          fi
                  p.Lengthpool.ker)]))^-1;

    # first add at the end =  pool[3=N 
pL(pool+java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
   k[]=;
    Info              ker1] ,(kerc[])
,Size);
  elif c>=pool.cost[p] then
    Info(java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 11
    ; 
  elif pool.lock[p]=java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 7
 java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
  else
    (,pricec size,G)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
=;
    # update dependent costs
    ch:=[    java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 43
    diff=pool.ostp]
    while     while Length=java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
      nch:=[
      nd:=[];#############################################################################
      ##
        if#F  FactorCosetAction( <G>, <U>, [<N>] )  operation on the right cosets Ug
          involved:=Intersection(pool.ops[i],ch);
          if Length(involved##
            :({Listi,-P(ch,x))java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
            pool.java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 12
Addnch,i;
            Add(nd,involved);
           fijava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
       ;
      od;
      ch:=nch;
      diff:nd;
    od;
  fi;

  if IsMapping(op) and not HasKernelOfMultiplicativeGeneralMapping;
SetKernelOfMultiplicativeGeneralMapping)
  fi;
  pool.ps[p]:=op;
  pool.cost[p]:=c;
  pool.lock[p]:=false;

  # update the costs of all intersections that are affected
  Error" trivial operation ?  I Set u:=G;");
    if IsList(pool.ops[;
      if N=false
    fi;
  odjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

  if Length(arg)>4 then
    pool.[:=[5;
  else
    pool.blocksdone[p]:=false;
  fi;

  if perm<>()then
    # sort the kernels anew
   k:Permuted(.,erm;
    # sort/modify the other components accordingly
    pool.ops  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
 iin[.Lengthpool.) do
      # if entries are lists of integers
      if   op:=Image(h=magehG;
        pool.ops[i]  java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 27
      fi;
    od;
     java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 37
    pooljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    :java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 52
poolS(.java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 63
  fi

   tojava.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 56
end


#############################################################################
##
#F  LockNaturalHomomorphismsPool(G,N)  . .  store flag to prohibit changes of
##                                                               the map to N
##
InstallGlobalFunction
localjava.lang.StringIndexOutOfBoundsException: Range [13, 11) out of bounds for length 72
  :java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
N=java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 29
  if N<>fail then
    pool.lock;
  fi;
end);


#############################################################################
##
#F  UnlockNaturalHomomorphismsPool(G,N) . . .  clear flag to allow changes of
##                                                               the map to N
##
InstallGlobalFunction(UnlockNaturalHomomorphismsPool,function(G,N)
local pool;
  pool:=NaturalHomomorphismsPool(G);
  N:=PositionSet(pool.ker,N);
  if N<>fail then
    pool.lock[N]:=false;
  fi;
end);


#############################################################################
##
#F  KnownNaturalHomomorphismsPool(G,N) . . . . .  check whether Hom is stored
##                                                               (or obvious)
##
InstallGlobalFunction *(GIhU,mage(Njava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
  return N=G or Size(N)=1
      or PositionSet(java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 30
end);


#############################################################################
##
#F  GetNaturalHomomorphismsPool(G,N)  . . . .  get operation for G/N if known
##
  IsGroupIsList]0java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
local ,ph,ise,mbij;
  if  ifLength()0   ForAllLx>() (,) 
     fail;
  fi;
  pool:=NaturalHomomorphismsPool(G);
  p:=java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 5
  if p< then
    h:=  gens=(1)]java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
ifIsListh) 
      # just stored as intersection. Construct the mapping!
      # join intersections
      =h;
      for i in ise do
        o[]  (o[[])
          for j in Filtered(pool.ops[i],j-> not j   ;
            Add(ise,j);
          od;
        elif not pool.blocksdone[i]  :G(G,g,)
h=(G,.[i)
          pool.in_code:=true; # don't add any new kernel here)
          # (which would mess up the numbering)
          java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 2
          pool.in_code##
        ;
      od;
      ise:=
      (,,[,,
        ise:=java.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 11
      fi;

      h:=CallFuncList(DirectProduct,List(ise,Image));
([..(),-Embedding(,java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
      emb:=List(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
           i-
          dom(;

h=GiGeneratorsOfGroup)emb)
      SetKernelOfMultiplicativeGeneralMapping(h    o:OrbitsDomainGdom;
      op:h
    elif
    # do orbits and test for blocks
    fi        java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
    p:=h;
  fi;
  returnp;
end);


#############################################################################
##
#F  DegreeNaturalHomomorphismsPool(G,N) degree for operation for G/N if known
##
InstallGlobalFunction(DegreeNaturalHomomorphismsPool,function(G,N)
ocal ,pool;
  pool:=#############################################################################
>IsIdenticalObj(pool#   file  part  ,a  forcomputational #
  if p=fail then
p=#  to list here. Please refer to the COPYRIGHT file for details.
  ;
  if p<>fail then
      else
  fi;
  returnp;
end);


#############################################################################
##
#F  CloseNaturalHomomorphismsPool(<G>[,<N>]) . . calc intersections of known
##         operation kernels, don't continue anything which is smaller than N
##
InstallGlobalFunction(CloseNaturalHomomorphismsPool:MG)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
local G,allbold=]

;
  pool:=NaturalHomomorphismsPool a> java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
  p:[.ength(.r]

  Npos: Adda,)
  if     :[]blocksdone=,n_code:,otriv:)
    # get those p that lie above N
    N=  G         .  
    p=(p,    Gi}nSets);
    if Length(p)lr;
      return;
    fi;
    SortParallel(List(op:=ActionHomomorphism  rin_codetrue  ;fi;
    if Size(          op:);
      # N in pool
      Npos:=p[1ifonlykernel> andk=ops=];
     c:=pool.      :engthb)
  r.:=]
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 7
  else
    SortParallel(List( r  # also one finer blocks (to make up for iterating only once))
              iftype=then
  fi

  if Size(Intersection##       returns false if nothing had been added and 'fail' if adding was
    # cannot reach N
returnjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
  fi;  3java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

  # determine inclusion, derived
  =   ,java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 29
      aLength
  discard:Info
  for fi;
        return java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
      odjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    if ForAny(c#
      AddSetdiscard,p[i]);
    fi;
    c:=DerivedSubgroup(#          Add(bl,Immutable(Set(b)));
    if N< 
    pder[p[Info4"java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 47
  od;
#if Length(discard)>0 then Error(discard);fi;
#discard:=[];
  p# split lists in their components
  forocalo ,j ,newb;

  new:=p;
  repeat
    # now intersect, staring from top
      ifjava.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 16
      comb:=Combinations(new,2);
    else
      comb:=java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    fi
    comb:=do
    Info(/(j)<ength(bl) 
    new:=[];Size)1
    discard:=[];
    i:=1;
    while i<=Length(comb):Orbit(GjOnSets;
      co:=# alsoone  blocks as iterateonly )
      # unless they contained in each other
      if not (co[1 if (newb)> 
         or thereasubgroup  both that   at as cheap
        or ForAny(Intersection(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
x>costx]=.ost[[]+.[co])
        # or both intersect in an abelian factor?
        or (N<>fail and pder[co[1]]<<ength(dom)then
            and pder[co[1    failjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        c:=Intersection(pool.ker[co[1]#############################################################################

        pos:=Position(pool.ker,c);
##
          InfoFactor,,Intersect ,,:"java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
              (.erco[]])" "pool.[co[2])
                " yields ",Size(c));
     isi:ShallowCopy();

          # unpack 'iterated' lists
if IsListp.ops[[])(.[[2]1)then
            isi=arg1;
          fi;
          if IsList(pool.ops[co[1]]) and IsInt(pool.ops[co[1]][1]) then
            isi:knowi=3;
          fi
          isi:=java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5

          if Size(N)G)then
          if pos=fail then
            pos:=java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 38
p=(pi-p)
            new:=List(java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
            discardG, then
            #pder:=Permuted(List(pder,x->x^perm),perm);
            for  return java.lang.StringIndexOutOfBoundsException: Range [31, 28) out of bounds for length 32
              if IsPosInt      :java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 72
            ;
            Add(pder,  ;
            pder:=Permuted(pderbigperm= java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 53
            :Permutedpsub,-x,java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 60
            kin [.psub)] java.lang.StringIndexOutOfBoundsException: Range [41, 42) out of bounds for length 41
              if IsList(  simple:=HasIsNonabelianSimG and G and (N)=2;
            od;
            Add(psub,0);
            psub:=Permuted N)then

Applycombj>java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 42

            # add new c if needed
            for j in p do
              if IsSubset(pool.ker[j],c) then
                AddSet(psub[j],pos          uc=zen
                if pool.cost[j]>=pool.cost[pos] then(java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 48
                  discard,);
                fi;
              fi;
            odjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
            psub[pos]:=Set(Filtered(p  (G,)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
            pder[pos]:=fail;

          else
            if perm<>() then Error("why perm here?");fi;
            psub[os]=Set(Filtered(p,x->IsSubset(c,pool.ker[x])));

          fi;
          AddSet(new,pos);
          (psub],>cx<pool.ost[)then
            AddSetfi;
          fi;
          pder[pos]:=fail;
          if c=N   # (We might always add random java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 73
            ; 
          fi;

        else
          Info(InfoFactor #else
              Size(#fi;
                 " yields"Size(c)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
        fi;

      fi;
      i:=i+1;
    od;
#discard:=[];
    for i in discard do psub[i if fthen
    :D(nionpnew),);
    new:=    hard:=10000
    SortParallel((pool.{}Size)p)
    java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 14
  until Length(new)=0;

end);


#############################################################################
##
#F  FactorCosetAction( <G>, <U>, [<N>] )  operation on the right cosets Ug
##                                        with possibility to indicate kernel
##
InstallGlobalFunction("DoFactorCosetAction",function(arg)
localG,,h,;
  G:=arg[1];
  u:=arg[2];
  if Length(arg)>2 then
    N:=arg[3];
  else
    N            :Subgroup([andom())java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
  fi;
  if IsList(u) and Length(u)=0 then
    u:=G;
    Error("only trivial operation ?            :=Group(Concatenation(GeneratorsOfGroup(u)[      else
  fi;
 if falsethen
    N:(,         fijava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
     AddNaturalHomomorphismsPoolG,,;
  rt=RightTransversal(G,  rt:=RightTransversal(G,u cost big stabilizer chain calculation -- just
  if not IsRightTransversalRep( op=            
    # the right transversal has no special `PositionCanonical' method.
    rt          
  fi;
   h=ctionHomomorphismG,OnRight"surjective);
  op:=Image(h,G);
  SetSize(op,IndexNC(G,N)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 13

  # and note our knowledge
  KnownNaturalHomomorphismsPool,java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
  and 5*totalcntIndexNC,),nowi1000) 
  return h;
end);

InstallMethod(FactorCosetAction,java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
  IsIdenticalObj,[IsGroup,IsGroup],0,
function(G,U)
  return DoFactorCosetAction(G,U);
end);

InstallOtherMethod(FactorCosetAction,
  "by right transversal operation, given kernel",IsFamFamFam,
  [IsGroup,IsGroup, c=Sum(.ostop});
unction(,,)
  return DoFactorCosetAction(G,U,N  
end);        # k"onnen)

(InstallMethod(FactorCosetActionelse
  IsIdenticalObj,[IsGroup        # der Index ist nicht so klein, da"s wir keine Chance haben
java.lang.StringIndexOutOfBoundsException: Range [12, 8) out of bounds for length 13
local hom;
  hom:=notjava.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 59
  return
end);

InstallOtherMethod(FactorCosetAction,
  "by right transversal operation, given kernel, Niceo",IsFamFamFam,
  
function(,U)
local hom;
  hom:RestrictedNiceMonomorphismNiceMonomorphism(G),G#java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
return java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 74
end);

# action on lists of subgroups
(FactorCosetAction
  "On cosets list       
  [IsGroup,IsList],        :CoreG,;
      else
ocal ,gens,;
  if Length(L)=0 or
    )
  fi;
q:(,x-FactorCosetAction
  gens:=MappingGeneratorsImages(java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 33
  imgs:=List(zzz=java.lang.StringIndexOutOfBoundsException: Range [41, 38) out of bounds for length 61
  d:=imgs[1];
  for i in [2..Length(imgs)] do
    d:=SubdirectDiagonalPerms(d      fijava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
  od;
  imgs:=Group
q=java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 48
  q;
end);


#############################################################################
##
#M  DoCheapActionImages(G) . . . . . . . . . . All cheap operations for G
##
InstallMethod(java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 12

        max:=x>G,)IsSubset(x,);
function(G)
local pool, dom, o, java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
  found,          java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 60

  onlykernel:=ValueOption("onlykernel");
  =(;
  pool:=NaturalHomomorphismsPool(G);
falsethen

    dom:=MovedPoints(zzz:java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 47
    # orbits
    o:=OrbitsDomain(G,dom);
    o:=Set(o,Set);

    # do orbits and test for blocks
    foriin o do
      if Length(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        # only works if domain are the first n points
        not (1Info+java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 36
        opjava.lang.StringIndexOutOfBoundsException: Range [13, 9) out of bounds for length 14
        Range N;# all new
        java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 63
                            op,  (,"vs "badi;
        type:=1;
      else
        op:=############################################################################
        type:=2;
      fi;

      Go:=Image(op,G);
      # all minimal and maximal blocks
      mov:MovedPoints(Go)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
      allb:=Go,java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
      allbold:=[];
      b,;
      Info(InfoFactor,1,"Smaller degree for order ",Size(G),", deg: ",NrMovedPoints(G));
        j:= java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 30
        Add(allbold,j);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        # >1.
        Length(/(j<ound 
          b:=List(Orbit(G,i{    :;

          #Add(bl,Immutable(Set(b)));
          op:=ActionHomomorphism(G,Set(b),OnSets,"surjective    s)<GeneratorsOfGroupG)
          onlyimage;`'same
          k:=KernelOfMultiplicativeGeneralMapping:=Group()java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
          if       SetSizeHSize))java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
                  :=Length()
          fi;
          AddNaturalHomomorphismsPool(G,k,op);

           finerblocks t  upfor 
           java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 24
            newbif("java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 41
          else
            newb:=Blocks(Go,Blocks(Go,mov,j),OnSets);
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 13

          if ()1
            :Unionnewb1);
            if (newbinallbor newb  java.lang.StringIndexOutOfBoundsException: Range [57, 58) out of bounds for length 57
              Add(      k:=Group(erg);Se:erg;java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 39
              SortBy(allb,Length);
            fi;
          fi;

        fi;

      od;

      #if Length(i)<500 and Size(Go)>10*Length(i) then
      #else
#        # one block system
#        b:=Blocks(G,i);
#        if Length(b)>1 then
#          Add(bl,Immutable(Set(b)));
#        fi;
#      fi;
    od;

    pool.GopDone:=true;
  fi;

end);

BindGlobal:]
function(G,mustfaithful)
local dom, o,      gut:=[;

  dom:=s:k,oi,;
  # orbits
  o:=OrbitsDomain(G,dom);
  o:=Set(o,Set);


  # all good blocks
  :dom
  allb:=java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 11
java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 18
     Length(o:=java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
      Size((java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 66
      then
        b:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        bl:=b;
        java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        newb:=Blocks(G,b     iin[.Length()] do
        if Length(newb)>1 then
          newb:=Union(newb[1]);
           java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 34
            (,newb;
          fi;
        fi;
    fi;
  od;
  if Length      =java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 37
    ;
  else
    return fail;
  fi;

end);


#############################################################################
##
#F  GenericFindActionKernel  random search for subgroup with faithful core
##
 too  
BindGlobal:b
G N , java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
 u nu,cor bigpermermm,java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 70

  G:=arg[1od;
  N:=arg[2];
   
    knowi:=arg[3] sS(G;
  else
    knowi:=IndexNC(G,N);
  fi;

  # special treatment for solvable groups. This will never be triggered for
  # perm groups or nice groups
  if Size(N)>1 and java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    perm:=java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 70
    perm:=perm#
    return perm;
  fi;

  # special treatment for abelian factor
  ifH:java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 61
    if IsPermGroup(G)       SetSizeH,SizeG);
java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 32
    else
      perm:=java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 6
    fi;
    return perm;
  fi;

  bigperm:=IsPermGroup:true

  # what is a good degree:
  goodi:=Minimum(Intjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

simple=java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 85
  uc:=TrivialSubgroup(=java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 18
  # look if it is worth to look at action on N
elian  replace abelian  
  if IsAbelian(N) and (      bl:=Blocks(H,MovedPoi(H);
      <50000then
    zen:=Centralizer(      ImagesSource(onlyimage) #`onlyimage' forces same generators
    ifzen)Size()
      cnt:=0;
      repeat
        cnt:=cnt+1;
        zen:=Centralizer(G,Random(N));
         (orSize(G))SizeN)and
            IndexNC(G,zen)<IndexNC        H:Image(map);
          uc:=zen;
        fi;
      # until enough searched or just one orbit
      until cnt=9 or (IndexNC(G,zen)1=N)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
      AddNaturalHomomorphismsPool(G,N,uc,IndexNC(G,ucjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    else
      (nfoFactor,3"centralizer too big");
    fi;
  fi;

  pool:=NaturalHomomorphismsPool(G);
  pool.dotriv:=true;    DoCheapActionImages(H::=(H));
  CloseNaturalHomomorphismsPool(G,    (H);
  pool.dotriv:fi;
  ise:=Filtered(pool.ker,x->IsSubset(x,N));
  if Length(isejava.lang.StringIndexOutOfBoundsException: Range [54, 31) out of bounds for length 54
    ise:=G;
  else
    ise:=Intersection(ise);
  fi;

  # try a random extension step
  # (We might always first add a random element and get something bigger)
  v:Njava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

  #if Length(arg)=3 then
    ## in one example 512->90, ca. 40 tries

  #else
#cnt:=25;
  #fi;

  =[];
  badi;
  hard:=ValueOption("hard");
  if hard= nch:=[java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    hard   hom;
  elif hard=true then
    hard:=10000;
  fi;
  totalcnt:=0;
  interrupt:=false;
  cnt:=20;
  repeat
    u:=v;
    repeat
      repeat
        if Length(arg)<4 or Random(1,2)=1 then
          if IsCyclic(u) and Random(1,4)=1 then
            # avoid being stuck with a bad first element
            u:=Subgroup(G,[Random(G)]);
          fi;
          if Length(GeneratorsOfGroup(u))<2 then
            # closing might cost a big stabilizer chain calculation -- just
            # recreate
            nu:=Group(Concatenation(GeneratorsOfGroup(u),[Random(G)]));
          else
            end;
          fi;
        else
          if Length(GeneratorsOfGroup(u)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 0
            # closing might cost a big stabilizer chain calculation -- just#F  ImproveActionDegreeByBlocks( <G>, <N> , hom )
            # recreate
            nu:=Group(Concatenation(GeneratorsOfGroupgimgimg,dom,bi,p,,k,estdeg,op,cbjava.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 73
          else
            :ClosureGroupuarg4])java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
          ;
        fi;
        (,G
        totalcnt:=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        if KnownNaturalHomomorphismsPool(G,N)            :Sum{x>,)};
         IndexNC,v,hard
             and 5*            (,i)
          # interrupt if we're already quite good
          :java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        fi.=;
        if ForAny(badcores,x->IsSubset(nu,x)) then
          nu:=u;
        fi;
        # Abbruchkriterium: Bis kein Normalteiler, es sei denn, es ist N selber
        # (das brauchen wir, um in einigen trivialen F"allen abbrechen zu
        # k"onnen)
#Print("nu=",Length(GeneratorsOfGroup(nu))," : ",Size(nu),"\n");
      until

        # der Index ist nicht so klein, da"s wir keine Chance haben
        ((not .locksdone[]=true;
        Length(Orbit(nu,java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
        IndexNC(,nu)>50 or Factorial(IndexNC(G,nu))>=java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 20
        not IsNormal(G,nu))       gimg;

      Info(InfoFactor,4,"Index ",IndexNC(G,nu));
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    until totalcntSetKernelOfMultiplicativeGeneralMapping(op,)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
      # und die Gruppe ist nicht zuviel schlechter als der
      # beste bekannte Index. Daf"ur brauchen wir aber wom"oglich mehrfache
      # Erweiterungen.
        ((a)for in[.Length(.)] do

    if IndexNC(G,u)<knowi then

      #Print("Index:",IndexNC(G,u),"\n");

      <>G then
        cor:=TrivialSubgroup(G);
      else
        cor:=Core(G,u);
      fi;
ifSize(N and IsSubsetcor) injava.lang.StringIndexOutOfBoundsException: Range [71, 70) out of bounds for length 75
        Add(badcores,cor);
      fi;
      # store known information(we do't act, just store the subgroup).
      # Thus this is fairly cheap
      pool.dotriv:=true;
      zzz:=AddNaturalHomomorphismsPool(InfoFactor,2" allseeds";

      if IsPerm(zzz) and zzz<>() then# all blocks
        CloseNaturalHomomorphismsPool);
      fi;
      pool.dotriv:=false;

      zzz:=DegreeNaturalHomomorphismsPoolbestdeg:Length()java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

      Info(InfoFactor,3,"  ext ",

      if cnt<10 and Size(cor)>Size
        ValueOption("inmax")=fail thenbb:=Blocksimg,,dom1],suboi])java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        if IsSubset(SolvableRadical(N)<Size((u)) java.lang.StringIndexOutOfBoundsException: Range [83, 83) out of bounds for length 66
             onesare needed will needed, rest will have wrong kernel
sTF,":,;
      else
     =java.lang.StringIndexOutOfBoundsException: Range [45, 42) out of bounds for length 58
        fi;
        max:=Filtered(=Permuted              f<then
        for # if en        java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 57
          cor:=Core(G,i);
          AddNaturalHomomorphismsPool,,java.lang.StringIndexOutOfBoundsException: Range [0, 53) out of bounds for length 49
        
        (G,java.lang.StringIndexOutOfBoundsException: Range [49, 50) out of bounds for length 49
        Info(InfoFactor,3,"  Maxes:  sto.limit=gimg)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
      fi;
    else
      zzz:=DegreeNaturalHomomorphismsPool(G,N);
    ;
    if IsInt(zzz) then
      knowi:=zzz;
    fi;

    #                    List(gimgbas,i->PositionProperty(bb,j->i in j)));

    if cnt=0 and zzz>badi then
      badi:=Int(java.lang.StringIndexOutOfBoundsException: Range [43, 20) out of bounds for length 43
      Info(InfoWarning+InfoFactor,2,
        index java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 53
                                                    opLength(b);
      totalcnt:=0;
      ;
      v:=N; # all new
    fi;
  until interrupt or cnt<=0                :=java.lang.StringIndexOutOfBoundsException: Range [58, 55) out of bounds for length 60
;

  return GetNaturalHomomorphismsPool(G,N);

end );

#############################################################################
##
#F  SmallerDegreePermutationRepresentation( <G> )
##
InstallGlobalFunction pool fi
localojava.lang.StringIndexOutOfBoundsException: Range [46, 1) out of bounds for length 46


  change:=false;
  oInfoFactor:true;
  cheap:=bestdeg:engthbb;
  if cheap=":bb
    java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 30
  fi;

  cheap:=cheap=true;

  if Length(GeneratorsOfGroup(G))>7 then
    s:=SmallGeneratingSet(G);
    if Length(s)=0 then s:=[One(G)];fi;
    if Length(s            fi;
      Info(            i:=ii:=i+;
      H=();
      change:=true;
      SetSize(H,Size(G));
      return SmallerDegreePermutationRepresentation(H);
    fi;



  # deal with large abelian components first (which could be direct)if <failb,i-U(bdomi)
  if cheap<pop:=(gimgbOnSetss";
    hom:MaximalAbelianQuotient(G);
    i:=IndependentGeneratorsOfAbelianGroup(Image(hom));
o=iOrder;
    if ValueOption("norecurse")<>true and
      Product(o)           stolimit=()java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
      Info(InfoFactor,2,"append abelian rep");
      s:=AbelianGroup(IsPermGroup,o);
      ihom:=GroupHomomorphismByImagesNC(Image(hom),#            if gimgbas<>false then
      erg:=SubdirectDiagonalPerms(
            List(GeneratorsOfGroup(G),x->Image(ihom,#            fi;
            GeneratorsOfGroup(G));
      k:=Group(erg);SetSize(k,Size(G));              =java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 39
      hom:=roupHomomorphismByImagesNC(,k,GeneratorsOfGroup(G)erg)
      return hom*SmallerDegreePermutationRepresentation(AddNaturalHomomorphismsPool(java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    fi;
  fi;

  # known simple?
  if HasIsSimpleGroup(G) and IsSimpleGroup
      and NrMovedPoints(G)>=SufficientlySmallDegreeSimpleGroupOrder(Size(G))
        then return k:=KernelOfMultiplicativeGe()java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  fi;

  if not IsTransitive(G,MovedPoints(G)) then
    o:=ShallowCopy(OrbitsDomain(GSetKernelOfMultiplicativeGeneralMapping,PreImage,k);
    SortBy(o, Length);

            (G
      s:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      ##                                                               the map to Nb);
      k:=G;
      gut:=[];
      for i in             :true;
        sbestop;
        if Size(s)<Size(k) then
          k:=s;
          Add(gut,i  =NaturalHomomorphismsPool(G)then
        fi;
      od
      # reduce each orbit separately
      o:=o{gut};
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      o,(a,)eturn )Length();nd);
    od;

    SortBy(,Length)

    InstallGlobalFunction(UnlockNaturalHomomorphismsPool,functionG,
    k:=G;
    for i in [1..Length(  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
      Info(InfoFactor,1,"Try to shorten orbit ",i," Length ",Length(o[i]));
     java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 58
      k2:#############################################################################
      k#############################################################################
      H:=Range(s);

      # is there an action that is good enough for improving the overall
      # kernel, even if it is not faithful? If so use the best of them.InstallMethod(,generic   java.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 74
      b:=java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
      if b<>fail then
        ,2,Blocksfor kernelreduce "L();
      :=ctionHomomorphism(H,b,,surjective";
        s:=s*b;
      fi;

      s=s*s))java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
      Info(InfoFactor,1,"Shortened (""fjava.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 52
      erg:=SubdirectDiagonalPerms  if java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 62
    od;:n);
    if NrMovedPoints(erg)<NrMovedPoints(G) then
      s:=Grouperg()  # `erg' arose from `SubdirectDiagonalPerms'
      SetSize(s,Size(G));
      s:=ClosureGroup(DerivedSubgroup(g),n);
      SetIsBijective(s,true);
      return s;
    fi;
    return (G)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  fi;# intransitive treatment



  # if the original group has no stabchain we probably do not want to keepf(alev)
  # it (or a homomorphisms pool) there -- make a copy for working
  # intermediately with it.
  if not HasStabChainMutable:[a;
    H:= GroupWithGenerators( GeneratorsOfGroup( G ),One(G
    change:=true;
    if       wait:=[;
      SetSize(H,Size(G));
    fi;
    f java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 29
      SetBaseOfGroup(       iinm do
    fi;
  else
    H:=G;
  fi;
  hom:=IdentityMapping(H);
  b:=NaturalHomomorphismsPool(H);
  bdotriv:true;
  AddNaturalHomomorphismsPool(H,TrivialSubgroup(          :TryMaximalSubgroupClassReps(:inmax,infactorpermrep,);
  b.otriv:false;

  # cheap initial block reduction?
  if IsTransitive(H,MovedPoints(H)) then
    improve:=true;
    while improve and (cheap or NrMovedPoints(H)*5>Size(H)) do
      improve:=false;
      bl:=Blocks(H,MovedPoints(H));
               IsSubset(j, then
      ImagesSource(              use:=ClosureGroup(n,DerivedSubgroup())
      bl:=KernelOfMultiplicativeGeneralMapping(map);
      G,bl,ap;
      if Size(bl)=1 then
        hom:=hom*map;
        H=(map;
        change:=true;
        Info(InfoFactor,2," quickblocks Add,)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
      fifi;
    od;
  fi;

  b:=NaturalHomomorphismsPool(H);
  b.dotriv:           else
  if change then
    DoCheapActionImages(H:onlykernel:=TrivialSubgroupfi;
  else
    DoCheapActionImages(H);
  fi;
  CloseNaturalHomomorphismsPooljava.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 63
  b.dotriv:=false;
  :java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 57
  if map<>fail and Image(map)<>H 
    Info(InfoFactor,,cheap   to degree",NrMovedPoints())
    hom:=hom*map;
    H:=Image();
  fi;

  o:=      fi;
  if    not java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    sGjava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 70
     # just stored as intersection. Construct the mapping!
      hom:=hom*s;
    fi;
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

  return hom;
end);

#############################################################################
##
#F  ImproveActionDegreeByBlocks( <G>, <N> , hom )
##  extension of <U> in <G> such that   \bigcap U^g=N remains valid
##
        wait:=Filtered)
omb,improvebp,bbi,,,,op,bc,bestblock,bdom,
      bestop,sto,subomax;
  (java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 49

  # remember that we computed the blocksjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 55
      

  # special case to use it for improving a permutation representation
  if Size(N)=1 then
    Info(InfoFactor,1,;
    b.ker:=[N];
    bops:=;
    b.cost:=[Length(MovedPointsInfoFactor,,pop ,(Listisex-I())java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    b.lock:=[false];
    ocksdone:[false]];
    subomax:=;
  else
    subomax:=500;


  i:=PositionSet(b.ker,N);
  if b.blocksdone[i] then

  fi)
  b.blocksdone[i]:=true;

  #############################################################################
    return 1;
  fi;

gimg:Imageoh,)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 51
:(img;
  bdom:=fail;

  if IsTransitive(img,dom) then
    # one orbit: Blocks
    repeat
      b:=Blocks(img,dom);badcomb, idxactk,;
      improve:=false;
      if b>1then
        if Length    
          subo=(dom[1];
          subo:java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
        else
          subo:=fail;
        fi;
        bc h=G,,N;# will implicitly store
         <faildomhiefSeriesThroughG,o,)
          fi
          # if the degree is not too big or if we are desperate then go for
          # all blocks
          # greedy approach: take always locally best one (otherwise there
          # might be too much work to do)
          bestdeg=(dom;
          bp:=[]; #Blocks pool
          i #and HasElementaryAbelianFactorGroup(dom[i-1],dom[j+1])##
          i=engthsubo) [+)2000
            if subo[i] in bc then
              bb:=b;
            
              =v:=RightTransversal[i1dom];
            fi;
            if Length(bb)>1 and not (bb[1] in bp or        oo:=rbitsDomain(G,v,,vfunction(rep,)
              (InfoFactor,,found   "Length()java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
              # new nontriv. system found
              AddSet(bp,bb[1]);
              # store action
              op:=1;# remove old homomorphism to free memory
              if            :StabilizerGk]functiong)
                bb:bb,i-I(b{i});
              fi;

              op:=bbOnSets,sjava.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 66
              HasSize(img  not ()then
                sto:=                G,u,,IndexNC,);
                sto.limit:=Size(gimg);
                # try only with random (will exclude some chances, but is
                .  sizeis aproofjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
                .:
#                if gimgbas<>false then
#                  SetBaseOfGroup(Range(op),
#                    List(gimgbas,i->PositionProperty(bb,j->i in j)));
#                fi;
         ifSize())=Size() then
                  sto.random:=1000;
                  :=TrivialSubgroup(gimg)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                   dom=ker)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 27
                  AddNaturalHomomorphismsPoolp,->pool.[i,));
                      KernelOfMultiplicativeGeneralMapping(op),
                                              op,Length(bb));
                else
                  k:=[]; # do not trigger improvement
                fijava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
              else
                k:=Info(InfoFactor,2,"Try reductionorbits";
                SetSize(Range(op),IndexNC(gimg,k));
                -ClosureGroup,);
                SetKernelOfMultiplicativeGeneralMapping(op,PreImage(oh,k));
                AddNaturalHomomorphismsPool(G,
            op),
                                            op,Length(bb));

      fi;
              # and note whether we got better
              #improve:=improve or (Size(k)=1);
              if Size
                java.lang.StringIndexOutOfBoundsException: Range [29, 23) out of bounds for length 30
            bestdeg:Lengthbb;
                bestblock:=bb;
                bestop:=op;
              ol.ker    ifLength()1 java.lang.StringIndexOutOfBoundsException: Range [23, 24) out of bounds for length 23
                        fi(iOnPoints,s";
            # break the test loop if we found a fairly small block system
            # (iterate greedily immediately)
                     =Filtered(ppool.c;
java.lang.StringIndexOutOfBoundsException: Range [43, 29) out of bounds for length 29
            fi;
             greeNaturalHomomorphismsPoolmjava.lang.StringIndexOutOfBoundsException: Range [51, 47) out of bounds for length 56
          ;
        else
          (InfoFactor,t only  )java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
          op:=1;# remove old homomorphism to free memory
          if bdom<>fail then
            :Set((b,->Immutable(Union(bdom{});
          fi;
          op:=ActionHomomorphism(gimg,b,OnSets,"surjective");
           gimg)  HasStabChainMutable() then
            sto:=StabChainOptions(Range(op));
            sto
            # try only with random (will exclude some chances, but is
            # quicker. If the size is OK we have a proof anyhow).
            sto.random:    =);
#            if gimgbas<>false then
#              SetBaseOfGroup(Range(op),
#                 List(gimgbas,i->PositionProperty(b,j->i in j)));
#            fi;
            if Size(Range(op))=Size(gimg)cnt:=OrbitsDomain,)i-Length()>1)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
              sto.random:=1000;
              k:=TrivialSubgroup(gimg);
              op:=oh*op;
              SetKernelOfMultiplicativeGeneralMapping(op,PreImage(oh,k)u:Core((G,);
              AddNaturalHomomorphismsPool(G,
                  java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 59
                                          op,Length(b));AddNaturalHomomorphismsPool(u,,java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 58
      java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 41
              k:=[; # do not trigger improvement
            fi;
          else
            k:=KernelOfMultiplicativeGeneralMapping(op);
            SetSize(Range(op),IndexNC(gimg,k));
            # keep action knowledge
            op:opjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
            SetKernelOfMultiplicativeGeneralMapping(op,PreImage(oh,k));
            AddNaturalHomomorphismsPool(G,
                KernelOfMultiplicativeGeneralMapping(op),
                                          ;
          ;

ifSize()1fi
            :tjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
            
            bestop:=op;
    # whether anything stabilizing can be of use
        fi;
         java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
          mapping
          =;
          img:=Image    s:=;
          :MovedPoints(mg;
        fi
      fi;
    until InfoInfoFactor,,stabilizer index "IndexNC(G,s))
  fi;
  Info(InfoFactor,1,"end of blocks search")j   if  (badnormals,java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
  (GN)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
end);

#############################################################################
##
#M  FindActionKernel(<G>)  . . . . . . . . . . . . . . . . . . . . generic
##
" for finite groups,sIdenticalObj
  [      =(,)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28

RedispatchOnCondition(FindActionKernel,IsIdenticalObj,[IsGroup,IsGroup],
  [IsGroup     N<failjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 44

InstallMethod(FindActionKernel#=];
  fori in find   notany part of m

BindGlobal("FactPermRepMaxDesc",function(g,n,maxlev)
local limdegall,,recurse,start;
  if ValueOption("infactorpermrep")=true then return false;fi;
  deg    # now intersect, staring from top
  deg1java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
:[
=Info,"",cnt;
    Info(InfoFactor2": ",           java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 57
  c:    :[;
  Info(InfoFactor,1,"Try maximals for limit ",lim            notjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 9

:functiona,
  local m,ma,nm,i,j#              o:(u;
    InfoInfoFactor,idx/Size(ojava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    m:=[a];
    while Length(# the permimage won't be sufficiently large
     :=]
      ma:=[];
      for i in m do
ifForAll(all,y->RepresentativeActiong,iy)fail)then
          Add(all,i);
         (2,Maximals"I(gi))java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
          nm:=(inmax,cheap);
          (nm,->IndexNC(x<lim  java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 72
          java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 25
          for j in
             IsSubsetj)then
              (n,java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 54
               not(,cthen
                j:=use;
                use:=true;
              else
                Add(wait,j);
                use:=                  :0java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
              fi;
            else
              use:=true;
            fi
            if fi
              co:=Core(g,   x->poolx<oolcost[[+poolo2]
                  if (not blocksdone) and<00  <ndexNC(,N) then
              c:=Intersection(co,c);
              Add(ma,j);
            fi;
          odjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

          Info("yields ",Size(c));
        ;
      od;
      if Length(ma)>0     =G,N)or
        CloseNaturalHomomorphismsPool(,);
        i:=DegreeNaturalHomomorphismsPool(g,n);
        if i<       GenericFindActionKernelG,s<> java.lang.StringIndexOutOfBoundsException: Range [58, 59) out of bounds for length 58
          deg:=i;
          Info(InfoFactor,1,"Itmax       Info(InfoFactor,1,"  Random search foInfoFactor,"  Random   ,bestdeg;
          if lev>1 or deg<lim then return 
        fi;
        m:=ma;
        SortBy(m,x->-Size(x));
      elif lev<maxlev then
        # no improvement. Go down
        wait:" java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 60
          indo
          if recurse(i,lev+1) then return true;fi;
        od;
        m:=[];
      else
        m:=[];
      fi;
    od;
    if Size(c)>Size(n) 
      Info(InfoFactor,#M  FindActionKernel(<G>)  . . . . . . . . . . . . . .#
    else
   Ijava.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 49
    fi;
    falsejava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
   end;

java.lang.StringIndexOutOfBoundsException: Range [16, 8) out of bounds for length 26

java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 20


#############################################################################
##
#M  FindActionKernel(<G>)  . . . . . . . . . . . . . . . . . . . . permgrp
##
InstallMethodF,""
  [IsPermGroupIsPermGroup]],java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
function(G,N)
local pool, dom, bestdeg##                             this function returns an epimorphism from G
      badcomb, idx, i, comb,act,k,j;

  if IndexNC(G,N)<50 then
    # small index, anything is OK
    return GenericFindActionKernel(G,   java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 49
  else
    # get the known ones, including blocks &c. which might be of use
    DoCheapActionImagesG);

    # find smallish layer actions
    oo:=ClosureGroup(SolvableRadical(G), h, )java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    dom:=java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
    dom:=Filtered(dom,  if (HasSize(N) and Size((  (N=)or N)and

    i:=2;
    while i<=Length(dom) do
      j:=i;
      while j<Length(dom)
        #and HasElementaryAbelianFactorGroup(dom[i-1],dom[j+1])
        and dom[1]dom[        and IndexNC(dom[i-1],dom[j+1
        j:=j+1;
     od
if(domi]j)=2000then
            
        oo:=psubjava.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 25
          return v[:=GetNaturalHomomorphismsPoolGN;
          end);
        for k in oo do
          if (k> then
            :=Gk[1,x)
              return v[PositionCanonical(v,x^gproj:=ProjectionGproj)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
            end);
            repeat
              if G,)then
                AddNaturalHomomorphismsPool(G,Core(G    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
              fi;
              m:=u;
              u:=java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 52
            until m=u;
      
        od
      fi;
      i:=j+1;
    od;

    pool:=NaturalHomomorphismsPool(G);
    dom:=MovedPoints(G);

    # store regular to have one anyway
     not G IsFinite(G)
    AddNaturalHomomorphismsPool(G,N,N,bestdeg);

    # check if there are multiple orbits
    oh:G,);
    s    ifh>then
    if not ForAny(s,i->IsSubset(N,i)) then
      Info toorbits");
      s:=List(s,i->ClosureGroup(i Length(ovedPointsRange, found);
      if Intersection(s)=N then
        Info(java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 57
        List(s,i->
      fi;
    fi

    CloseNaturalHomomorphismsPool(G,N);

    # action in orbit image -- sometimes helps;
    if Length(o)>1 then
      for i in o do

=ActionHomomorphism(G,i,OnPoints,"surjective");
        k:=KernelOfMultiplicativeGeneralMapping(act)
        :=(k,N) # pre-image of (image of normal subgroup under act) of ( of  subgroupunder )
=(act)
       :=(Image(ct,u)

        o:=java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 13
ifIsInt()hen otherwise  do
          (Gk,*o;
        fi;
      od; ;
     (G,)
    fi;

    bestdeg:=DegreeNaturalHomomorphismsPool(G,N            

    (InfoFactor1"andknown          Info(InfoFactor,5,"Intersect ",co,": ",

    =java.lang.StringIndexOutOfBoundsException: Range [21, 14) out of bounds for length 22
    # use subgroup that fixes a base of N
    # get orbits of a suitable stabilizer.
    o:=    for i in disca;
    snew:
badnormalsF KnownNaturalHomomorphismsPool() java.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
    if ()1and     if A<50 or (IsInt(A) and<()(G)))
   cnt:(OrbitsDomains,dom)i-Length()>;
      for i in do
        v:=ClosureGroup(N,        Info(InfoFactor,2,"use(nfoFactor,,use  )
############################################################################
          and not ForAny(badnormals,j->IsSubset(v,j)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 7
u=G,v);
            u:=arg[2];:arg[;
            Add(badnormals,u);
          fi;
          AddNaturalHomomorphismsPool    :a[3;
        
      java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

      
aturalHomomorphismsPoolN;

      java.lang.StringIndexOutOfBoundsException: Range [39, 13) out of bounds for length 51

      Info(InfoFactor,1,"Base Stabilizerandjava.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 5

      if
        # should be better...
        bestdeg:=ImproveActionDegreeByBlocks  ;
          java.lang.StringIndexOutOfBoundsException: Range [40, 37) out of bounds for length 44
        =true;
        
      java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 37
   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 whetherjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 48
   :,)-ength([])
    by right   filter := IsPermGroupGeneralMappingByImages a
    oo:=OrbitsDomainjava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 15
    s:=G;
    for i in oo   return hom*DoFac (NiceObject(),hU,Image            andjava.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
      s:=StabilizerOfBlockNC(s,i[1]);
    od;
InfoInfoFactor,2"  [[IsGroup,java.lang.StringIndexOutOfBoundsException: Range [20, 17) out of bounds for length 21

    if not (,->sSubsets,j) 
 wethiswayjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
ifSizee(FamilyObj( G ) ),
        badnormals,y>java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 59
 fi
      java.lang.StringIndexOutOfBoundsException: Range [35, 32) out of bounds for length 48
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      m:=G; # guaranteed fail
    fi

    if ""java.lang.StringIndexOutOfBoundsException: Range [1, 0) out of bounds for length 0
      =(Gs)
      blocksdone:=false;
      Info(InfoFactor#############################################################################
    elif Size(m)>Size(N) =    o:=OrbitsDomain( < java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
     # no hard work for trivial cases
        ,k
# try to find a subgroup, which does not contain any part of m
#java.lang.StringIndexOutOfBoundsException: Range [20, 13) out of bounds for length 75
        Gjava.lang.StringIndexOutOfBoundsException: Range [0, 48) out of bounds for length 45
(,FilteredGeneratorsOfGroupG- )java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
        

        cnt:=1;
        badcomb:=[];
        repeat
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
          for comb in [.#
#rint(>c,njava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
             notForAnybadcombj>j)then
              :SubgroupNC(G
              o:=ClosureGroup(N,u);
              idx:#        :(hom;
              < Factorialjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
                 java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 59
                badcombImmutable()Info(2"subgroup index ",(,u)
    v:PreImage(u)
              if idx<bestdeg and Size(G)>Size(o)
              and not ForAny(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 29
                m:=(o)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
                if Size(m)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      (InfoFactor,3" ,
                  
                  if not m java.lang.StringIndexOutOfBoundsException: Range [10, 29) out of bounds for length 13
                    Addm;
                  fi;
                fi
                if idx,             Addallb,;
                  (3," ,omb,")
                  java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
                  (>1then
                  fjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 36
                  0;
                ;
              java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
            fi;# all good blocks
    od,dub)
          cnt=k=k)
        SizeCjava.lang.StringIndexOutOfBoundsException: Range [39, 28) out of bounds for length 66
      fi:=;
fjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

    Info(,,Stabilizer           
    force
    if    ;
      #######################################################################;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        GetNaturalHomomorphismsPool(G,N));
      blocksdone:=java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 2
      Info(InfoFactor,2,"[  and    
    fi;

    =IndexNC)
      B , arg
      if GenericFindActionKernel(local G, N, knowi, goodi, simple, ,zen,cntjava.lang.StringIndexOutOfBoundsException: Range [5, 3) out of bounds for length 25
        blocksdone:=true;
      fi;
bestdeg(,java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
   I"Random "bestdeg);
    fi;

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      cnt# perm groups or nice groups
actPermRepMaxDescN,)
          =GRightCosets(,N,java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 70
      if bestdeg<cnt then blocksdone:=falsereturn;
      Info(InfoFactor,        # special treatment for abelian factor(N then
    fi;

    if not blocksdone then
      ImproveActionDegreeByBlocksG,GGGN)O"";
    fi;

    Info  :andNrMovedPointsG>0000
    return GetNaturalHomomorphismsPool(G,N)  =java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 59
    o;
  fi;

java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

#############################################################################
##
#M  FindActionKernel(<G>)  . . . . . . . . . . . . . . . . . . . . generic
##
F,",java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 54
[sGroup java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 54
function(G,N)
local hom,hom2;
  dotriv=java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  :G),Image(hom,);
   hom2 then
    return hom*hom2;
  else
    return hom extension
  fi;
end);

java.lang.StringIndexOutOfBoundsException: Range [40, 10) out of bounds for length 40

#############################################################################
##
#M  NaturalHomomorphismByNormalSubgroup( <G>, <N> )  . .  mapping G ->> G/N
##                             this function returns an epimorphism from G
##  with kernel N. The range of this mapping is a suitable (isomorphic)
##  permutation group (with which we can compute much easier).
InstallMethod(NaturalHomomorphismByNormalSubgroupOp,
lObj,sGroup,,,
function(G,N)
local proj,h,pool;

  # catch the trivial case N=G
  G,N  GN= then
    h:=FACTGRP_TRIV;  # a new group is created:Group(Concatenation),[([]])
    ( G, h GeneratorsOfGroup(G ,
           List( GeneratorsOfGroup G ,i ( );  # a new group is created
    SetKernelOfMultiplicativeGeneralMapping( h, G );
hjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
       ;

  # catch trivial case N=1 (IsTrivial might not be set)
  if (HasSize(N) and Size(N)=1) or (HasGeneratorsOfGroup(N) and
    ForAll(GeneratorsOfGroup(N),IsOne)) then
    return IdentityMapping(G);
  fi;

  
  pool:=NaturalHomomorphismsPool(G)
  h:=PositionSet(pool.ker,N);
  if h<>fail java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 0
    
  fi;

java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 75
  if # store known informationwe do't,just store the ubgroup)
    h      dotriv:=true
  ;

  if HasDirectProductInfo(,);
    for proj in [1..Length(DirectProductInfo(G)      ;
            =java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 47
      h:=NaturalHomomorphismByNormalSubgroup
      AddNaturalHomomorphismsPool(G,
        if IsSubset(SolvableRadical(u),N) and Size(N)<Size(SolvableRadical(u)) then
    od max=DoMaxesTF(u,"":c)
  fi;
   fi;

  h:=          in do
   h>fail and RootInt(2)IndexNC(,N then
    :GetNaturalHomomorphismsPoolN);
  else
    h:=fail;
  fi;

  if h=fail then
    # now we try to find a suitable operation

    # redispatch upon finiteness test, as following will fail in infinite case
     HasIsFinite(G) and IsFinite(G) then
      GN;
    fi;

    if = and zzzbadi then
    if h<>fail then
      Info(InfoFactor,1,"Action Info(nfoWarningInfoFactor,2,
        Length(MovedPoints(Range(h)))," found");
    else
      Error("I       totalcnt=0;
      # nothing had been found, Desperately one could try again, but that=N;# all new
      # would create a possible infinite loop.
      h:  ,N )java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    fi;
  fi;
  # return the map
  h
end);

java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 79
  [IsGroup,IsGroup],[IsGroup and IsFinite,IsGroup],0);

patchOnCondition(,java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  [][  ,)

RedispatchOnCondition(FactorGroupNC,IsIdenticalObj,
  IsGroup,[IsGroup ,0;

#############################################################################
##
#M  NaturalHomomorphismByNormalSubgroup( <G>, <N> ) . .  for solvable factors
##
NH_TRYPCGS_LIMIT:=if cheap<then
InstallMethodhom=java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 35
if java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 41
  (InfoFactor,append )
function G N 
local   map,  pcgs, A, filter;

  if KnownNaturalHomomorphismsPool),x->Imageihomhom,)),
A=G)
    if < or(A) AGN)IndexNC(,),2)^2 
      :java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 44
      if map<>java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 17
        Info(InfoFactor,2,"use stored map");
        return map;
      fi;
    fi
  java.lang.StringIndexOutOfBoundsException: Range [0, 4) out of bounds for length 0

  if IndexNC(      :;
    or Minimum:Stabilizerk,[]OnTuples);
    TryNextMethod((s<(
  fi

  # Make  a pcgs   based on  an  elementary   abelian series (good  for  ag={;
  # routines).
  pcgs :
  ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      TryNextMethod();
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

  # Construct or look up the pcp group <A>.
  A:=CreateIsomorphicPcGroup

  b:DoActionBlocksForKernel

  # Construct the epimorphism from <G> onto <A>.
  map := rec();
      :*java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 60
            IsToPcGroupGeneralMappingByImages java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 47
            IsGroupGeneralMappingByPcgs 
            IsMapping and IsSurjectiveGjava.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 67
HasSource and
             return s
            return IdentityMapping(G

  map.sourcePcgs group hasno weprobablydonot   
  map# intermediately with it.

   java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
  NewType( GeneralMappingsFamily
           ElementsFamily FamilyObj(   ),
            ElementsFamily( SetBaseOfGroup(H,BaseOfGroup(Gjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
            Source,G,
            Range,A,

            ImagesSource,A,
            KernelOfMultiplicativeGeneralMapping(H) 
            );

  return improve
end );

#############################################################################
##
#F  PullBackNaturalHomomorphismsPool( <hom> )
##
 InfoFactor2, "NrMovedPointsH);
local s,r,nat,k;
   b:H
  r:=Range(hom);
  java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 58
    nat:=hom.=java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
    AddNaturalHomomorphismsPool(s,PreImage(homInfoInfoFactor,, actionsimproved  degree "NrMovedPoints(H);
od;
end);

#############################################################################
##
#F  TryQuotientsFromFactorSubgroups(<hom>,<ker>,<bound>)
##
InstallGlobalFunction(TryQuotientsFromFactorSubgroups,function(hom
local s,pjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
  sjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  p:=Image(hom);
  k:=KernelOfMultiplicativeGeneralMapping##  extension of <U> in <G> such that   \bigcap U^g=N remains valid
  it:=DescSubgroupIterator(p:skip:=4);
  repeat
    u:=NextIterator(,mprove,,bb,kbestdeg,opbcbestblock,dom
    Info(InfoExtReps,2,"Factor subgroup index "      bestop,,subomax;
    v:=PreImage(hom,u);
    d:=DerivedSubgroup(v);
    ifnot (d,k)then
      d:=ClosureGroup(ker,d);
      if not IsSubset(d,k) then
       :NaturalHomomorphismByNormalSubgroup(v,d);
        mak:=Image(ma,k);
        lev:=0;
    ops=oh]java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        b.blocksdone:[java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 26
          lev:=lev+1;
          low:=ShallowCopy(LowLayerSubgroups(Range(ma .[i]=true;
          SortBy(low,x->-Size(x));
          sub:=First(low,x->not IsSubset(x,mak));

        :PreImagema,;
        Info(InfoExtReps,2,"Found factor permrep ",IndexNC(s,sub));
        d:=Core(s,sub);
        java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
        tersection(d;
        if if IsTransitivedom)then
      fi;
    fi;
  IndexNCu>bound
end);

#############################################################################
##
#M  UseFactorRelation( <num>, <den>, <fac> )  . . . .  for perm group factors
##
InstallMethod( UseFactorRelationbc:F(,>1 ini;
   [ IsGroup and HasSize, IsObject, IsPermGroup ], subo<>ail ((subo<subomax) then
   function( num, den, fac )
   local limit;
   if not HasSize(fac) 
          # might be too much work to do)
       (,Size(num) / Size( );
     else
 Size  ;
        IsBound( ()limit ) then
         limit := Minimum( limit, StabChainOptions(fac).limit );
       fi;
       bb=(mg,om,dom[]si])java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
     ;
   fi;
  TryNextMethod(;
   end );

Messung V0.5 in Prozent
C=79 H=84 G=81

¤ Dauer der Verarbeitung: 0.40 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.