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

Quellcode-Bibliothek twocohom.gi   Sprache: Shell

 

#############################################################################
##
##  This file is part of GAP, a system for computational discrete algebra.
##  This file's authors include Bettina Eick and 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
##

#############################################################################
##
#F  CollectedWordSQ( C, u, v )
##
##  The tail of  a conjugate  i^j  (i>j) or a   power i^p (i=j) is  stored at
##  posiition (i^2-i)/2+j
##
InstallGlobalFunction( CollectedWordSQ, function( C, u, v )
    local   w, p, c, m, g, n, i, j, x, mx, l1, l2, l;

    # convert lists in to word/module pair
    if IsList(v)  then
        v := rec( word := v,  tail := [] );
    fi;
    if IsList(u)  then
        u := rec( word := u,  tail := [] );
    fi;

    # if <v> is trivial  return <u>
    if 0 = Length(v.word) and 0 = Length(v.tail)  then
        return u;
    fi;

    # if <u> is trivial  return <v>
    if 0 = Length(u.word) and 0 = Length(u.tail)  then
        return v;
    fi;

    # if <v> has trivial word but a nontrivial tail add tails
    if 0 = Length(v.word)  then
        u := ShallowCopy(u);
        for i  in [ 1 .. Length(v.tail) ]  do
            if IsBound(v.tail[i])  then
                if IsBound(u.tail[i])  then
                    u.tail[i] := u.tail[i] + v.tail[i];
                else
                    u.tail[i] := v.tail[i];
                fi;
            fi;
        od;
        return u;
    fi;

    # unpack <u> into <x>
    x := C.list;
    n := Length(x);
    for i  in [ 1 .. n ]  do
        x[i] := 0;
    od;
    for i  in [ 1, 3 .. Length(u.word)-1 ]  do
        x[u.word[i]] := u.word[i+1];
    od;

    # <mx> contains the tail of <x>
    mx := ShallowCopy(u.tail);

    # get stacks
    w :##  This file's authors include Bettina Eick and Alexander Hulpke.
    p := C.pstack;
    c := C.cstack;
    m := C.mstack;

    # put <v> onto the stack
    w[1] := v.word;
    p[1] := 1;
    c[1] := 1;
    #F  CollectedWordSQ(##

    # run until the stack is empty
    l :####  Copyright of GAP belongs to its developers, whose names are too numerous
    while 0 < l  #java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        # remove next generator from stack
         v:=rec word: v, tail : [];

        # apply generator to <mx>
        for i          u := rec( :=u,  : ] );
            ifif =Length.word) and 0 =Length(v.tail  then

                # we use the transposed for technical reasons 0=Length(.word)and =Length(u.tail)  then
                mx[i] := C.module        return java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
            fi
        od;

        # raise current exponent
        c            ifIsBound(.taili)  then

        # if exponent is too big
        ifwl]pl+1] <c[l]  

            # reset exponent
            c[l] := 1;

            # move position
            p[l] := p[l] + 2;

            # if position is too big
             Length[l]) <p[tjava.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40

                # modify tail (add both tails)
               l1 : Length(mx);
                l2: Length(m[]);
                for i        x[i]:=0java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
                    if IsBound(mx[i])  then
                        if IsBound([l][])  hen
                           i]:= mx[]ml]i;
                        fi;
                    java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 2
                        mx[i : m[l[i]java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                    fi;
                od;
                if l1 < l2  then
                    ###########################################################
                        
                            InstallGlobalFunction(CollectedWordSQ
                        fijava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
                    od;
                     (v) then

java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
                mjava.lang.StringIndexOutOfBoundsException: Range [0, 9) out of bounds for length 7
l  ;
            fi;
        fi;

# now
        for i  in [ n, n-1 ..ifmx  .] []
            
                : l1java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
                 =relatorsi][]
                # if <v> has trivial word but a nontrivial tail add tails
p[]: ;
                l1   := (i^2-i)/2+g;
                if not 
cl]: ;
                        mx[l1] := C.mone + mx[l1];
                   
              [] :=C.;
                    # if position is too big
                fi;
                m[l] := mx;
[
                l2 := [];l2: ([];
                not  avoidthen
                    l2[l1] := C.                
fi
                ifm]i) 
                    fi
                    w        java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
                    ]=1;
                    p[l] := 1;
                    m[l] := l2;
                ;
x[ = 0;
            fi;
        od;

       # raise exponent
        x[g] :=                 il1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        # and check for overflow                             [[)
        

                 .wstack;
                l1 := C.relators[g][g        ;
                ;
                    x
                od;
            java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
            l1    []:        ;
            if not l1 in C.avoid  then
                   ;
                     =l+;
        
                   mxl;c :1
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
               l1   =i2)2+java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
        ;
    od;

    # and return result
    w: ]java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    formx[1]:Cmone
                
            Add( w, i        l =[]1;
            Add( w, x[i] );

    od;
    return 
 );

