Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  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
            eq.system[w] := x * (1/                    ShrinkRowVector(l;
            eq.spos[w]   := Filtered( [1..eq d;
        fi;
     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 )############################################################################

#############################################################################
##
#F  SolutionSQ( C, eq )
##
InstallGlobalFunction( SolutionSQ, function( C, eq )
    local   x, e, d, t, j, v,  i  n p  ;

    # construct null vector
    n :=  ifOneOfPcgs while0 v and IsBound(.system[] do
fori   1 .eqrels-Length(.)  do
                     i   eq.java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 12
       ;

    osition
    C.unavoidable := [dAddCoeffs( [i,eq.[w[i]                [<0then
    j : 1;
    for i  in [ 1 .. eq.nrels ]  do
        if not i in 
            C.unavoidable[i] := j;   endjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
            j:=j+;
        fi;
    od;

    # blow up vectors
    t    fi;
    w: [;
    for j  in  1 . Length(eq.system) ]  do
        if IsBound(eq.system[j])  then
            v := ShallowCopy(n);
            for i  in eq.spos[j]  do
                if iin .  then
                    p: dimension*C.unavoidable[i]1)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
v{p        ;
                fi
                    od;
            ShrinkRowVector(v);
            t[ if  <v then
AddSetw,Length();
        fi;
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

    # normalize system
    v := 0*eq.vzero[1];
    for i#############################################################################
        for j  in w  do
            if j > i  then
                p := t[j][i];
               if p < vthen
                    t[j] := ShallowCopy(     .list = Listjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    (t[j] ti], - ;
                    ShrinkRowVector(t[j])   for   in   .. eq.nrels-Length(.)]do
                
            fi;
        java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    od;

    # compute homogeneous solution
 :Difference([1..eqnrels-Length(.void)*eq. , w)

    e := eq.vzero[1]^0;
    for iin d  do
        x := ShallowCopy(n);
            .unavoidable[]:=;
        forj   w do
             j >i then
]t;
            fi;
        od:[java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        Add(,x)
    od;
if0=LengthCavoid then
java.lang.StringIndexOutOfBoundsException: Range [66, 17) out of bounds for length 17
    fi;

    # construct null vector
    n := [];
    for i  in [ 1 .. eq.nrels ]  do
        Appendfi
    od;

    # construct a blow up matrix
    i := [];
    for j  in [ 1 .. eq.#
        if not j in InstallGlobalFunction java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 11
            Append( i, (java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 19
        fi;
    od;

    # blowup the vectors
    e:= [];
    for x  in v  do
        d := ShallowCopy(n);
}=;
        Add( e, d );
   java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

    # and return
    return e;
end );

#############################################################################
##
#F  TwoCocyclesSQ( C, G, M )
##
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
       =.[1^;

        for i  in d  doind  do
   : Pcgs()

#
    eq := rec( vzero     := C.mzerol[              j>>   then
               mzero: C.,
                       od;
               nrels     := (n^2+n)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 20
   (avoid)
         ;        fijava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11

    # precalculate (ij) for i > j
    pairsin n  [
forin [ 1.eqrels  
        for         v :=         (ezerojava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
            pairs[i][j] := CollectedWordSQjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
        java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    od;

    # consistency 1:  k(ji) = (kj)i
for  in[,n1.    do
        for j        ;
            for k  in [ n, n-1 .
                w1                    0=e =]
             : CollectedWordSQ ,pairsk][] i1 )
               if.< .wordthen
                    Error        else
                elsex[java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 7
                    AddEquationsSQ( eq, od;
                fi;
            od;
        od;
       ;

     consistency:j^p) (ji)=j^ i
    for i  in [ n, n-1 .. 1 ]  do
        for j  in [ n, n-1 .fi
            p  :=;
            w1 := CollectedWordSQ
                    CollectedWordSQ( C,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            ( ,function , java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
                    =C.,
            dimension : java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 27
                               spos        : ]java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
            else
                AddEquationsSQ( eq, w1.tail, w2. C.java.lang.StringIndexOutOfBoundsException: Range [33, 18) out of bounds for length 33
            fi;
        od;
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

stency: ( ^p-  ki)ij:j+
    for i  in [ n, n-1 .. 1 ]  do
        # consistency 1:  k(ji) = (kj)i
       for   [n
            w1          j     in[1.eq.]java.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
                   ( C,[i,1],[i,-1]) );
            w2 := CollectedWordSQ( C                w1:             for i  in eq.spos[j
                    [i,-1 );
            .word  then
                Error( "k i^p <> (                    Error( "k(ji) <>)                    [1.+ength(.ystem[j[i]] =eq.[]i]

                AddEquationsSQ( eq,                 ;
            fi;
        od;
    od ;

    # consistency 4: (i i^(p-1)) i = i (i^(p-1) i)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
1. java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        p:Corders[]
w1=CollectedWordSQ ,CollectedWordSQ C i1],[,-]
                [i,1] );
w2 : CollectedWordSQ,[i,]java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
                                if p <>w2:CollectedWordSQ(,CollectedWordSQ(C,[j,[ ,
        if w1.word <> w2.word  then
            Error i ip1< i^p );
        else
                Error("^p-1 (ji) < j^ i"                    ShrinkRowVectort;
                        ;
    od;

    # and return solution
    return SolutionSQ( C, eq );
end );

#############################################################################
##
#F  TwoCoboundariesSQ( C, G, M )
##
 TwoCoboundariesSQ ,G  )
    local   n,  R,  MI,  j,  i1] 

    # start with zero matrixxi =ejava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
     :CollectedWordSQ( C, C,k][,])java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    R =[];
    r := n*(n+1)/2;
    forod;
        R[        Addv x ;
        for j in [ 1 .. r ] do
            Ri[]:= Cmzero;
        od;
    od;

# compute inverse generators
    M  := M.generators;
    MI := List( M, x -> x^-1 );
    d  := Length(M[1]);

    # loop over all relators
    for j  in [ 1 .. n ]  do
        for i in      
            x :(^2i)2+ java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

            # power relator
            if i = j  then

                for e  in [ 1 .. C.orders
                    R[i][x] := R[ java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
                         od

            # conjugate
             Add(e,d);
                R[i][x] := R[i][x] - M[j
                R[j][x] := R[java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 13
            fi;

            # compute fox derivatives
            m := C.mone;
 :.[;
            if r <> 0  then
                for k  in [ Length    n :=Length(();
    # collect equations in <eq>
                       r]x: [[]x mjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
                        m := M[r[k]] * m;
                    od java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
                od;
            fijava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 11
        od;
    od;

    # make one list

    r := n*(n+1)/2;
    for in[1 .  
        for k  in [ 1 .. d ]  do
            e := [];
# consistency 1:  k(ji) = (kj)i
                Append( e    for i [n n- .1]
            ;
            Add( m,e)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        od;
    odjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

    # compute a base for <m>
    return BaseMat(m);
end

#############################################################################
##
#F  TwoCohomologySQ( C, G, M )
##
InstallGlobalFunction( TwoCohomologySQ#############################################################################
    local cc, cb;
    cc := TwoCocyclesSQ( C, G, M );
    if
#
        if InstallGlobalFunction( TwoCoboundariesSQ, function( C, G, M )
            cb :        local    R  ,j ,  ,  ,  ,r,d
        fi;
        if Length( cb ) >0then
            cc := BaseSteinitzVectors( cc, cb ).factorspace;
        fi;
    fi;
    return cc;
end)

#############################################################################
##
#M  TwoCocycles( G, M )
##
InstallMethod                AddEquationsSQ ,w1tail, w2. )
    "generic method     =List ,x - ^- );
    true
    [ java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
    0,

function( G, M )
            p:= .orders[]         iin[j.n] do
   C :CollectorSQ(G M,alse java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    return TwoCocyclesSQ C[1 ,1);
end );

#############################################################################
##
#M  TwoCoboundaries( G, M )
##
(TwoCoboundariesjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    "generic method for pc groups",
    true,
    [ IsPcGroup, IsObject ],
    0,

unction( ,M )
    local C;
    C := CollectorSQ( G, M,
#java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 for   [n 1. 1  do

# non-solvable cohomology based on rewriting

#############################################################################
##
#M  TwoCohomology( G, M )
##
   =CollectedWordSQ(C,[,1            r <0then
     groups"
    true,
    [IsPcGroup,IsObject ],
    0

function(forjava.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 49
    local C, d, z, co, cb;
    C := CollectorSQod;
    d := Length( C.ordersod;
    d := d        ;
    z    
    co :=
    co     oda return solution
    cb := TwoCoboundariesSQ( C, G, M );
    cb 
     rec group =Gjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
                module := M,
                collector := C,
                isPcCohomology:=true,

                    local   n,  R,  MI,  j,  i,  x,  m,  e,  ,,              in1.  java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
                n2java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19


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

InstallMethod(#
  [IsGroup
function
,genshomjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 23
      len1,l2,d=Length :(,java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
      findtail,colltzcb=:java.lang.StringIndexOutOfBoundsException: Range [34, 31) out of bounds for length 43
      c,nvars,htpos,zeroq,r,ogens,bds,model,q,java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 32
     lena;


#
  colltz:=function(a)
  local i,p;

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

      # does a rule apply at position i?
      :RuleAtPosKBDAGdaga,i;

#M  TwoCocycles( G, M )
        a:=Concatenation(a{[1..i-1]},tzrules[p][2],
    genericmethod for pc groups",
        i:=Maximum(0,i-mal); # earliest which could be affected
      fi;
      i:=i+1;
    od;

    return a;
  end;

  # matrix corresponding to monoid word
ist)
  local areturn TwoCocyclesSQ(C,G,M);
    a:=onemat;
    for i in list do
      if i in nononethen
        a:=a*mats[i];
      fi;
    od;
    return a;
  end;

 # normalform word and collect the tails
  collectail:=                        =[[k];java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
,,,;
    vfunction  M)

    # collect from left
       :1
    # make list

      # does a rule apply at position i?
      p:=    r : n*+1/2java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19

      if           in[1. d   java.lang.StringIndexOutOfBoundsException: Range [32, 33) out of bounds for length 32
        p:=rulpos            forj    1.. r]  do
        :wrd{[+Length(InstallMethod TwoCohomologyjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        wrd:=Concatenation(wrd{[1..i-1]},rules[p][2],tail);
        if p in hastail
          if java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 16
            vMat()
          else
            v[p]:=v[p]+mapped(tail);
          fijava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        fi;
        i:##
      
      ico: ,  ;
    ;

    [,]
  end;

                  =ifC 0

  ogens:                java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 37

#  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:=java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 22
    =java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
    fpgRangefp)java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    :monmonhom;
    mon:=Range(fm)local ,;
    tzrulesjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#  fi;

dag=mptyKBDAGUnion(ist(eneratorsOfMonoidInstallMethodTwoCoboundaries,
    LetterRepAssocWord)));
  mal:=Maximum(List(tzrules,x-    "while <Length( do
  for i in [1..Length(tzrules)] do
    AddRuleKBDAG(dag      :(,a)
  od;

  gens:localC
    x->C: CollectorSQ ,M java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36

  hom:=GroupHomomorphismByImagesNC(G,Group(mo.generators),
    GeneratorsOfGroup(G),mo.generators);
  mo:=GModuleByMats(List(#############################################################################:i1

  l1:=GeneratorsOfGroupjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  l1:=Concatenation(l1InstallMethod  end
  formalinverse"generic method pc groups"
  for i in l1 do
    jLetterRepAssocWord(UnderlyingElement(ImagesRepresentative(fm,i)));
java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 76
    if Length(j)<>1 java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 21
   formalinverse[]=[];
  od;

# rules that describe formal inverses, or delete generators of order 2 get no
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
  hastail:=[]  functionjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 27
  rules:=[];
  genkill:=[]; # relations that kill generators. Needed for presenation.
  for r in tzrules do
           java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
      Add(rules,r);
      if Length(r[1])>2 or
        (Length(r[1])=2                 :
        then
          AddSet(hastail,Length(rules));
     fi
    else
     Length of r[1] is 1. That is, this generator is not used! []isjava.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 65
      m:=First(          if IsIdenticalObj]zero 
      m:=List(m            []=local field,fp,fpg,gens,hom,mats,fm,mon,tzrules,dim,rules,eqs,i,j,k,l,o,l1,
      m:=List(m,UnderlyingElement); # free group elements/words

      if not IsOne(m[1]*Subword(m[2],1,1)              ,olendag;
# Does the relation make  # collect the word in factor group
        # other gens)? If so, remember relation as needed to kill this generator, but
        # no influence on Cohomology calculation (which just uses the rest)
    =;
          then Add(genkill,r);
        fi;
      fi;
    fi;
  od

  rulpos:if (p 

htposList[.Length(rules),>Positionhastail,);

   a{i+(zrules[#
  if model<>#    #  old general KB code, left for debugging
    q:=GQuotients(model,G)[1];
    pre:=List(gens,x->PreImagesRepresentative(      :i+;
    ker:=KernelOfMultiplicativeGeneralMapping#    mon:=Range(fm);
    :=(ker)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    l1:=GModuleByMats(LinearActionLayer(Group(pre),java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 27

    miso:=MTX#      kb:=KnuthBendixRewritingSystem(mon);
    new:=#      tzrules:=kb!.tzrules;ojava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
pcgs=(FamilyObj
    # now calculate the vector
        # new 
    one:=One(model    :=ConfluentMonoidPresentationForGroup;
    m:=GroupGeneralMappingByImagesNC(fpg,model,GeneratorsOfGroup(fpg),pre);
    mats:=List(GeneratorsOfMonoid(mon),
      x->ImagesRepresentative(m,
        java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 27
    nonone:=[1  localv,,,p
    pre    v:List(,->zero)
    onemat
    # collect from left
      =1;
      m:=LeftQuotient(mapped(r[2]),mapped(r[1]));
      m:=ExponentsOfPcElement(pcgs,m);
      solvec:Concatenation(solvec,      # does a rule apply at position i?
    od;
 ;

  onemat:=One(mo.generators[1]);
  zerovec:=Zero(onemat[1]);

  mats:=List(GeneratorsOfMonoid(mon),
        -{[i+Lengthrules[1].Length(wrd);
    (fm,x # matrices for monoid generators
  one:=One(mats[1]);
nonone:=ltered(..ngth(mats)]x>IsOne(ats[])
  zero:=    GeneratorsOfGroup(G)mo.);
  dim:=Length(zero);
  nvars:=dim*Length(hastail); #Number of variables

#rk:=0;
  zeroq:==Concatenation(1,List(         
  eqs=MutableBasis(field[,zeroq)
  olen:=[-1,0];
  for  [..Lengthrules)] do
    Info(InfoCoh,1,"First rule ",        LetterRepAssocWord(derlyingElementmagesRepresentative(fm,));
    l1:=rules[i][1];
    len1:ength(l1)java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    forjin [.java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 7
      l2:=rules[j][1
      m:=Minimum(len1,Length(l2));
      for o in [1..m-1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
        if ForAll([1..o],k->l1[start+k]=l2[java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 12

          # apply l1 first
          new:=Concatenation#    fp:=IsomorphismFpGroup(G);
          c:=collectail(new);
          v1:=c[2];c:=c[1];
          if i in hastail        (= (r]> [[[>[]2)
            v1[i]:=v1[i]+mapped(l2{[o+1..Length(l2)]});
          fi;

          # apply l2 first
          new:=Concatenation(l1{[1..len1-o]},#            
          v2:=collectail(      m:=First(RelationsOfFpMo=(    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
          if c<>v2[1] then Error("different in factor");
          #else Print("Both reduce to ",c,"\n");
          fi;
          v2:=v2[2];
          if j in    fm:=mon.onhom;
            v2[]#
          fi;
  (test)
            c:=List([1..dim],x->ShallowCopy(zeroq));
            for k in hastail do
              if v1[k]<v2[] then
                new:=TransposedMat(v1[k]-v2[k]);
                r:=(java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 7
                for l in [1..dim] do
                  if not IsZero(new[l]) then
                    c[l]{r}:=new[l];
                  fi;
                od;
              fi;
            od;
            kincdo

if>  (k)thenqGjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 30
" not"
              fijava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#
              #k:=SiftedVector(eqs,ImmutableVector(field,k));
  #Add(alleeqs,ImmutableVector(field,k));
              k:=SiftedVector(eqs,k    :ListmisoPpx)
              IsZero)thenj=(((i;
                ,(k)

              fi;

            od;
          fi;

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

nonone=.]java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    Add(olen,Length(BasisVectors    onemat:G;
     Length(len3and
      # if twice stayed the same after increase
      olen[Lengthm=m2)mappedifLengthr1)2 java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
      olen[Length(olen)]<>olen[Length(olen      =smOne);

      k:=List(BasisVectors(eqs),ShallowCopy);;
      TriangulizeMat(k);
eqs=#java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
        Listkx>java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
    fi;

;

  #eqs:=Filtered(TriangulizedMat(eqs),x->not IsZero(x));Filtered[.m),-nIsOnenot(]Subword[],)then
  eqs:=:erovecjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 16
  if Length(eqs)=0 then
    eqs:=IdentityMat(Length(rules),field)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  else
    eqs:=ImmutableMatrix(field,eqs);
    eqs:=NullspaceMat(TransposedMat(eqs)); # basis of cocycles
  fi;

  # Now get Coboundaries

      len1:=Length(l1);
  findtail:=function(wrd,nums,  htpos:=List([1..Length(rules)]  1r)java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 34
  model=")
a=;
    for[.(d java.lang.StringIndexOutOfBoundsException: Range [32, 33) out of bounds for length 32
      p:=Position =,-P(,))
      if p<>fail then
        v:=vecs[p];
        for j in [i+1..Length(wrd)] do
          vl1:(((ep)o.eld);
            MTX.IsI.()java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 26
        a:=a+v;
      fi;
    od;
          [])};
  end;

  bds:=[];
  for i in [1.    :Om)
if[]i 
     c=,[    List(()
      -java.lang.StringIndexOutOfBoundsException: Range [32, 29) out of bounds for length 32
        r:=      fm);#forjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 48

        new:=[];
        for j in hastail do
          v1:=findtail(rules[j][1] in[.Length           [v2[ojava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
          v2:indtail(ules[],r;
          Append(new,v1-v2);
        odjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
        new:=ImmutableVector(field,new);
       Assert(0((>               v1[<2[
       (n)java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
      od;
    fi;
  od;
  bds  Zeron[;
  bds:=List(bds,                    c[]}n[l]

  od;
   :G
     od
              in do
         prime:=Size(field));
  :           modelfail not(* 
  r.Error" java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 44

  new:=[];
  one:=ne((pg);

  k:=List(GeneratorsOfMonoid(mon),
    x->UnderlyingElement(PreImagesRepresentative(fm,x)));
  # matrix corresponding to monoid word
  mapped2:=:=ImmutableVector,Z();
   a,;
              ;
    for i
      a:= od;
    od;
    return a;
  ;

   in 
    # rule that would get the tail
    AddAdd(,BasisVectors());
  od;

  r      
    # relators to kill superfluous generators
(genkill-m1m[])java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
zrules
    monrulpos:=List(rules{hastail},java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    prewords:=List(ogens,x->UnderlyingElement(ImagesRepresentativejava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 64

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

    # collect from left
    i:=1;
    while i<=Length(wrd)new=(1[.len1o],[]2)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58

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

      (p) []<    :NullspaceMatransposedMat) java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
        p:=rulpos[p];
        tail:=wrd{[i+Length#java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        wrd:=Concatenation(wrd{[1          ;

        if p in hastail then
          w:=zy{dim*(htpos[p]-1)+[1 :;
          for j in tail do
            :wmats[]
          od;
          v:=v+w;
        ;

        i:=Maximum(0,i-mal); # earliest which could be affected:a
      fi;
      i:=i+1;
    od;
    return [wrd,v];
  end;

  r.fphom:=fp;
  r.monhom:=fm;
  .=;

  # inverses of generators
  r.myinvers:=function(wrd,zy)
    eturn[Rwrd},
    -r.tailforword(Concatenation(wrd,java.lang.StringIndexOutOfBoundsException: Range [0, 43) out of bounds for length 0
      2]]
  end #Add(alleeqs,ImmutableVector(field,k));

  java.lang.StringIndexOutOfBoundsException: Range [21, 3) out of bounds for length 30
  local autom          (w,)

eGeneralMappingp1)

    # cache words for images of monoid generatorsAssert0(            
    if not IsBound(autom!.java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 0
    imagemonwords:=autom!.java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 9

   locala;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        # apply automorphism
        a:=      # if twice stayed the same after increase
       a=java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 5
        : engthjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 51
        a:= prime=();
       :(,a;
        a:=LetterRepAssocWord(UnderlyingElement(a));
        a:=colltz(a);
        imagemonwords[nr]:=a;
      fi;
      return imagemonwords[nr];
    end;

    # normalform word and collect the tails
    collectail:=  # matrix corresponding
    local ,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:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        if IsInt(p) and rulpos[p]<>fail then
          p:=rulpos[p];
:={i+rulesp[].wrd)];
          wrd:=Concatenation(wrdr:  .ength(d java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

          if p in hastail then
            w:=zy{dim*(htpos[p]-1)+[1o
            for j in tail do
              w:=w*mats[j];
            od;
            v:=v+w;
          fi;

          i:=Maximum(0,i-mal); # earliest which could be affected
          r.ailforword=functionwrd,zy
        i:=i+1;
      od;
      return [wrd    # collect from left
    end;

    prdout:unction(l)
    local w,v,j;
      w:=[];
      v:=zerovec;
      for j in l do
        v      p:=uleAtPosKBDAG(ag,rd,i);
        w:=collectail(Concatenation(w,j[1]));
        v:=v+w[2]+j[2];

      od;
      return [,]java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    end;

    mat:=pair[2];
    new:=[];

    # inverses of generators
verswrd>colltz(formalinverseReversedwrd),
      -collectail(Concatenation(wrd,colltz(formalinverse{Reversed(wrd)})))[2]];

     generators
    extim:=List([1..Length(mats)/2],x->imgwrd(2*x-1));

    # collect inverses and interleave generators/inverses
    extim:=Concatenation(List(extim,x->[[x,zerovec],myinvers(x)]))  :List);

    for i in [1..Length(hastail)] do
      # evaluate rules in images
      left:=prdout(extim{rules[hastail[i]][1] :GroupWithGeneratorsgens)

      # invert left
      v=myinvers(left[1;
      left:=[v[1],v[2field))java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29

      right:=java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 6

      # quotient left^-1*right
      left:=prdout(Concatenation([left],[right]));
      if left[1]<>[]r.:=fm;

      Append(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;

    return ImmutableVector(mo.field,        :=ImagesRepresentativefpjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 15
  end;

  return r;
end);

BindGlobal( "java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
      return imagemonwordsnr]
    e:]java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    one:=One(mats[1]);
    for m in mats do
      r:=Set(RootsOfUPol(field,CharacteristicPolynomial(m)));
      a        p:=ulpos[]java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
ifa)0   falsefi
      Add(e,a);
    od;
    for c in Cartesian(e) do
      is:=c[1];
      for i in [2..Length(c)] do
        is:=SumIntersectionMat(is,c[i])[2];
      
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.55Angebot  ¤

*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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

letze Version des Elbe Quellennavigators


Jenseits des Üblichen ....
    

Besucher

Besucher

Statistik
#Sources=1128594
#Domains=1976912