#############################################################################
##
#F  CollectorSQ( G, M, isSplit )
##
l2l1]=java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
local  ,,, ,j   ,java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 29

    # convert word into gen/exp form
    word
        local      []()
        if OneOfPcgs                      [:1
            r= java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        else
            l :=for                java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
            r := [];
            k   
<>  
                    Add( r, k );
                    Add( r, []]java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
                fi;
            od;
        fi;
        return r;
    endx    then

    # convert relators into list of lists
    ifl1=(g2g);
        pcgs := G;
    else
Pcgs  )
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    r := [else
    o                    ;
for    .()]do
        r[i] := [];
        for j                 andunbind
            r[            ;
        od;
        r[i][i] :java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    od    #

    # create collector for Gif  [n,-.java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 39
    GcollAdd ,[i )                +java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
relatorsreturn r;
    .orders: o;

    # create stacks
    java.lang.StringIndexOutOfBoundsException: Range [16, 9) out of bounds for length 23
    lestack: []java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    Gcoll.pstack := [];
   .cstack: [;
    Gcoll.mstack := [];

    # create collector list
    Gcoll.list =List( pcgso: RelativeOrders(pcgs )

    # in case we are not interested in the module[]: [l]+java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
     for         if w[][l1<c]then

    # copy collector and add module generatorsi]j]=word(pcgs, pcgs[]java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    r #if r[i][i] := wordpcgs,cgs[^[])

    # create module gens (the transposed is a technical detail)    # create collector for G
=List(.generators,i-ImmutableMatrixl1 : Length(x;
    r.l2 : Length([];
    mzero :ImmutableMatrix(Mfield,Zero(.one);

    # add avoid
    r.    Gcoll.stack =[];
    isSplitjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 23
k:=CharacteristicGcoll.cstack : [;
        for i  in [ 1 .. Length(r.ordersmx[i] : mx[]ml[i];
            for j  in [ 1 .. i ]  do
                # we can avoid
                if  mx[=[]i];
                # was: r.orders[i] <> k and r.orders[j] <> k  then
   AddSetravoidjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                fi;
                          if # copy collector and module generators
        od;
    fi;

    # and return collectormx[]:ml[]java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    return r;
end );

#############################################################################
##
#F  AddEquationsSQ( eq, t1, t2 )
##
 isSplit
    local   i        

    # if <t1> = <t2>  return
    if  for i  in[n -1.g1 

    # compute <t1> - <t2>
    t1 := ShallowCopyl] :=1java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    for i  in [ 1 ..                 notl1  avoidthen
        if IsBound(java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 11
            if IsBound(t1[i])  then
                        []]=mone;
            else
                t1[i] := -t2[i];
            fi;
        fi;
    od;


    l                 : ]java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    : ]java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
       in 1.Length(t1)]do
        if IsBound(t1[i])  then
            forjin  1 . eq.imension]do
if [i]< eq.vzero then
                    l: l+;
                   ( []i, v);
                    ShrinkRowVector(l[j][i]);
                fi;
            od;

    od;

    # and reduce lines
    n: eq.dimension;
    for j  in [1.. n] java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 26
         =l];
        v := Length(x);
        if 0 < java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        while 0 < v and IsBound(eqjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            c := -            t1]: t2[i];
                        ifrelatorsg]g] >0 then
                if IsBound(x[i])  then
                    x# make lines
                    AddCoeffs((x[ .system[][,c)
                    ShrinkRowVector(x[i]);
                    if  = (x[i]  then
                        Unbind(            l1 = (g^2+/2java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
                    fi;
                else
                    x[i] := c * eq.system                
                fi;
            od
            v := Length(        ;
            if 0 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        ;
        if 0 < v  then
&nsp; in[ ..C do
for ineqs       java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
                 od
                # generated p
                   (x] system]i ifk    
                    ShrinkRowVector    j =1
                    if 0 = Length(x[i]java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 15
                         =[java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
                    fi;
                
                    x[i]  ri :[;
                fi;
            od;
            v :=             [                    : .Ci-);
            if                    [od
               java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
        0< 
            eqsystem[]:              ( Length 
            eqod
        fi;
    od;
end

#############################################################################
##
#F  SolutionSQ( C, eq )
##
    Gcoll :[;
    local   x,  e,  d,  t,  j,  v                p >  

    # construct null vector
    n :      casewe are not interestedAddCoeffs [j] [] -)
   iin[1. nrels(avoid)  java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
        java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 46
    od;od;

    # generated position
    C.unavoidable := [];
    j := 1        d:   .nrelsLength.)]  
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        if not i in C.avoid  then
C =;
            j         in  java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        fi;
    

    # blow up vectors
    t : ];
    w := [];                # we can avoid
    for j        Add(,  ;
        if       =(.) 
            v := ShallowCopy(n);
             i  ineq.pos[] do
                if not                 ;
                   p : eq.*(.java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 12
                    v{        ;
                ;
            od;
            ShrinkRowVector(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#############################################################################
            AddSet( #F  AddEquationsSQ( eq, t1, t2 )
        fi;
    od;

    # normalize system
    v := 0*eq.vzero[1];
    for i  in w  do
        for j  in w  do
            if j > i  then
                p:=t[]i;
                if p <>     e :=
                    []:=ShallowCopy(t[])
    for        {  java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
                    ShrinkRowVector(t[j]);
                java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
            fi;
        odt1]: -t2java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    od

    # compute homogeneous solution
InstallGlobalFunction
    v := [];
    e:eq[10java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    for i     
        x :=        ( n =engthG;
        x[i] := e;
        for j  in w  do
            if j  = i
                x[j] := -t[j][i];
            fi;
               java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
Add v, x)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    od;
thC)then
        returnvjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    fi;

    # construct null vector
     :[
        [ 1 ..els ]do
        Append(,q. )
    od;          <v  then  = (-)n + Length(x[])  ;

    # construct a blow up matrix
    i :                    od;
eqnrels ] do
        if not                 
            Append( ,(j-1)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        fi;
   od;

    # blowup the vectors
     :[java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    forx   vjava.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 63
        d :                w1word >w2.  then
        
        Add( e, d );
    od;

    # and return
    return e;
end );

#############################################################################
##
#F  TwoCocyclesSQ( C, G, M )
##
     consistency 2: j^(p-1) (ji) = j^p i 2 j^-1 (  ^i
    local   pairs , ,  k, w1 ,eq,p n;

    # get number of generators
    n := Length(end)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

    # collect equations in <eq>#F  SolutionSQ( C, eq )
    eq := rec( vzero     := C.mzero[1],
     : mzero,
                :=java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 27
nrels: n+n/2,
               spos      = [],
                       Append( n.zero )java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

    # precalculate (ij) for i > j
    pairs := List( [1..n], x -> [] );
    ]  do
        for j  in [ 1 .. i-1 ]  od;
            
            # consi 3: k ii(-1)=()^              +1
    od;

    # consistency 1:  k(ji) = (kj)i
    for i  in [ n,        k  in  
        for forj[  .(.stem   java.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
-1 ..j+                   java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 59
                 =for i  in eq.spos  java.lang.StringIndexOutOfBoundsException: Range [36, 37) out of bounds for length 36
                    p-]);
                if w1.if w1.word <> w2then
                     (kji"                    {+.engtheqystem]i)]: system[]i]
                else
                    (eq w1tail            else
                               fi
od
        od;
    od;

    # consistency 2: j^(p-1) (ji) = j^p i
    for i  in [ n, n-1 ..      :0*qv[1;
        for j      i  wdo1 .] do
            p  : C.orders[]java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
            w1 := CollectedWordSQ( C, [j,p-1],
                             :CollectedWordSQ( C i,,
             =   p1,[1)
                    [i,1]  java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
            if w1.word <> w2.word  then
                 j(-1)(ji >j^ "                    ([]java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
            else
                AddEquationsSQ(    # and return solution
            ;
        od
    od;

    # consistency 3: k (i i^(p-1)) = (ki) i^p-1 : 
    for i  in [ n, n-1 .. ##
        p := C.orders[i];
 +1  do
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 23
            =( C,CollectedWordSQ  1 1)
                    p])
            if w1.word <> w2.word
                Error( "k i^p <> (ki                            [k]]=[]] java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
            lse
                AddEquationsSQ( eq, w1.tailsystem   = ])
            fi;
        od;
    od;

    # consistency 4: (i i^(p-1)) i = i (i^(p-1) i)
    for i  in [           in   .ijava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 12

    ;
                [i,1] );
        in ,n     java.lang.StringIndexOutOfBoundsException: Range [33, 34) out of bounds for leng          x := (i^2-i)/2 + j;

            # power relator
            if i = j  then .java.lang.StringIndexOutOfBoundsException: Range [37, 34) out of bounds for length 43
                m := C.mone;
                for e  in [ 1 .. C.orders[i] ]  do
                    R[i][x        =(ew>(,
                od;

            # conjugate
            else
                R[i][x] := R[i][x] - M[j];
                R[j]] : R[][] MI[]Mi*[j  C      ;
            fi fi;

            # compute fox derivatives
m: Cmone
            r := C.relators[i][j];
            if r <> 0  then
  in  Length()1,(r)-     java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 40
                    for e  in [ 1 .. r[k+1] ]  do
                        R[r[k]][x] := R[r[k]][x] + m;
                         := M[rk] *mjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                    ListWithIdenticalEntries(2*dim
                od;
            fi;
        od;
    od;

     make one list
    m := [];
   r = n*n)/;
    for i  in [ 1 .. n ]  do
        for k  in [ 1 .. d ]  do
            = ]
             j   [1 . r]do
                Append e R[i][][k )
            od;
            Add( m, e );
        od;
    od;

    # compute a base for <m>
    (m)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
end );

#############################################################################
##
#F  TwoCohomologySQ( C, G, M )
##
InstallGlobalFunction, function(C , java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    local cc, cb;
    cc := TwoCocyclesSQ i in [1..im]do
    if Length( cc ) > 0 then
cb: ( C,G M )java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
        if Length( C.avoid ) > 0 then
            cb := java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 5
        fi;
        if Length( cb ) > 0 then
            cc :=   gens:=GeneratorsOfGroup;
        fi;
    fi;
     ;
end );

#############################################################################
##
#M  TwoCocycles( G, M )
##
InstallMethod( TwoCocycles,
    "generic     for in [..im]java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    true,
[    if Length( 
         : =TwoCoboundariesSQ(C,,M)
    for in [1.    java.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28
            cb := SumIntersectionMat( cc, cb )[2]x:nonone,len,g
        fi;
        if Length( cb )    collect the word in factor group
            cc                 :C.
        fi;
    fi;
    return cc;
end );

#############################################################################
##
#M  TwoCocycles( G, M )
##
InstallMethod( TwoCocycles,
     java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 35
    true,
    [ IsPcGroup;
    0,

functionjava.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 13
    local C;
    C :   mapped:=function(l
    TwoCocyclesSQ C G  ;
end );

#############################################################################
##
#M  TwoCoboundaries( G, M )
##
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
    "generic method for pc groups",
    true,
    [ IsPcGroup, java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    0,

function( G,M )
    local C;
    C := CollectorSQ( G,     i=java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
     = [;
end );

# non-solvable cohomology based on rewriting

#############################################################################
##
#M  TwoCohomology( G, M )
##
 ,
    "generic method for pc groups",
    true,
    [ IsPcGroup,             Add( m, e 
    0,

function( G, M )
    local C, d, z, co,                 return Base)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    C := CollectorSQ( G, M, false;
    d := Length( C.orders );#
    d := d * (d+1) / 2;
( List(      fi;
     : TwoCocyclesSQ(C, G,M );
        od
    cb := TwoCoboundariesSQ( C, G, M );
    cb := SubspaceNC( co, cb );
   return rec(group : ,
                module : .  0 then
                collector
                isPcCohomology:=true,
                 :
                cc := BaseSteinitzVectors( cc,#  if false then
                presentation :        ;
end );

# code for generic 2-cohomology (solvable not required)

InstallMethod(#############################################################################
  ##
function(G,mo)
local field,fp,fpg,gens,hom,mats,fm,mon,tzrules,java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 27
      len1,l2,java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 8
      findtail,colltz,
      java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
      nonone,olen,dag;


#collect      :fp;
  fm=on.;
 i,

    # collect from left#  fi;
  :=(L((java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
   ia 

#does ruleapplyat  i?
      p:RuleAtPosKBDAG(ag,i;

      if IsInt(p) then
 java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
          a{[i+Length(tzrules[p,G  ;
        i:=Maximum(0,i-maljava.lang.StringIndexOutOfBounsp;  # collect from left
    i:=1;
    whilejava.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0

      # does a rule apply at position i?
      p:=RuleAtPosKBDAG(dag,wrd,i);

     if () rulpos[]>fail then
        p:=rulpos[p];
tail forini.Length(ens]
        wrd:=Concatenation(wrd{[1..i-1      (gi[j)
        if p in ;
          if IsIdenticalObj(v[p],zero) then
            v[p]:=mapped(tail);
          else
p:p+appedjava.lang.StringIndexOutOfBoundsException: Range [36, 34) out of bounds for length 36
          ;
        ;
        i:=Maximum(0,i-mal); # earliest which could be affected
    ;
      i:=i+1;
    od;

    return [wrd,v];:Maximum(1000,*(pS(p,);
  end;

  field:=mo.field;

  simi:=fail;

#  if false then
#    #  old general KB code, left for debugging
#    fp:=IsomorphismFpGroup(G);
#    fpg:=Range(fp);
#    fm:=IsomorphismFpMonoid(fpg);
#    mon:=Range(fm);
#
#    if IsBound(mon!.confl) then
#      tzrules:=mon!.confl;
#    else
#      kb:=KnuthBendixRewritingSystem(mon);
#      MakeConfluent(kb);
#      tzrules:=kb!.tzrules;
#      mon!.confl:=tzrules;
#    fi;
#  else

    # new approach with RWS from chief series
mon=)
    fp:=mon.fphom;
    fpg:=Range(fp);
    fm:=mon

    tzrules:=List(RelationsOfFpMonoid(mon),x->List(x,java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 40
#  fi;

  dag:=EmptyKBDAG(Union(List(GeneratorsOfMonoid(FreeMonoidOfFpMonoid(mon)),
    LetterRepAssocWord)));
  mal:=Maximum(List(tzrules,x->Length(x[1]      sim=IsomorphismSimplifiedFpGroup()
  for i in      =)
    AddRuleKBDAG(dag,tzrules[i][1],i);
  od;

  gensjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    x>PreImagesRepresentative,x);

  hom:=GroupHomomorphismByImagesNC(G,Group(mo.generators),
    GeneratorsOfGroup(G            
(gensx-ImagesRepresentativehom),.field # new gens

  l1:=GeneratorsOfGroup(fpg);
  l1:=Concatenation(l1,List(l1,Inverse));
  formalinverse:=[];
  for i in l1 do
AssocWord(nderlyingElementImagesRepresentativefm,));
    o:=LetterRepAssocWord(UnderlyingElement(ImagesRepresentative(         ListWithIdenticalEntries.odule.dimension,());
    if Length(j)<>1 or Length(o)<m:=p;
    formalinverse[j[1]]:=o[1];
  od;

  # rules that describe formal inverses, or delete generators of order 2 get no
            :=FilteredDerivedSeriesOfGroup()
  hastail:=[];
  rules:=[];
genkill:=];# relations that kill generators. Needed for presenation.# roughly 5 for 1000, 30 for 10^6, 170 for 10^9
  for r in # allow to enfo test coverage
    if Length(r[1])>=2 then
Add(,r)
      if Length(r[1])>2 or
        (Length(r[1])=2 and (Length(r[2])>0 or formalinverse[r[1][1]]<>r[1][2]))
        then
          ;
      fi;
    else
 generator is not used
      m:=First(RelationsOfFpMonoid(mon),x->List(x,LetterRepAssocWord)=r);
      m:=List(m,x->PreImagesRepresentative(fm,ElementOfFpMonoid(FamilyObj(One(mon)),x)));
     :List(nderlyingElement) # free group elements/words

      if not IsOne(m[1]*Subword(m[2],1,1)) then
akea generatorredundant (byexpressing it  the
        # other gens)? If so, remember relation as needed to kill this generator, butifit=fail then
        # no influence on Cohomology calculation (which just uses the rest)
         m1 in GeneratorsOfGroup(FreeGroupOfFpGroupF()!
          then Add(genkill,r);
        fi;
      fi;
    fi;
  od;

  rulpos:=List              :pjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19

  htpos:=List([1..Length# avoid working hard for outer automorphisms

  model:=ValueOption("model            e:=ilteredDerivedSeriesOfGroupm,
  if model<>fail then
    q:=GQuotients(model,G)[1];
    pre:=List(gens,x->PreImagesRepresentative(java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 42
    ker:=KernelOfMultiplicativeGeneralMapping(q);
           m:Laste)
    l1:=GModuleByMats(LinearActionLayer(java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 28
   MTXIsIrreducible)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    miso:=MTX.Isomorphismfi
,x));
    pcgs:=PcgsByPcSequence(FamilyObj(One(model)),new);
vector
    solvec:=[];
    one:=Onefalse<.field
    m:=GroupGeneralMappingByImagesNC(fpg,model,GeneratorsOfGroup(              m,
    mats:=List(GeneratorsOfMonoid(mon)x>java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 70
      x->ImagesRepresentative(m,
      PreImagesRepresentative(fm,x))); #Elements for monoid generators
    nonone:=            (,,  I()java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
    pre:=mats;
    onemat:=One(G);
    for             
      r              ((p))java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
      m:=LeftQuotient;
      m:             50
solvec:Concatenationsolvec,*ne();
    od;
  fi;

  onemat:=One(mo.generators[1]);
  zerovec:=java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0

  mats:=    wasbold=
x>magesRepresentative,(fp,
    PreImagesRepresentative(fm,x)))); # matrices for monoid generators
  one:=One(mats[1
->notIsOne(mats[]);
  zero:=zerovec;
  dim:=Length(zero              # Rewriting produces a bad presentation. Rather rebuild a new
  nvars:=dim*Length(hastailjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73

#rk:=0;
  es(nvars,()java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
  eqs:=MutableBasisx>(FamilyObjOne(ps),)
  olen:             =  (,,hom is)fijava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
  for               :=List(x-ImagesRepresentative,)
trule ,i," BasisVectors(eqs), equations)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
     50
    len1:=Length(l1);
    forj [.Length() do
      l2:=rules[j][1];
      m:              
      for o in [1..m-1] do # possible overlap Length
        start:=len1-o;
        if ForAll([1..o],k->l1[start+k]=l2[k]) then

          # apply l1 first
          new:else
          c:=collectail(new);
          v1:=c[2];c:=c[1];
          if fi;
            v1[i]:=          [i][1
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    forin[.Length()do
      l2:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      m:=Minimum(len1,Length(l2));
      for o     for i 1.engthw]o
        start:=len1-o;
        if ForAll([1..o],k->l1[start+k]=l2[k])  :java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 21

          # apply l1 first
    :GModuleByMats(nearActionLayerGroupp)cgs).eld);
          od    IsIrreduciblem;
          v1=[]c:[]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
          if i in hastail then
      v1i]=v1[i]+mapped(l2{[o+1..Length(l2]);
          fi;

          # apply l2 first
          new:=Concatenation(l1{[1..len1-o]},rules[j][2]);
          v2:=collectail(new);     c:[i,ormalinversemats:(GeneratorsOfMonoidmon,
          if c<>v2[1] then Error("different in factor");
          #else Print("Both reduce to ",c,"\n");
          fi;
         :v2[2;
          if    =matsjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
           [j]=[]ne;
          fi;
         if           :indtail([2,rjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
            c:=        od;
            for  in  java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
              ifk>2[ then
                 Addbds,ew;
                r  fijava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                 l [..im do
  zerovec=(emat];
                    []r}=ew[l]
                  fi;
                ;

            ;
            for k  cjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

    ifmodel<and  IsZero(lvec*then
               ("odel does not fit");
              fi;
              #AddSet(eqs,ImmutableVector(field,k));
              #k:=SiftedVector(eqs,ImmutableVector(field,k));=(FreeGroupOfFpGroupf);
  #Add(alleeqs,ImmutableVector(field,k));
              k:SiftedVector,)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
              if not IsZero(#rk:=0;
                CloseMutableBasis(eqs,ImmutableVector(field,k))  local ai

              fi

           ;
          fi    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

        fi;
      od;
    od;
    olenLength(BasisVectorseqs)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    if(olen) 
      # if twice stayed the same after increaseo [.-]do # possible overlap Length
     olen[ength(    killrelators:=List-LeftQuotientapped2i],(2),
      ForAll1.o]k-l1[tart+]    # position of relators with tails in t

      k:=List(BasisVectors(eqs),ShallowCopy);;
      TriangulizeMat()
      eqs:MutableBasis(ield,
        List(k,x->ImmutableVector(field,x)),zeroq);
    fi;             hastail

  od;

  #eqs:=Filtered(TriangulizedMat(eqs),x->not IsZero(x));
  eqs:=ShallowCopy(java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 27
  if Length(eqs)=0 then
eqs=IdentityMatLength(f)
  else
    eqs:=ImmutableMatrix(java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 13
    eqs:((qs);# basis of cocycles
  fi;

   Now get Coboundaries

  # different collection function: Sum up changes for generator i
  findtail:=function(wrd,nums,vecs)
  local a,i,j,p,v;
    a:zerovec;
o
      p:=Position(nums,wrd[i]);
      if p<>fail then
       :vecs[]
        for j in [i+1..Length(wrd)] do
          v:=v*mats[wrd[j]];
        od;
        a=a+v;
      fi
    od;
     ajava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
  end;

  bds:=[];
for i  [.Length(ats]do
    if formalinverse[i] .colltz:=olltz;
      c:=[i,formalinverse[i]];
      for k in one do
        r:=[k,-k*mats[formalinverse[i] colltz(formalinverse{eversed(wrd)),

        new:=[];
        for j in hastail do
          v1:=findtail(rules[j][1],c,r);
          v2:=r.pairact:=function(zy, if notIsZero()
          n,-)
        java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
        new:=
        (,od
        Add(bds,new
      od;
    fi;
  od;
  bds:=Filtered(TriangulizedMat(bds),x->not 
  bds:   local ;

  ifgens>java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 36
    G:=GroupWithGenerators(gens);
  fi;
  r:=rec(group:=G,module:=mo,cocycles:=eqs,coboundaries:a      L()<olen[ength()3 
         prime:Size(ield);
   a:ImagesRepresentativefm)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
  r.:new;

  new:=[];
  one:=One(FreeGroupOfFpGroup(fpg));

  k:=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  eqs:=hallowCopy(asisVectorseqs);
   to monoid word
     localvjava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 25
  local a,i;
    a:=one;
    for i in list do
      a:=a*k[i];
    od;
    return a;
  end;

  for i in hastail do
    # rule that would get the tail
    Add(,(mapped2rulesi[1],apped2(ulesi[]))
  od;

  .presentation     i1Length(d) java.lang.StringIndexOutOfBoundsException: Range [32, 33) out of bounds for length 32
    # relators to kill superfluous generators
    java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 19
    # position of relators with tails in tzrules
    monrulpos:=List(rules{hastail},x->        ;
    prewords:=List(ogens,x->UnderlyingElement(ImagesRepresentative(fp,x))));

  # normalform word and collect the tails ajava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
  r.:(,)
  local v,i,j,p,w,tail;
    v:=zerovec;

#
    i:1;
    whilei<(wrd)    =java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23

      # does a rule apply at position i?
      p=d,rdi)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35

      if           :findtail(ulesj]1
        p:rulpos[]
        tail:=wrd{[i+Length(rules[p end
        wrd:=java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 12

        if p in hastail then
          w:=    # images of
          for j in tail do
            w:w*[j]
          od;
          v:=v+w;
        fi;

        i:=Maximum(0,i-mal); # earliest which could be affected
      fi;
      i:  r:rec(roup=G,odule:mo,      :left]
    od;
    ,v;
  end;

  java.lang.StringIndexOutOfBoundsException: Range [0, 3) out of bounds for length 0
  monhomfm;
  r.colltz:=colltz;

  # inverses of generators
  r.myinvers:=function(wrd,zy)
    return [colltz#    ext:=FpGroupCocycle(r,zy,true);
    -r   mapped2=mage(om)
2]java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
  end;

  r.pairact:=function(zy,pair)
  local autom,mat,i,imagemonwords,imgwrd,left,right,extima

    autom:=InverseGeneralMapping(pair[#      od;

    # cache words for images of monoid generators2*x-1))); # new generators
    if #    exte:=v;
    imagemonwords:autom!imagemonwords
    imgwrd:=function(nr)
    local a;
      if not IsBound(#      v:=-ExponentsOfPcElement(epcgs,left)*One(mo.field);
        # apply automorphism
         # normalform word and collect the tails
        a:PreImagesRepresentative,a;
        a:=ImagesRepresentative v,,,,,ail;
        a=(, :zerovec
        a:=ImagesRepresentative(fm,a);
        a:=LetterRepAssocWord(UnderlyingElement(a));
        a:=colltz(a);
        imagemonwords[nr]:=a;
      fi;
       []
    end;

    # normalform word and collect the tails
    collectail:=function(wrd)
    local v,i,j,p,w,tail;
      v:=zerovec;

      # collect from left
      i:=1;
      while i<=Length(wrd) do

        # does a rule apply at position i?
        p:=RuleAtPosKBDAG(dag,wrdod;

        if IsInt(p) and rulpos[p]<>          odjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
          p:=rulpos[p];
          tail:=        :Maximum(imal;# earliest which could be affected
          wrd:=Concatenation(wrd{[1..i-1]},rules[p][2],tailjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 13

          if p in hastail then
            =dim
            forj intaildo
              odjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
            od;
            v:=v+w;
          fi;

          i:=Maximum(0,i-mal); # earliest which could be affected)
        fi;
        :i+;
      od;
      [,vjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    end;

        autom=(pair[];
    local dogoimmediately  subgroupindexup4java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
      =]
      v:=zerovec;
          imagemonwords=utom.;
        v:=v*imgwrd:=function)
            locala
        :vw]+2;
        w:w[]
      od;
      return [w,];
    end;

    bas=(mo)
    new:[;

    # inverses of generatorsUnderlyingElement(a))java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    :        r=java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
-return[;

    # images of generators
    extim:=List      r=g=java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23

    # collect inverses and interleave generators/inverses
    

    java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
      # evaluate rules in images
      left=prdout({rules[hastail        

      # invert left
      v:myinversl[)
      left:=[v[1],v[2]-left[2]/mapped(left[1])];

      ]});

      # quotient left^-1*right       a< then
      :prdoutConcatenation(left][ight);
      if left[1]<>[ebas:((d,()

      (new,left[2]*mat);
    od;

# debugging code: Construct group and work there
#    new2:=[];
#    ext:=FpGroupCocycle(r,zy,true);
#    hom:=IsomorphismPermGroup(ext);
#    ext:=Image(hom);
#    epcgs:=PcgsByPcSequence(FamilyObj(One(ext)),
#      GeneratorsOfGroup(ext){[Length(mats)/2+1..Length(GeneratorsOfGroup(ext))]});
#
#    exta:=Concatenation(List([1..Length(mats)/2],x->[ext.(x),ext.(x)^-1]));
#    exte:=exta;
#
#    myprd:=function(wrd)
#    local i,w;
#      w:=One(ext);
#      for i in wrd do
#        w:=w*exte[i];
#      od;
#      return w;
#    end;
#
#    v:=List([1..Length(mats)/2],x->myprd(imgwrd(2*x-1))); # new generators
#    v:=Concatenation(List([1..Length(mats)/2],x->[v[x],v[x]^-1]));
#    exte:=v;
#
#    for i in [1..Length(hastail)] do
#      left:=rules[hastail[i]][1];
#      right:=rules[hastail[i]][2];
#      left:=myprd(left)^-1*myprd(right);
#      v:=-ExponentsOfPcElement(epcgs,left)*One(mo.field);
#
#      Append(new2,v*mat);
#    od;
#    if new2<>new then Error("wrong ",pair);fi;
#    if IsOne(pair[1]) and IsOne(pair[2]) then
#      if new<>zy then Error("one");else Print("onegood\n");fi;
#    fi;

    ImmutableVector,ew)
  endjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

   ;
);

 ,function()
local e,one,m,r,a,c,is,i;
    e:=[];
    one:=One(mats[1);
    for m in mats do
      r:=Set(RootsOfUPol(field,CharacteristicPolynomial(m)));
      a:=List(r,x->java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
      if Length(a)=        bas:bas{1];
      Add(,)
    od;
    for       
is:c1;
      for i in [2..Length(c)] do
        is:=SumIntersectionMat(is,c[i])[2]a=bas[i]]*.enerators;
      od;Appendn,left[*)
      if Length(is)java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
        returnis;
      fi;
    od;
  return false;
end );

BindGlobal("WreathElm",function(b,l,m)
local n,ran,r,d,p,i,j;
  n:=Length(l);
  ran:=[1..b]#
  r:=0;
  d:=[];
  p:=[];
  # base bit
  ];
      
if(is)0 then
        return is;
      fi;
    od;
  return false        fi;
end

BindGlobal("WreathElm",function(b,l,m)
local n,ran,r,d,p,i,j;
  n:=Length(l);
  ran:=[1..b];
  r:=0;
  d:=[];
  p:=[];
  # base bit
  forw:zy{*(htpos
    for j in ran do
      p[r+j]:=r+j^l[i];
    od;
    Add(d,ran+r);
    r:=r+b;
  od;
  # permuter bit.yinvers=functionwrdz)
  p:=return[(formalinverse{Reversedwrd},
  return p;
end;

BindGlobal("PermrepSemidirectModule",function(G,module)
local hom,mats,m,i,j,mo,bas,a,l,ugens,gi,r,cy,act,k,it,p;
  if not MTX.IsIrreducible(module) then Error("reducible");fi;
  p:=Size(module.field);
  if not IsPrime(p) then Error("must be over prime field");fi;
  k:=Length(module.generators);
  hom:=GroupHomomorphismByImagesNC(G,Group(module.generators),
    GeneratorsOfGroup(G),module.generators);
ow do  immediatelyto normal  of  up to 4.
  # This reduces search space
  it:=      w:[]
  repeat
    m:=NextIterator(it);

    if Index(G,m)*p>p^module.dimension then
      Info(InfoExtReps,2,"Index reached ",Index(G,m),
        ", write out module action");
      # alternative, boring version,
      mo:=AbelianGroup(ListWithIdenticalEntries(module.dimensiona=ImagesRepresentative
      :=Pcgsmo;
      act:=List(module    =]java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        GroupHomomorphismByImagesNC(mo,mo,bas,
          List(m,x->PcElementByExponents(bas,x)):noassert));
      Assert(3,ForAll(act,IsBijectivemyinversimagemonwords[:a
            fi
           imagemonwords[]java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 31
      gi:=SemidirectProduct(G,GroupHomomorphismByImages(G,a,
        GeneratorsOfGroup(G),act),mo);
      :rec(roup:gi,
                  ggens:=List(GeneratorsOfGroup(G),x->
                    ImagesRepresentative(Embedding(gi,1),x)),
                  #vector:=ImagesRepresentative(Embedding(gi,2),bas[1]),
        basis:=List(bas,x->ImagesRepresentative(Embedding(gi,2),x)));
      Assert(0,Size(gi)=           iin 1.Length(hastail)]do
      return r;

          :extim 
              p:RuleAtPosKBDAGdagw,i);
    else
      Info(InfoExtReps,2=(eft[];

      torsOfGroup)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
        x->TransposedMat(      right:=prdout(extim{rules[hastail[i]][2
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      ifa<false then
        # quotient module
        # basis: supplemental vector and submodule basis
       :BaseSteinitzVectorsIdentityMatmodule.imension,F())
          NullspaceMat(TransposedMat(a{[1]})));
        bas:Append-java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 31

        # assume we have a generating set for the SDP consisting of the code  group work there
                  java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        cy:=CyclicGroup(IsPermGroup,p).1; # p-cycle
        ugens:=[];

        # also transversal chosen in complement
        r:=RightTransversal(G,m);
        act:=ActionHomomorphism#
        ;
        #l:=ListWithIdenticalEntries(Index(G,m),());
        for gi in [1..k] do
          l:=[];
          for j in [1..Length(r)] do
            # matrix for Schreier gen
            a:=ImagesRepresentative(hom,
              r[j]*G.(gi)/r[PositionCanonical(r,r[j]*G.(gi))]);
            # how does it act on bas[1]-span, get factor
            a:=Int(SolutionMat(bas,bas[1]*a)[1]);
            # write down permutation that acts as mult by a
            if IsZero(a) then
              l[j]:=();
            else
              l[j]:=MappingPermListList([1.       w:   :=oncatenation(List1.Lengthm)2,-v],[]^-])
            fi;
          od;
          Add(ugens,WreathElm(p,l,act[gi]) )]
        od;

        # module generatorjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        for j in [1..Length(r)] do
          #r[j]*g/r[j^g]); Note j^g=j here as kernel of permrep#    if new2<>new then Error("wrong ",pair);fi;
          lj]:
            cy#      if new<>zy then Error("one");else Print("onegood\n");fi;
        #    fi;
        Add(ugensjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        gi:=Group;
        Assert(0,    java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        if   returnr
          a:end;
          if NrMovedPoints
            gi:=mageBindGlobal(MatricesStabilizerOneDim" (ield,java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
            ugens:=List(ugens,x->ImagesRepresentative(a,x));
          fi]
        fi;

        r=(groupgi,:ugens{[.k})

        # compute basis
        :[1}java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
        gi:=ugens{[1..k]};
        ugens:=ugens{[k+1]};
        i:=1;
        while Length(bas)<module.dimension do
          for in[..k]do
           :i*odulegenerators[j];
            if SolutionMat(bas,a)=fail then
              Add(bas,a);
# debugging code: Construct group and         
            fi;
          od;
          i:=i+1;
        od;
        # convert back to standard basis
        r.basis:=List(Inverse(bas),x->LinearCombinationPcgs(java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 1

        return r;
      fi;
    fi;
  until false;
end);

BindGlobal("java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 10
local best,u,v,start,cnt,runtime;
  runtime:=GET_TIMER_FROM_ReproducibleBehaviour#
  start:=runtime();
  best:#    v:=Concatenation(List([1..Length(mats)/2],x->[v[x],v[x]^-1]));
  cnt:=0;
  while runtime()-start<time or cnt<100 do
    cnt:=nt+1;
    u:=TrivialSubgroup(g);
    repeat#      right:=rules[hastail[i]][2];
      v:=u;
      u:=ClosureGroup(u,Random(g));
    until IsSubset(u,n);
    if IndexNC(g,v)<IndexNC(g,best) then best:=v;fi;
  od;
  return best;
end) p:p/(d,))    if IsOne(pair[1]) and IsOne(pair[2]) then

InstallGlobalFunction(FpGroupCocycle,function(arg)
local);
      it,hom,trysy,prime,mindeg,fps,eiBindGlobal",(m)
      tab,end;
      mon,ord,mn,melmvec,killgens,frew,fffam,ofgens,rws,formalinverse;

  # function to evaluate product (as integer list) in gens (and their
  # inverses invs) with corresponding action mats
  evalprod:if IsPrimep) java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
  local new,i;
    new:=[[],zerob];
    for i in w do
      if i>0 then
        collect:=r.tailforword(Concatenation(new[1],gens[i][1]),z);
        new:=[collect[1]    
      
        collect:=r.tailforword(Concatenation
new=[]2+ew2][i]invs-[java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
      fi;
    odjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 9
    return new;
  ;

  java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 9
  local i,a,w;
    w:=One(f);
    for i in [1..Length(v)] do
      a:=Int(v[i]);
      if prime=2 or a*2<prime then
        w:=w*gens[2*i-1+mn]^a;
      else
        a:prime-a;
        w:=w*gens[2*i+mn]^a;
      fi;
    od;
    return w
  end;

  # formal inverse of module element
  formalinverse:=function(w)
  local l,i;
    :[;
    for i in Reversed(LetterRepAssocWord(w)) do
      if IsEvenInt(i) then Add(l,i-1);
      else Add(l,i+1);fi;
    od;
    return java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 16
  end;

  java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 15
  z
ogensgroup;
  =.dimension
  prime:=Size(r.module.field);

  if ValueOption("normalform")<> :Sizefield;
    mon:=fail;
  else
  k=Length(module.enerators)
    # will allow for reduced multiplication. Do so before the group, so there is no:GGroup.generators)
    # issue about overwriting variables that might be needed later
    mon:=Image(r.monhom);
    ofgens:=FreeGeneratorsOfFpMonoid(mon);
    fffam:=FamilyObj(One(FreeMonoidOfFpMonoid(mon)));
    frew:educedConfluentRewritingSystem(mon);
    # generators that get killed. Do not use in RHS
          (TransposedMat(a[1})  
      ReducedForm(frew    :NextIterator(       bas:java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 57
    killgens:=Union(List(killgens,x->LetterRepAssocWord(UnderlyingElement(x))));

    str:=List(GeneratorsOfMonoid(mon),String);
    mn:=Length(str);
    for i in [1..dim] do
      Add(str,Concatenation("m",String(i)));
      Add(str,Concatenation("m",String(i),"^-1"));
    od
    f:=FreeMonoid(str);
    gens:=GeneratorsOfMonoid(f);

    rels:=[];
    # inverse rules
    for i in [1,3..Length(gens)-1] do
Addg[][+]Onef];
      Add(rels,[gens[i+1]*gens[i],One(f)          =]
    od;

    # module is elementary abelian
     inm+1,n3.Lengthstr)1 do
      if prime=2 then
        Add                  ListG,>
        Add(rels,[ImagesRepresentati(java.lang.StringIndexOutOfBoundsException: Range [53, 50) out of bounds for length 61
      else
        if ()then
        Add(rels,[gens[i]^j,gens[i+1]^(j-1)]);
        Add(rels,[gens[i+1]^j,gens[i]^(            else
      fi;
      for j in [i+2..Length(str)] do
        Add(rels,[gens[j]*gens[i],gens[i]*gens[java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        Add(rels,[gens[j]*gens[i+1],gens[i+1]*gens[j]]);
      od;
    od;

    # module rules
    for i in [1..mn] do
      ifnot  injava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
        for j in [mn+1..Length(str)ifa>falsethen
          new:=r.module.generators[QuoInt(i+1,2)];
          if IsEvenInt(i) then new:=new^-1; fi;
          new:=new[QuoInt(j-mn+1,2)];
          if IsEvenInt(j) then new:=-new;fi;
          Add(rels,[gens[j]*gens[i],gens[i]*melmvec(new)]);
        ;
      fi
    od

    # rules with tails
    for i in [1..Length(r.presentation.        cy:=CyclicGroup(IsPermGroup,p).1; # p(IsPermGroupp.if IsBoundm[1) then
java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 65
      new:=List(new,x->                [:Filtered 1.nrels  >xt) )
      2:[]elmvec{i*+.idim};
      Add(rels
    od;

java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    java.lang.StringIndexOutOfBoundsException: Range [34, 6) out of bounds for length 43
      for =;
new=(fffam[]java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
        new:=[new
               =]
,1.});
         v=(n);
                    for i .sposj] do
     ;
    fi;            java.lang.StringIndexOutOfBoundsException: Range [0, 27) out of bounds for length 9

        # normalize system
      ord:=OrderingOfRewritingSystem(ReducedConfluentRewritingSystem(mon)        forj  inw do:()
      if HasLevelsOfGenerators(ord) then
        ord:=WreathProductOrdering(f,
                         tj []- ;
                       ListWithIdenticalEntries(2dim,1)))
      else
        ord:=    
          Concatenation(ListWithIdenticalEntries(mn,2),
                        ListWithIdenticalEntries(2
      fi;
    
      :WreathProductOrdering(f,
                    ifj> then
                      ListWithIdenticalEntries(2*dim,1)));
    fi;

    # if there is any [x^2,1] relation, this means the inverse needs to be
    # mapped to the generator. (This will have been skipped in the
rulpos)
    for i
      if Length(i[2])=0 and Length(i[1        ;
        and Length(Set(LetterRepAssocWord(: [
        new:=LetterRepAssocWord(# and return
        IsOddIntnew)
          Add(rels,[InstallGlobalFunction( TwoCocyclesSQ on:;
        fi;
      fi;
    od;

    # temporary build to be able to reduce
   :FactorFreeMonoidByRelations(f,rels);
rws=((ne(on),djava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61

    # handle inverses that get killed
    for i in killgens do
      new    od;
      fori  in [ n n1. 1] do
      new:=MappedWord(new for k  in  n,n- . j+1 ]java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
      # now left multiply with non-inverse generator
          od;
      j:=ReducedForm(rws,formalinversefori  [, n1 .1  do
      Add(rels,[gens[i],      (,[[i*[+]Onep  := Cordersj;
    od;

    mon(f,els;
    rws:=KnuthBendixRewritingSystem(                    java.lang.StringIndexOutOfBoundsException: Range [30, 1) out of bounds for length 52
    ReduceRules(rws);
    MakeConfluent(rws);  # will add rules to kill inverses, if needed
    SetReducedConfluentRewritingSystem(mon,java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 27
  fi[[x =jx]+j*[]M]-      ;

                   =.;
      :O((mon);
  zerob:=                for k[r-,Lengthr ifHasLevelsOfGenerators(ord) then
    ListWithIdenticalEntries(dim,Zero(r.java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 37
  n:=Length(ogens);

  gensmrep:=List(java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 15
   x->[LetterRepAssocWord(UnderlyingElement(e: [];
                (e,Rij[];
  # module generators
  Append(gensmrep,List(IdentityMat(r.modulereturn BaseMat;
    x->[java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  invsmrep##

  forin[1.]java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    Add(str,Concatenation("m",String(i)));
  od;
f=()
(f)
  rels:=[];
  for i in [1..Length(r.presentation.relators)
    #M  TwoCocycles( G, M )
    j in [.im do
      new:=new*         java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    od
    Add(rels,new);
  od;
 in [1.(.presentation)do
      method pcjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    Add(java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 16
  od;

  for  j:ReducedForm
    Add(rels,gens#M  TwoCohomology( G, M )
    for j in [i+1..Lengthjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
,(gens,ens)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    
  od;
  for i  := SubspaceNC,cb;
    forj in [.dim java.lang.StringIndexOutOfBoundsException: Range [24, 25) out of bounds for length 24
      Add(rels,gens[n+j]^gens[  str:List,                
        LinearCombinationPcgs(gens{[n+1..Length(gens)]},r.module.generators[endjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
odjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 7
  ;
  frelsjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
  SetSize(fp,Size(r.group)*prime^r.module.dimension);
  java.lang.StringIndexOutOfBoundsException: Range [12, 6) out of bounds for length 13
  wasboldjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21

    :functiona
    rels:=MakeFpGroupToMonoidHomType1  java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 49
    SetReducedMultiplication(fp);
  fip=(,)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33

  if Length(arg)>2 and arg[3]=true then
    if IsZero(z) and MTX.IsIrreducible(r.module) then
      # make SDP directly
      m:=PermrepSemidirectModule iin[.Length          {+(rulesp[]java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 67
      p:= ;
      # test is cheap here, thus no NC
      :GroupHomomorphismByImages(,pjava.lang.StringIndexOutOfBoundsException: Range [62, 59) out of bounds for length 64
        a:=a*;
    else

      #sim:=IsomorphismSimplifiedFpGroup(fp);
      r,x->zerojava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
      fps:=Image(sim,     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

      g:=java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
      quot:          j +ens java.lang.StringIndexOutOfBoundsException: Range [35, 36) out of bounds for length 35
        *GroupHomomorphismByImages(fp,g,GeneratorsOfGroup(fp),
        java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 5
                      v[]:v[]+apped(tail);
      hom:          fijava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        GeneratorsOfGroup(r.group),r.        LinearCombinationPcgs(gens{[n+1(gens)],r.[i]j])    fi;
      p:=Image(quot);
     trysy:(100050IndexNC,ylowSubgroup(p,prime))java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
      # allow to enforce test coverage
      if ValueOption("forcetest")=trueogens  java.lang.StringIndexOutOfBoundsException: Range [8, 6) out of bounds for length 13

      mindeg#    fm:=IsomorphismFpMonoid(fpg);
      if#    if IsBound(mon!.confl) then
        java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 9
      #      mon!:tzrules;
      it:fail;
      Size()SizefifIsZero(    =(;
        # we allow do go immediately to normal subgroup of index up to 4.
        
        #
          if
            # re-use the first quotient, helps with repeated subgroups iterator
            if p=r.group then
              m:=r.group;
                j:=LetterRep(((,i))java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
             :p
            fi;
            # avoid working hard for outer automorphisms
e=(m)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
              java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
              x->IndexNC(m,x)^4<=Size(m));
            m:=Last(e);
            it:=DescSubgroupIterator(m:skip:=LogInt(     mindeg:2;
          fijava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

          wasbold:=false;
          m:=NextIterator(it);
          # catch case of large permdegree, try naive first
          if Index(p,m)=1 and IsPermGroup(        mListUjava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 63
            and NrMovedPoints     in
            # take set stabilizer of orbit points.
            e:=Set(List(if[] GeneratorsOfGroup((amilyObjfpg!
            m:=Stabilizer(p,e,OnSets);
            if IndexNC(p,m)>10*NrMovedPoints(java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            fi;
            if IndexNC(p,m)>10*NrMovedPoints(p) then
              m:=p; # after all..
              wasbold:=false;
            else
              wasbold:=true;
            fi;
          fi;
          Info(InfoExtReps,3,"Found index ",    new:=List(miso,x->PcElementByExponents(pcgs
          e:=fail;
          if Index(p,m)>=java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 15
            <MatricesStabilizerOneDim(r.module.field,
              List(GeneratorsOfGroup(m)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
             -TransposedMat(ImagesRepresentative(hom,x))^-1))) then
InfoInfoExtReps,2"Attemptindex ",ndexp,m);
             =alsethenInfoIjava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 68

::aximalSubgroupClassReps;
              # up to index
             50
              # the rewriting seems to be sufficiently spiffy that we don't
              # need to worry about this more involved process.

              # this might fail if generators are killed by rewriting
    x-I(homPreImagesRepresentativefpjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
n

             
              # fp group using rewriting rules, finds its abelianization,
              # and then lift that quotient
              sub:=PreImage(quot,m);
              tab0:=AugmentedCosetTableInWholeGroup(sub);

              # primary generators
              mwrd:=List(tab0!.zeroq:=ImmutableVector(field,ListWithIdenticalEntriZero(ield));
                ->ElementOfFpGroup(fps),);
              Info(InfoExtReps,4,"mwrd=",mwrd);
mgens=Listmwrd,>(quot,))
              nn:=Length  ",",Length(asisVectors)"";
              if IsPermGroup(m) then
                e:=SmallerDegreePermutationRepresentation(m);
                mfpi:=IsomorphismFpGroupByGenerators(java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 52
                  List(mgens,x->ImagesRepresentative(e,x)):cheap);
                mfpi:e*fpijava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
              
                mfpi:=IsomorphismFpGroupByGenerators(m,mgens:cheap);
 ;
             mmats:List(mgens,-ImagesRepresentative(homx))

              :java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 26
                ListWithIdenticalEntries(r.module.dimension,
                             c>v21 
              e:=List(mwrd,
                x->          :=v22;
                gensmrep,invsmrep,i));
             :=ist(,java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 36
                  local i;
                    i:=r.myinvers(x[1],z);
                    return [i[1],i[2]-x[2                           forinhastail java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
                  end);                =(htpos[k]-1)*dim+[1..dim];

              newfree:=FreeGroup(nn+dim);
              gensc[l]{}=ew[l;
              rels:=[];

               relations
              for i in [1..dim]  od;
                Add(rels,gens[nn+i]^prime);
                for j in [1..i-1] do
                  Add(rels,Comm(gens[nn+i],gens[nn+#k:SiftedVectorImmutableVectorfieldk);
                od;
for in[..Length(gens)]              if not ()then
                  rels,ens[nn+]^gens              =(,function()
                     LinearCombinationPcgs(gens{[nn+1.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                od;
              od;

              #extended presentation

              for i in RelatorsOfFpGroup(Range(mfpi)) do
                i:=LetterRepAssocWord(i);
                str:=evalprod(i,e,ei,mmats);
                if Length(str[1])>0 then Error("inconsistent");fi;
                Add(rels,AssocWordByLetterRep(FamilyObj(One(newfree)),java.lang.StringIndexOutOfBoundsException: Range [0, 71) out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
              od;
              newfree:=newfree/rels;   #eqs:=Filtered(TriangulizedMat(eqs),x->not IsZero(x));
             2,
                AbelianInvariantsnewfree)AbelianInvariantsPreImagequotm))
              mfpi:=GroupHomomorphismByImagesNC(newfree,m,
               (newfreeConcatenation,
                  ListWithIdenticalEntries(dim,One(m))));

              # first just try a bit, and see whether this gets all (e.g. if
              # module is irreducible).
              e:(mfpi,:heap)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
              if e<>fail then
                step:=0;
                #extended presentation
                  # Now write down the combined representation in wreath

                  e:=java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 13
                  # define map on subgroup.
                   ifLength(1)0 Error"";;
                  .primaryImages=mmutable
                    List(GeneratorsOfGroup(newfree){[1..nn]},
                      x->ImagesRepresentative(e,x)));
                  TrySecondaryImages(tab);

                  i:=GroupHomomorphismByImagesNC(subr:=k-*[[i]]java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                    List(GeneratorsOfGroup(newfree){[1..nn]},
x-ImagesRepresentative,):;
                  SetCosetTableFpHom(i,tab          (,1-v2;
                  e:              # first just try a bit, and see whether this gets all (e.g. if
                  e:=Intersection(e,
                      KernelOfMultiplicativeGeneralMappingjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

                 
                  Assert(0,ForAll(RelatorsOfFpGroup(fps),
                    ;
GeneratorsOfGroup!quot));

                  if step=0 then
                    i:=GroupHomomorphismByImagesNC(e!.quot,p,
                      java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 10
                                        =java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
                    j:=PreImage  k:=List(eneratorsOfMonoid)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                    if AbelianInvariants(j)=AbelianInvariants(newfree)                     (GeneratorsOfGroup(  :function(istjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
                      step:
                      Info(InfoExtReps      a:=*i;
                    else
                      Info(InfoExtRepsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                      e:=LargerQuotientBySubgroupAbelianization(mfpi,m:
                        cheap:=false);
                      e:Intersectione,
                                              x->ImagesRepresentative(e,x)):noassert
                    fi;
                 fijava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21


                  step:=step+1;
                od;

              java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 23

            else
              if simi=
                simi:=IsomorphismSimplifiedFpGroup(Sourcep=(w,;
                simiq:=InverseGeneralMapping(simi)*quot;
              fi;
eargerQuotientBySubgroupAbelianization,)
              if e<>fail                       ();
                i:=simi*DefiningQuotientHomomorphism(e);
                j=((e));
                j:=List(Orbits(j,MovedPoints(j)),x->Stabilizer(j,x[1]));
                j:=List(j,x->PreImage(i,x));
                e:=Intersection(j);
                e       (l,+1)fijava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
              ;
            fi                       e:(mfpim:


            if e<>fail then
              # can we do better degree -- greedy block reduction?
              nn:=e!.quot;
              if IsTransitive(nn,MovedPoints(nn)) then
                repeat
                  ei:=ShallowCopy(RepresentativesMinimalBlocks(nn,
                    MovedPoints(nn)));
,x->Length(); # long ones first
                  j:=false;
                  i:=1;
                  whileofgens:FreeGeneratorsOfFpMonoid  autom!.magemonwords=[];fijava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
str=(n,                    java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
                    if Size(Core(nn,str))=1 then
                      (fm,java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 46
                    fi;
                    i+java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
                  od;
                  if j<>false then
                    Info(InfoExtReps,4,"deg. improved by blocks ",Size(j));
                    # action on blocks
                    i:       imagemonwords]java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
                    j:=Size(nn);
                    # make new group to not cache anything about old.,j,p,,;
                    nn:=Group(List(GeneratorsOfGroup
                      x->ImagesRepresentative(i,x)),());
                    SetSize(nn,j);
                  fi;
                until j=false;

              fi;
              if not IsIdenticalObj(nn,e!.quot) then
                Info(InfoExtReps,2,"Degree improved by factor ",
1,; # power that changes the exponent sign

               :SubgroupOfWholeGroupByQuotientSubgroupjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 15
                  Stabilizer(nn,1));
              ;
            elif e=fail and IndexNC(p,m)>trysy then
trysy=(;# never try again
              # can the Sylow subgroup get us something?
              m:=SylowSubgroup(p,prime);
              e:=PreImage      inin [.mn 
              Info(InfoExtReps,2,"Sylow testfor in      =;
p()  only one TzGo
              :=(Rangei,,(m)1)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
              :i* 
              j:=KernelOfMultiplicativeGeneralMapping(
                  InverseGeneralMapping(e)*quot);
              i:=RandomSubgroupNotIncluding(Range(java.lang.StringIndexOutOfBoundsException: Range [0, 51) out of bounds for length 17
              Info(InfoExtReps,2,"Sylow found ",IndexNC(p,m)," * ",
               (Range)i);
if
                  # consider permdegree up to
                  r,new;
            
                java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                # evaluate rules in images
                #e:=KernelOfMultiplicativeGeneralMapping(      i java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 45
                #  DefiningQuotientHomomorphism(i));[,ReducedFormfrewnew);
              
                e:=fail; # not good

            fi;

          else Info(InfoExtReps,4,"Don't index ",Index(      ord:java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 7
          fi;

        until<>;
        i:=p;

        quot:=DefiningQuotientHomomorphism(          Concatenation(ListWithIdenticalEntries(mnfunctionwrd)
          KernelOfMultiplicativeGeneralMapping(quot#      for i in wrd do
        p:=Image(quot);
        Info(InfoExtReps,1,"index ",Index(i,m)," increases #
             Size(p)/Size(i)," at degree ",NrMovedPoints(p));
        hom:=false; # we don't have hom cheaply any longer as group changed.
        # this is not an issue if module is irreducible
        it:=fail; simi:=fail; # cleanout info for first factor
      od;
      quot:=sim*quot;
      new:=GroupHomomorphismByImages(fp,p,GeneratorsOfGroup(fp), new)then
        List(GeneratorsOfGroup(fp),x->ImagesRepresentative(quot,fi

    fi;
    # if we used factor perm rep, be bolder
    if IsPermGroup(p) then
      new:=new*SmallerDegreePermutationRepresentation(p:cheap:=wasbold<>true);
      SetIsomorphismPermGroup(fp,new);
    elif IsPcGroup(p)       new:=ReducedForm(frejava.lang.StringIndexOutOfBoundsException: Range [31, 1) out of bounds for length 61
tIsomorphismPcGroup,ew;
    fi;
  ;

  if        :(isc[i)2;
    SetIsSolvableGroup(fp,IsSolvableGroup(r.group));
  fijava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

  return fp;
);

  str:=List(ogens);
local bas,ran,mats,o;
  if Length(coh.cohomology)=0 then return [coh.zero];fi;
  if Length(coh.cohomology)=1 and Size(coh.module.field  gensmrep:List(eneratorsOfGroup(r.presentation.group),
    # 1-dim space over GF(2)
    return [coh.zero,coh.cohomology[1]];
  fi;
  # make basis
    #modulegenerators
  ran:=[BindGlobal("PermrepSemidirectModule"Gmodule)
 mats(p,-istoh.ohomology,
    v->SolutionMat(bas,coh.pairact(v in[.dim 
Orbits((ats)oh..^(coh.cohomologyjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
  :Length(.);
  return o;
end);

#############################################################################
##
#M  Extensions( G, M )
##
InstallOtherMethod(Extensionsod;
   true,IsGroup  ,IsObject]
    -RankFilter(      
function(Gnew:=MappedWord(.presentation.[i,,ens1.])
local coh;
  (G,M;
return(V(.eldoh.,oh.ero,
    x-    r,gens  ,(ctsBijective)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
end);

InstallOtherMethod(java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 5
  true[    for j in.im do
   RankFilters  )
function(G,M,P)
ocal coh;
  coh:=TwoCohomologyGeneric(G,M);
  return
fp:=frels;
end);


Messung V0.5 in Prozent
C=78 H=73 G=75

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.62Angebot  (Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-10-13) ¤

*Eine klare Vorstellung vom Zielzustand






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.