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
##
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 11
    local   w, p    () then

    # convert lists in to word/module pair
    if
        v
    fi# <mx> contains the tail of <x>
if                        [] 
        u : rec word : u,tail: [ );
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 7

java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    0                 
        ,o ,  ,word ]:pl+2java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 29
    fi        rw] ;

    # if <u> is trivial  return <v> (pcgs c  ;
if0=uword)and   Lengthp            : 0;
        return v;ml]=l2java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    fi;

    od;
    if 0 = Lengthreturn rec word=w tail : mx;
        u
        for i  in#############################################################################
            if IsBound(v#F  CollectorSQ( G, M, isSplit ##
                if (.tail[] then
                    u.tail[i] :      r, pcgs, o  ,j, word, ,;
                else
                    u.tail[i] := v.tail[java.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 0
                fi;
            fi;
        ;
        return u;
    fi;

     <u> into <x>
ist;
    n := Length(java.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 12
    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            r :[;

    # get stacks
    w := C.wstack;
    p := C.pstack;
    c := C.cstack;
    m: .stack;

    # put <v> onto the stack
    w[1] :=              (r k )
    p1]= 1;
    c[1] := 1;
    m[1] := ShallowCopy(v.tail);

    # run until the stack is empty
    l := 1;
    while 0             ;

        # remove next generator from stack
        g := w[l    Gcoll.java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17

        # apply generator to <mx>#
        Gcoll.wstack := [];
            if ( G)then

                # we use the transposed for technical reasons
mxi]: moduleg  []java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
            fijava.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 23
            .list:      o := RelativeOrders( pcgs)

        # raise current exponent
        cl =c[+;

#ifexponent java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 32
        ifwl[]] [l  

            # reset exponent
            cjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

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

          ]]java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
            if Length(    

                # modify tail (add both tails)
                l1 : ()
                 :ml]java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                for java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                    if       Gcoll.estack := 
         =java.lang.StringIndexOutOfBoundsException: Range [0, 27) out of bounds for length 23
                            i :mxi+[];
                       fijava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
elifIsBoundm                # we can avoid
                        i] : ml[];
                    java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
                                 ( ., (i^2-i)/2 +  ifIsBool(M     ;
                  add
                   in [l1+ .l2]do
                        if
                            i : m[]i];
fi;
                    od;
                java.lang.StringIndexOutOfBoundsException: Range [16, 13) out of bounds for length 13

                # and unbind word
                
                l := l - 1;
            fi;
        fi;

        # now move generator to correct position     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                i  in [n,n- . + ] do
            if x[
                l := l+1;
                w[l] := C.relators[i][g];
                c[l] := 1;
                p[] :=;
                l1   := (i^2-i)/2+g;
                if  inC.  
                    if IsBound(mx[java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 15
                        
                    else
                        mx1] .java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                    fi;
                fi;
                m#############################################################################
                
                l2 =[;
                if not l1 inInstallGlobalFunctionAddEquationsSQ  ]
                    fori [ .t1   java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
                   [1.d ]  
                 j  in[2t1[]eq 
                     =l1
                                  ji java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
                    c[l] := 1;
                    p[l] :
                    m[l] := l2java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                od;
                x[i] := 0;
            fi;
        x  [java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18

        # raise exponent
        xg [  1;

        else
        if x[g] = C.orders[g]  then
            x[g] := 0;
 C.[]]<  
                l1 := C.relators[g][        ;
                for i  in [ 1, 3
                    xl1i]: l1[                     [ieqw[  )
                0=Lengthi)  
            v: [;
             : (^2g)2;
             notl1  .  then
                if IsBound(mx[l1])  then
                    mx[]:                
                else
                    mx[l1] := C.mone;
                fi;
            fi;
        fi;
    od;

    # and return result
    w =[;
    for i  in [ 1 .. Lengthodjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
        if x[i] <> 0  then
            Add( w, i );
            ( ,x])java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        fi;
    od;
    return rec;
   odjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

#############################################################################
##
#F  CollectorSQ( G, M, isSplit )
##
InstallGlobalFunction(CollectorSQ##
    local  r,  pcgs,  o,  java.lang.StringIndexOutOfBoundsException: Range [0, 27) out of bounds for length 18

    # convert word into gen/exp form ,d , ,i,  n, ,w;
    word := function( pcgs, #
        local   r,  l,  k;
        (           andew)do
                         : Lastx     in[ ..avoid do
       else
            l := ExponentsOfPcElement( pcgs, w );
            r := [];
for     # generated p
                l]>  
                    Add( r, k );
                    Add( r, l[k] );
                fi;
            od;

        return r;
   ;

    # convert relators into list of lists
    if IsPcgs  =1
        pcgs := G;
    else
        pcgs := # blow up vectors
    
    r := [];
    o := RelativeOrders(    jin[1. eqjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 44
    for i                  else
       [] : ]java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        for j   not  Cavoidthen
            r[                     =eq(.java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 59
        
                ;
    od;

    # create collector for Gjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 31
    Gcoll :            .ystemw]: x               Lengthv 
    Gcoll            eq    ;
    Gcoll.orders :java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    # create stacks
for#############################################################################
    Gcoll.estack 
    Gcoll.pstack := []#F  SolutionSQ( C, eq )
    Gcoll.cstack := [];
.mstack : ]java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23

    # create collector list
Gcoll: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

#in we java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 49
    if IsBool                    java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 42

                    fi;
    r := ShallowCopy(Gcoll);

    # create module gens (the transposed is a technical detail)
    rjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
        d:   ..Cvoiddimension,w;
    r.mzero 

    # add avoid
    r.avoid := [for  d  java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    if isSpliti =java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        k := Characteristic ifj=  
        for i  in [                 x[j]:= -od
            for j  in [ 1 .. i ]  do
                
                if Order(pcgs[i])     j        Add(, java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
                # was: r.orders[i] <> k and r.orders[j] <> k  then
                    AddSetfor  in .pos[] do
fijava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
            od;                   =eqdimension(.java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 12
        odjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    fi;

    # and return collector
    return r;
end );

#############################################################################
##
#F  AddEquationsSQ( eq, t1, t2 )
##
( AddEquationsSQ, java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 11
    local   i,  j,  l,  v,  w,  x,  n    # normalize system

    # if <t1> = <t2>  return
    if t1 = t2  then return; fi;

                     :=tj[]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    t1 :=                    tj]:=ShallowCopy [])
    for di  java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
        if IsBound(od;
            if IsBound(t1[i])  then
                t1[i] := t1    # and return
            else
                [i =-t2java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                ;
        fi;
    odjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34

    # make lines
    l := List( eq.vzero   =vzero[1];
    v := [];
    for i  in [         iin   
        if IsBound( n:(()
            
                if t1[i     collect equations in <eq>
                    [j]i]:            if j> then
                    AddCoeffs( l[j               mzero     =C.zerojava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
                            ( v,  ;
                fi;
            thC)then
        fi;
    od;

    # and reduce lines
        # construct null vector
       n:[
        x :    i [ 1 ..els ]do
        Append( n, eq(,q. )
        if 0<v  then w : (-)n(x[])  fi
        java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 0
            c        od;
            for i  in.nrels ] 
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    x[i] :=             i (j-1)     iin  n -1 .1]
                    AddCoeffs(od;
                    ShrinkRowVector(x[i]);
                    if        =]
                        Unbind     xin      w2=(C [[][,])java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
                    fi;
                java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
                    iodjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
                fi;
            ;
            v := Length(x);
            #############################################################################
        od;
        #F  TwoCocyclesSQ(  od
            eq.system[w] := xInstallGlobalFunction#java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                local   pairs,i j , w2 eq,p,;
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    od;
end ;

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

    # construct null vector
    n := [];
    for i                    =(^2)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
, eq.zero );
    od;

    # generated position
   # precalculate
    j :=
    for i  in [ 1 ..     for i  in [ 2 .. n 
        if not i in C.avoid  then
            C.unavoidable[i] := j;
             =java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
        fi;
    od;

    # blow up vectors

    w := [];
j   [  .Length(s)]o
        if IsBound(eq.system[j])  then
            v :=             for k  in [ n, n  CollectedWordSQC i1,ip1 )
            [j]do
                if not i in C.avoid  then
                    p := eq.dimension*(C.unavoidable[java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 43
                    vp.+eqsjava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 75
                fi;
            od;
            ShrinkRowVector(v                    AddEquationsSQ ,.,            java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
            t            ;
            AddSet( w, Length(v) );
        i
    od;

    # normalize system
    v : 0*q.zero1]java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    for in   n- .    do
        for j  in w  do
            if j > i         : (C (C,[,1,ip1] )java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
                p := t[j][i];
                if             =   -] j])
=java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                    AddCoeffs( t[j],            (" ^- >ip"java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
                    ShrinkRowVectorj]java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
                fijava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
            fi;
        od;
           fi

    
    d := #############################################################################
    v: 
    e := eq.vzero[1]^0;
    for i  inInstallGlobalFunction(, function(C ,Mjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
        x := ShallowCopy(n 
        []:=;
        for j  in w  do
            if j >=      w2 =C (  ,,i],
                x[j] := -    R: 
            fi;
        ;
( ,x)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    od;
    if 0 = Length(C.avoid)              [][ = .;
        return v;
    fi;

    # construct null vector
    n := []    
    for i  in [ 1 .. eq.nrels ]  do
        Append( n, eq.vzero );
    od;

    # construct a blow up matrix
    i :=            x : i^i)  j;
    for j  in [ 1 .. eq.nrels ]  do
        if not j in C.avoid  then
            Append( i, (j-1)*eq.dimension + [ 

    od;

    # blowup the vectors
    e := [];
                    ;
        
        d{i} := x;
       (e,d ;
    od;

    # and return
    return e;
end );

#############################################################################
##
#F  TwoCocyclesSQ( C, G, M )
##
            r : Crelators[i]j]java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    local   pairs, i,  j,  k, w1, w2, eq, p, n;

    # get number of generators[i,-1 ;
    n : PcgsG)

    # collect equations in <eq>
     R[]] [k[+;
               mzero     := C.mzero,
               dimension := Length(C.mzero),
               nrels     := (n^2+n)/2,
               spos      := [],
                   : [ )

    # precalculate (ij) for i > j
    pairs := List( [1..n], x     ;
    for i  in java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 7
        forj  [1. -1
            pairs[i][j] := CollectedWordSQ( C, [i,     i in  1. n ]  
        od;
od

    # consistency 1:  k(ji) = (kj)i
       ,1.1do
        for j  in [  odjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
            for k  in [ n, n-1          .ord <w  then
                w1 := CollectedWordSQ( C, [k,1], pairs[java.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 12
                w2 := CollectedWordSQ( C,        ;
                if w1.word < );
                    java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
                else
                    AddEquationsSQ( eq, w1
                fi;
            od;
        od;
    od;

    #
java.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 61
            n,,MI  ,i   ,ek  r ;
            p  := C.orders[j];
            w1 :        fijava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
     : [;
            +1/;
                    [i1 
            if w1.word <> w2.word  then         in [1. ] java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
                Error(    ;
            else
                (eq,w1., w2.tail )
            fi;
        od;
    od;

    # consistency 3: k (i i^(p-1)) = (ki) i^p-1
    for i  in [ n, n-1 .. java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 :=Ci         in     do
        for    C = , )
            w1
                    (C,[,]][,-]  ;
                        java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 6
                    [i,p-1]                 =;
            if w1.##
                Error( "k i^p <> (ki) i^(pod;
            else
                AddEquationsSQ( eq, w1.tailelse
            0java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
        od;
    od;

 consistency 4: (i i^(p-1)) i = i (i^(p-1) i)
    for iin[n,n- .1 ] do
        p
w1: CollectedWordSQ , CollectedWordSQjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 0
                [i,1] atorsi]j#  ( G, M)
        w2: (C i if < 
                    "generic method for pc"
        if w1      ]java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
            function(ein [1. [+]] do
        else
            AddEquationsSQ( eq,                         m := M[r[kjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        fi
    od;

nd 
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 6

#############################################################################
##
#F  TwoCoboundariesSQ( C, G, M )
##
InstallGlobalFunction( TwoCoboundariesSQ, function( C, G, M 
    local   n,  R,MI  j    in[1.r do

    # start with zero matrix
    n := Length(Pcgs( G ));
    R := [];
    r := *(n+1)/2;
    for i  in [ 1 .. n ]  do
        R[i] 
        for j end )
            R[i][j] := C.mzero;
        od;
    od;

    # compute inverse generators##
   M =M.
    localcc,cb;
      : Length     =TwoCocyclesSQ ,G,M )

              TwoCoboundariesSQ(C,G  )
    for j   [1 .n ]do
        for i in  [ j .. n ]  do
                  olen,g

            # power relator
            if i = j  then
                m : .mone
                for e  in [ 
                    Rjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
                od;

            p=(,,)
            else
                R[i][x] := R[i##
                R[j][x] := R[j][x]"java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 35
            java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 13

            # compute fox derivativesC :   mapped:=function(l
            m := C.mone;
            r := C.relators[i][j];
            if r############################################################################# 
##
                    end
                        R[r[k #
                        m : M[[k]]* m
                    od;
                od;
            fi  local v,tailipjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        od;
    od;

     one
m: ]java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    r :=n*n+)2;
    for i  in [ 1homology based on rewriting
        fork in [ . d]do
            e := [];
            for   in[1    
                Append( e, R[        tail={iLength(java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
            od;
);
        od;
    od;

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

#############################################################################
##
#F  TwoCohomologySQ( C, G, M )
##
    z := FlatList(      fijava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    local cc, cb;
    
    if Length(    return [rdv;
        cb := TwoCoboundariesSQ( C, G,  return rec(group :G,
         Length(.void) 0 then
            cb                 
        fi;
                        cohom:
            java.lang.StringIndexOutOfBoundsException: Range [37, 14) out of bounds for length 60
        fijava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    fi;
    return cc;
end );

#############################################################################
##
#M  TwoCocycles( G, M )
##
InstallMethod( #      tzrules:=kb!.tzrules;
    "generic onfl:=tzrules;
    true,
    [ IsPcGroup, IsObject ],
    0,

function( G, M )
    local C;
    C := CollectorSQ( G,     fp:mon
    thewordin :()
end );

#############################################################################
##
#M  TwoCoboundaries( G, M )
##
 java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
    "  <) 
    true,
        a   atpositionjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    0,

function
     ;
     : CollectorSQ(G ,false );
 ,M )
end );

# non-solvable cohomology based on rewriting

#############################################################################
##
#M  TwoCohomology( G, M )
##
( TwoCohomology;
    "generic method for java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 35
      j:java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 73
    oup  ]
    0,a=nemat

function(G M )
    local C, d, z, java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    : ( G , )
    d :m   [j[]:o1;
    d :returna;
z: (List [1.d  # rules that describe formal inverses, or delete generators of order 2 get no
    co ls.
      # normalform word and collect the tails
  collectail:function(rd)
:=SubspaceNC(co  )
    v:=List,->ero;
                java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                collector    :1
omology:truejava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
                cohom :=
                NaturalHomomorphismBySubspaceOntoFullRowSpace(co,cb),
presentation :
  if IsIntp)and rulpos[]> then

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

InstallMethod        =({1.1}rulesp]] # Length of r1  1 That is  generator  used!
  [IsGroup and IsFinite,IsObject],0,
function(G,mo)
java.lang.StringIndexOutOfBoundsException: Range [23, 5) out of bounds for length 75
      len1,l2,m,          
      findtail,colltzv[]=[p()
      c,nvars,htpos, fi;
      nononeolen,;


  # collect the word in factor group
  colltz:=function(a)
  local i,p;

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

      # does a rule apply at position i?;
        od;

      IsInt(p)then
        a:=Concatenation(a{[1  ogens::(1)x(x;
         {i+ength(p#  if false then
        i:=Maximum(0,i-mal); # earliest which could be affected
      fi;
      i:+;
    od;

        pcgsPcgsker;
  #    if IsBound(mon!.confl) then

  # matrix corresponding to monoid word
  mapped:=function(list)
  local a,i;
    a:=nemat;
    for i in list do
      if     :=cgsByPcSequenceFamilyObj#  else
     new approach with RWS from chief series
      fi;
    od;
    return a;
      f:Rangef)

  # normalform word and collect the tails
  collectail:=    tzrules:=Listmon)x-List,LetterRepAssocWord);
  local taili;
    v=rulesx->)

# collect from left
=1java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
(wrd)do

      # does a rule apply at position i?
      p:=    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

      if IsInt(p)
        p:=rulpos gens:java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
        ([[].);
        PreImagesRepresentative(,)))); # matrices for monoid generators
        if p in hastail  :GroupHomomorphismByImagesNC =[.]-ot(x)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
           IsIdenticalObj([]zero)then
            v[p]:=mapped(tailjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
else
            v[p]:=v[p]  :MutableBasis,]zeroq;
          fi;
        fi;
            :(();
      fi;
      o=etterRepAssocWord(nderlyingElement(    =l1java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

    return [wrd,v];
  end

   rules that describe formal inverses, or delete generators of order 2 get no

  hastail:]java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14

#  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:List,);# free group elements/words
    mon:=ConfluentMonoidPresentationForGroup not IsOne(m[1]*Subword(m[2          
    fp:=mon.fphom;
    fpg:=Range(fp);
    fm:=mon.
    mon:=Range            v2j:=        
          m[]in GeneratorsOfGroup(reeGroupOfFpGroup( (d    cheaplyjava.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90
#  fi;

  dag:=              k<[]java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 34
    LetterRepAssocWord)));
  mal:=Maximum(List  ;
  for i in [1..Length(tzrules)] do
    [i]1]i)
  od;

oup),
    x->PreImagesRepresentative(fp,x)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  hom:=GroupHomomorphismByImagesNC(G,Group(mo.generators),
               model<failandnot IsZero(olvec*k) then    :QuotientsmodelG[]java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  moker:= Error"deldoes  fit)

  l1:=GeneratorsOfGroup(fpg);
  :              java.lang.StringIndexOutOfBoundsException: Range [52, 21) out of bounds for length 52
];
  for i in l1 do
    =tterRepAssocWordUderlyingElementImagesRepresentativefm,)
    o:=LetterRepAssocWordCloseMutableBasis(eqsImmutableVectorfield,);
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
    formalinverse[j[1]]:=o[1];
  od;

  # rules that describe formal inverses, or delete generators of order 2 get no
  # tails.
  hastail:=[];
  rules:=[];
  genkill:=[]; # relations that kill generators. Needed for presenation.
  for r in tzrules java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 14
    for     if Length(len) java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
      Add(rules,r);
       ([]>2or
        (Length(r[1])=2 and (Length(r[m=xponentsOfPcElement(cgsm)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
        then
            ;
      fi;
    else
     Length of r[1] is 1. That is, this generator is not used!
      m:=First(        List(k,x->ImmutableVectorList(,x-Ijava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
       x-ImagesRepresentativehomPreImagesRepresentativef
      m:=List(m,UnderlyingElement); # free group elements/words

        IsOne(m[*(2,1)
        # Does the relation make a generator redundant (by expressing it in thezero=;
        # other gens)? If so, remember relation as needed to kill this generator, but
        # no influence on Cohomology calculation (which just uses the rest)
#rk:=0;
thengenkillr)
        fi;
      fi;
    fi;


  rulpos:=List(java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20

,x-    j 1.ules)do

  :=ValueOption("odel";
      :=erovec;
    for  in1.engthw) java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
    pre:List(gens,->reImagesRepresentativeqx)
   ker:java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 21
    pcgs:=Pcgs(ker);
    :GModuleByMats(nearActionLayerGroupp)cgs).eld);
    MTXIsIrreduciblem;
    miso:=MTX.          v1:=c:c2;:c1;
    new:=java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 9
    pcgs:=PcgsByPcSequence(FamilyObj(One(java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 13
    # now calculate the vector
    solvec:=[];
    one=ne(odel)
    m:=     formalinversei> then
mats:(GeneratorsOfMonoidmon)
x>ImagesRepresentative(m,
      PreImagesRepresentative(,x)); Elements  java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 48
    nonone:=[1..Length(mats) v2:[2]
pre:;
    onemat:=One(G);
   for i  1. v2j:[]java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
      r:=rules[hastail[i]                    v2:indtail([]],;
      m:=LeftQuotient(mapped(r[2]),mapped(r[1]));
      m:=ExponentsOfPcElement            k inhastaildo
      solvec:=Concatenation(       Assert(0,Length(qs)0               k>[k
    od;
  fi;

  onemat:=One(for in1.]
  :(emat[)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 27

   G=roupWithGenerators
            java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 15
    PreImagesRepresentative(fm,x)))); # matrices for monoid generators  new=              ifmodel<and  IsZeroolvec)
  one:=One(mats[1]);
  nonone:=Filtered([1..Length(mats)],x->not IsOne(java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
  zero:=zerovec;
  dim:=Length(zero);
  nvars:=dim*Length(hastail);              k:(eqsk;

#rk:=0;
  zeroq(fieldListWithIdenticalEntries(nvars,erofield));
     aijava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
  olen:=[-1,0];
  for i in [1..Length(rules)] do
    Info(InfoCoh,1,"First rule ",i,", 
    l1endjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
    for iin hastail do
    forodjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
      l2:=rules[j][1];
      m:=Minimum(  Lengtholen)3and
      for  in [.m-]do # possible overlap Length
        start:=len1-     olen[ength    killrelators:=List,i>(([)apped2(2],
        if ([.]-l1[tart+]    # position of relators with tails in t

          # apply l1 first
          new:=ConcatenationTriangulizeMat()
      eqs:MutableBasis(ield,
java.lang.StringIndexOutOfBoundsException: Range [41, 27) out of bounds for length 27
          if iin  then
            java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
          fi;

          # apply l2 first
          :=Concatenation(1{1.-],ulesj[2];
          v2:=collectail(new);
          if     :(rules),ield;
          #else Print("Both reduce to ",c,"\n");
          fi;
          v2: ifIsInt(p)and rulposp]>    eqs=((qs) java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
          java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
            v2[j]:=v2[j]+one;
          fi;
          if v1<>v2 then # If entries stay zero they are identical (and thus test cheaply)
            c:=List([1..dim],x->ShallowCopy(zeroq));
            for k in hastail     for i in [1..Length(wrd)] d
              if v1[k]<>v2[k]            w=w*mats[;
                new:v=[;
                fi;
                for l in [1..dim] do
                  if not IsZero(new      ;
                    creturn;
                  fi;
                od;
              fi;
   iin1.(ats) 
            for k in c do

              if   # inverses of generators
                Error("model does not fit");
              fi;
              #AddSet(eqs,ImmutableVector(field,k));
[2];
 #Add(alleeqs,ImmutableVector(field,k));
              k:=SiftedVector(eqs
                IsZerok)then
                Appendn,v2)

                  autom:=Invers(air[])

            ;


        fi;
        java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    od;
    Add(olen,Length(BasisVectors(eqs)));
    if   <GeneratorsOfGroup(G) then
      # if twice stayed the same after increase
      olen        :PreImagesRepresentativejava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
olen[olen]>[ength(len-3]then

      k:=List(BasisVectors(eqs),ShallowCopy);;
      TriangulizeMat(k);
      eqs  cohomology=ew;
        List(kjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
    fi;

  od;

  #eqs:=Filtered(TriangulizedMat(eqs),x->not IsZero(x));
  eqs:=hallowCopy(asisVectors(qs);
  if Length(eqs)=0 then
    eqs:=IdentityMat(Length(rules),field);
  else
    eqs# collect from left
    eqs:=java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 11
  fi;

  # Now get Coboundaries

  # different collection function: Sum up changes for generator i
  findtail:=function(wrd,nums,vecs#
  local a,i,    Add(ewLeftQuotient([]1],apped2(ules[]2))
    a:=          tailwrd[+Length[][].Length(wrd)]}
forin[.ength(d)do
      p:=Position(nums,wrd[i]);
      if# relators to kill superfluous generators
        v:=vecs[p];
o
          v:=v*mats[wrd[j]];
od
        a:=a+v;
      fi;
    od;
    return;
  end;

  bds:=[];
  for i in [1..Length(mats)] do
    if java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
    i:1;
      for i<Lengthwrd)    =java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        r:=[k,-k*mats[java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 17

        new:=[];
        for j in hastail do
          v1:findtailr[]1
          v2:=findtail(rules        p=rulpos[]      [,;
    ;
        od;
        new:=ImmutableVector(java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 12
        Assert(0,(Length(eqs)>0 and SolutionMat(eqs,new)<        :=-[({(rd})java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        Add
      od;
    fi;
  od;
  bds:=Filtered(            =*mats]
  bds=(bds,Immutable;

  if gens<>GeneratorsOfGroup(G) java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
   G=()
  fi;
  r:rec(roup:G,odule=mo,      :left]
;
  new:=List(return [wrd]java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
  r.cohomology:=

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

  k:=List(GeneratorsOfMonoid(mon),
    x-># debugging code: Construct group and work java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 30
  # matrix corresponding to monoid word
 #    ext:=mage()
  local];
    a:=one;
    for i in list do
      a:=a*k[i];
    od;
    return ;
  java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

  for#      for i in wrd do
    # rule that would get the tail
#      return w;
  od;

  r.presentation:=rec(#    v:=Concatenation(List([1..Length(mats)/2],x->[v[x],v[x]^-1]));
    # relators to kill superfluous generatorsimagemonwords:autom!;
    killrelators:=List(genkill,i->LeftQuotient(mapped2(i[1]
    # position of relators with tails in tzrules
    monrulpos:=java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 1
    #    od;

   # normalform word and collect the tails
  r.#      if new<>zy then Error("one");else Print("onegood\n");fi;:(fp)
  localvi,,,,ail;
    v=;

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

      # does a rule apply at position i?
      p    e:[;

      if IsInt(p) and rulpos[p]<>fail then    # normalform word and collect the tails
        p:=ulpos[]
        tail:=wrd{[i+Length(rules[p       Length(a)0 thenreturn;;
        wrd:=java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 7

        if p in hastail then
          w:=zy{java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          for j in tail do
            w:=w*mats[j];       Length)0
          od;
          v:=v+w;
        ;

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


                in  java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
  r.colltz:=colltz;

  # inverses of generators
  r.:(,y)
     colltzformalinverse())java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    -r.tailforword(Concatenation(wrd,java.lang.StringIndexOutOfBoundsException: Range [0, 43) out of bounds for length 0
      [2]];
  end      i:+;

  r.return wrd];
  local autom,mat,i,imagemonwords,imgwrd,left,right,extim,prdout    end;

:=nverseGeneralMapping1)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

    # cache words for images of monoid generators
    if not IsBound(autom!.imagemonwords) then autom!.imagemonwords:=[]; fi;
    :=!imagemonwords
    (nr)
    local ;
      v=+[2j[];
                w:w[]
        a:=PreImagesRepresentative(fm,GeneratorsOfMonoid(mon)[nr]);
        a:=PreImagesRepresentative(fp,a);
        :java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0
        a:=ImagesRepresentative(fp,a);
        a:=ImagesRepresentative
d(nderlyingElement)
        a:=colltz(a);
        []a
      ;
      n;
    end;

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


ifor [.hastail) java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
      while i<=Length(wrd) do

        # does a rule apply at position i?
=RuleAtPosKBDAG(,rd,

        if IsInt(p) and rulpos[p]<>fail then
          p:=rulpos[      mats:=List(Genera(m,
          tail:=wrd{[i+Length(rules[p][1])..Length(wrd)]};
          java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0

          left=(oncatenation(left]r])java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
            w:=zy{dim*(htpos[p]-1)+[1..dim]};
            for j in tail do
              w:=w*mats[j];
            
            v:#debugging :Constructgroup andwork 
          fi;

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

    prdout:=function(l)
    local#      w:=One(ext);
      #      for i in wrd do
      v:=zerovec;
      for j in l do
        v:=v*mapped(j[1]);             
        w:#
        v:#    v:=List([1..Length(mats)/2],x->myprd(imgwrd(2*x-1))); # new generators
       w#v:CList([1.(ats)],-[[x,x]^-]))
      od;
      return [w,v];
    end;

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

    # inverses of generators
    myinvers:=wrd->[colltz(formalinverse{Reversed(wrd)}),
      -collectail(Concatenation#    if IsOne(pair[1]) and          l[]:

    # images of generators
    extim:=List([1..Length(mats)return ImmutableVector(mo.fieldnew)

    # collect inverses and interleave generators/inverses
    extim:=Concatenation(List(extim,x->[[x,java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 42

    for i in [1..            =BindGlobal"(mats)
      # evaluate rules in images
      left:=prdout(extim{rules[hastail[i]][1]});

      # invert left
      v        :rec:=,ggens=gens{1.])
      left:=[v[1],v[2]-left[2]/mapped(left[1])];

      right:=prdout(extim{rulesAdd(,;

      # quotient left^-1*right
      :[]java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
                 j 1.]java.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28

      (ew-[]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]));

#
#    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,new);
  end;

  return r;
end)

BindGlobal( "MatricesStabilizerOneDim", function(field,mats  java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 62
 eone,r,c,s,;
    e:=[];
    one:=One(mats[1]);
    for m in mats do
      r:=  :=roupHomomorphismByImagesNCGGroup(java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 20
     a:List(,-NullspaceMat(-*one)
        # we a do   tonormalsubgroup  upto .
      Add(,)
    od;
    for c in Cartesianelse

              :[collect1]collect[]+[2]mats[-i][i] 
        is:=SumIntersectionMat(is,c[i])[2];
d;
      if Length(is)>0 then
        returnendjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
      fi;
   ;
  return falsebas:Pcgs(;
nd)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

BindGlobalList,->(bas):))
local       A(3,orAll(ct,sBijective);
  n:Lengthl;
  ran:=[1..ba:a;
  r:=0;
  d=[;
  p:=[]      gi:SemidirectProduct ;
  # base bit
  for i in [1..n] do
    for j in ran do
      rj:r+l :]java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    od;
    Add(d,ran+r);
    r #vector:ImagesRepresentative(mbeddingg,2b[],
  od;
  # permuter bit
 :PermList(p)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 6
  return p;
end);

BindGlobal("PermrepSemidirectModule",function  :=GeneratorsOfGroup(r.presentation.roup);
local hom,mats,m,i,j,mo,bas,a,l,ugens,gi,r,cy,act,k,it,p;
  if not MTX.java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
  p=Size(module.)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
 Error(mustbeprime";;
  k:Lengthg;
  hom=GroupHomomorphismByImagesNC(,Group(module)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
    GeneratorsOfGroup(G),module.generators);
  # we allow do go immediately to normal subgroup of index up to 4.
  # This reduces search space
  it:=DescSubgroupIterator(G:skip:=LogInt        bas:BaseSteinitzVectors    =java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 47
  
m= :oncatenationbasfactorspace.);

        # assume we have a generating set for the SDP consisting of the
      InfoInfoExtReps,,Index reached"Index(G,java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
        ,writeout module ";
      # alternative, boring version
      mo:AbelianGroupListWithIdenticalEntries    ;
      bas:=Pcgs(mo);
      act:=List(module.generators,m-
        GroupHomomorphismByImagesNC(mo,mo,java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 13
Listm,-PcElementByExponents(as,):oassert));
      Assert(3,ForAll(act,IsBijective));
      a:=Group(act);
      SetIsGroupOfAutomorphismsFiniteGroup(      (rels,[ensi*gens[+1,One()])
      gi:=SemidirectProduct(G,GroupHomomorphismByImages(G,a,
        GeneratorsOfGroup(G),    for i  [n1,n+.(-]do
      r:=rec(group:=gi,
                  ggens:=List(GeneratorsOfGroup(),->
                    veEmbedding(gi,1),x)),
                  #vector:=ImagesRepresentative(Embedding(gi,2),bas[1]),
        basis:=List(bas,x->ImagesRepresentative(Embedding(gi,2),x)));
      Assert(0,Size(gi)=Size(G)*p^module.dimension);
      return r;

    elif Size(Core(G,m))>1 then
      Info(InfoExtReps,4,"Index ",Index(G,m)," has          
    else
        od;

      mats:=List(GeneratorsOfGroup(m),
        x->TransposedMat(ImagesRepresentative(hom,x^-1)));
      a:=MatricesStabilizerOneDim(module.field,mats);
      if < then
        # quotient module
         vector  submodule basis
                od;;
NullspaceMat(ransposedMat{1]))
        bas:=Concatenation(java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 25

                        ValueOption"">    ;
        # complement gens, and one element of the module.
        cy:=CyclicGroup,p)                     (xl] 
        ugens:=[];

        # also transversal chosen in complement
       :(G)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
Gr,);
        act:=List(GeneratorsOfGroup( wl]:Crelatorsi[];
        #l:=ListWithIdenticalEntries(Index(G,m),());
        form[ = ;
          l:= fi
          for j in [1..Length
            # matrix for Schreier gen
a=ImagesRepresentative(hom,
              r[j]*G.                l1 =C.elators[[]java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
            # how does it act on bas[1]-span, get factor
            a:=Int(SolutionMat(bas            ;
            # write down permutation that acts as mult by a
            if                 if Is(xl]  
              l[j]:                
            else
              l[j]:=java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 15
                 =]java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
          od;
          Add(ugens,WreathElm;
        od

        # module generator
        for j in [1..Length(r)]     r    ,,  j  word  ,          ifNrMovedPoints()Njava.lang.StringIndexOutOfBoundsException: Range [53, 50) out of bounds for length 59
          
          l[j]:=
            cy^Int(SolutionMat(bas,bas[1]/ImagesRepresentative(hom,java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        od;
        Add(ugens,WreathElm(p,l,fi
        gi    ;
        Assert(0,Size(gi)=p^java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 23
         ;
          a:=java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 11
          if    . : ;
            gi:Gcoll: ];
            ugens:=List(ugens,x-    estack: ]
          fi
        ;

        r:=rec(group:=gi,ggens:=    .=Mgeneratorsi>MT();

        # compute basis
        bas:=bas{[1]};
       gi:ugens{[..];
[1};
        i:=1;
whileLength()<module. do
j in             abas[]odule.[]
            a:=bas[i]*module.generators od
            if SolutionMat(bas,a)=fail then
              Add(bas,a);
              Add(ugens,ugens[i]^gi[j]);
            fi;
          od;
          i:=i+1;
        od;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        r.basis:=List(Inverse(bas),x->LinearCombinationPcgs(ugens,x));

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

(if r.presentation.killrelators]then
local best,u,v,start,cnt,runtime;
  runtime:=java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
  =(;
  best:=TrivialSubgroup(godjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
      s:=List((mon)String;
                   : CollectedWordSQ( C, [k,1], pairs[j][i] );
    cnt:=cnt+1;
    u:=               ((""tringi,-";
              Error k(i > (kj)i )
      v:=          AddEquationsSQ eq,w1.tail, w2.tail );
      u:=ClosureGroup            od;
    inversejava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    if IndexNC(g,v)<IndexNC(g,best) then best:=v;fi;
   od;
  return best;
end);

InstallGlobalFunction(FpGroupCocycle,function(arg)
local r,z,        (            
      it,hom,trysy,prime,java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 15
      tab,tab0,evalprod,gensmrep,invsmrep,zerob,step,simi,simiq,wasbold,
      monordmnmelmvec,killgens,frew,fffam,ofgens,rws,ormalinverse;

  # function to evaluate product (as integer list) in gens (and their
invs   mats
  evalprod:=function(w,gens,invs,mats)
localnew,;
    new:=[[],zerob];
    forAddEquationsSQ eq, w1.tail, w2.tail );
      if i>0 then
        collect:=          : ojava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 26
new[[]collect[]+ew2*mats[]+[i    ,[,1,
                 IsEvenInt()thennew:^-1;;
collect=.(oncatenationn[]invs[-][],)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
mats[-]invs-]]java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
      fi;

    return new;
  end;

  melmvec:=function(v)
  java.lang.StringIndexOutOfBoundsException: Range [9, 7) out of bounds for length 14
    w:=One(f);
    for i in [1..Length(v)] do
([];
      ifprime2or *2<prime then
       :w  relators
      else
        a:=prime-a;
        w:=w*gens[2*i+mn]^a;
      fi;
    od;
    return w;
  end;

  # formal inverse of module element
                  :,      in[.dim]do
local l,;

    for      mon!confl=tzrulesjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
      if IsEvenInt(i) then Add(l,i- while()(     IsZero(    :(;
elseAdd,1);
    od;
    returnfi
  end;

  r:                        cheap:false;
  z:=arg[2];
gens=(r.presentation.roup;
  dim:=r.module.dimension;
  prime:=Size(r.module.field);

  if ValueOption("normalform")<>true then
    mon:=fail;
  else
    # Construct the monoid and rewriting system, as this is cheap to do butjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 38
    # will allow for reduced multiplication. Do so before the group, so there is no
    # issue about overwriting variables that might be needed later
    mon:=Image(r.monhom);
    =    if not IsBound(autom!.imagemonwords!.:[];;
    fffam:=FamilyObj(One(FreeMonoidOfFpMonoid(mon    :autom!.;
                        :Stabilizernjava.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 24
   # generators that get killed. Do not use in RHS
    killgens:=Filtered(GeneratorsOfMonoid(mon)        
      ReducedForm(frew,UnderlyingElement(x)));
    killgens:=Union(List(killgens,x->LetterRepAssocWord(UnderlyingElement(x))));

                    i:=+;
    mn:=Length(        :PreImagesRepresentative(fp,a);
    for:ImagesRepresentative(autom,;
        :(fp,a;
      Add(str,Concatenation("m",String(i),"^-1"));
    od;
    f:=FreeMonoid(str);
    gens:=GeneratorsOfMonoid(f);

    rels:=[];
    # inverse rules
    for i       =;
      Add(rels,[gens[i]*gens[i+1],One(f)]);
      Add(rels,[[+]gens[]One(];
    od;

    # module is elementary abelian
    for i in [mn+1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      if prime=2 then
        Add(rels,[gens
        Add(rels,[gens[i+1],gens[i]]);
      else
+12) # power that changes the exponent sign
        Add(els[[^j,gensi
        Add(rels,[gens[i+1]^j,gens[i]^( e=(FamilyObj(od;
      fi;
      for j in [ifijava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
        Add(rels,[gens[j]*gens[i],gens[i]*        fi;
        Add(rels              :=izefp) # never try again
      od;
    od;

    # module rules
    fori  1.]do
      if not i in killgens then
         j      :[java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
          new:=r.module.              i:=IsomorphismFpGroue:cheap;#java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
          if IsEvenInt(i) then new:=new^-1; fi;
          new:=new[QuoInt(j-mn+1,2)];
          if IsEvenInt(j) then new:=-new;fi;
    Add(els,gensj*[,gens[](ew)]java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
        od;
      
    od;

    # rules with tails
    for i in    =->[f{wrd},
      new IndexNC(e,)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
      new:=List              java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
      new[:new[]({(-1)*dim1.*};
      Add(els,)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
          # as manageable

    # Any killed generators -- use just the same word expression
    if r.presentation.killrelators<>[] then                # evaluate rules in images
      for  inFiltered(killgens,IsOddInt) do
        new:=AssocWordByLetterRep(fffam,[i]);
        new:=[ew(,];
        new:=List(new,x->MappedWord(x,
          ofgens,gens{[1.. :prdoutextim{ruleshi]2};
        Add(rels,new);
        RemoveSetfi
      od;
    fi;

          (ew-2*;
      =java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 7
      if HasLevelsOfGenerators(ord) then
        ord:=WreathProductOrdering(f,
          Concatenation(#    hom:=IsomorphismPermGroup(ext);
                         e<>ailjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
      else
        ord:=java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
          #    myprd:=(wrdjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
                        ListWithIdenticalEntries(2*dim,1)));
      #        w:=w*exte[i];
    else
      ord:=WreathProductOrdering(f,
        Concatenation(ListWithIdenticalEntries(mn,2),
                      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
    # monrulpos.)
    for i in rels do
      if Length(i[2])=0 and Length(i[1])=2
        and Length(Set(LetterRepAssocWord(i[1])))=1 then
        new:=LetterRepAssocWord(i[1])[1];
        ifIsOddInt()
          ([new+][ew];
       ;
      fi;
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

       # temporary build to be able to reduce
ctorFreeMonoidByRelations(,relsjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
     =(mats[1]);

    # handle inverses that get killed
    for i in killgens do
      new:=AssocWordByLetterRep(fffam,[i]);
w,      r:=Set(RootsOfUPol(field,java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 61
      new:=MappedWord(new,ofgens,gens{[1..mn]});
      # now left multiply with non-inverse generator
      j:=ReducedForm(rws,gens    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
      j:=ReducedForm(rws,formalinverse(j)); # invert
      Add(els,[ensi]j)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
    od;

    mon:=FactorFreeMonoidByRelations(f,rels);
    s=(amilyObj((mon)ordi)  ;
    (rws);
    MakeConfluent(rws);  # will add rules to kill inverses, if needed
    java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 0
  fi;

  # now construct the group
  ,String;
erob=(.fieldjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    ListWithIdenticalEntries#
  n:=Length(ogens);

  gensmrep=(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 7
   x->[LetterRepAssocWord( od;
     ElementOfFpGroup(FamilyObj(One(Range  :P(/(ConcatenationPermuteddm)  
   module 
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    x->[[],x]));
  invsmrep= matsc,L(c,

  fori  [.]do
 o=Group(coduleLengthcohcohomology);
  od;
f=FreeGroup()java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  gens:=GeneratorsOfGrouphom:GroupHomomorphismByImagesNC,roupmg)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
  rels:  # we allow do go immediately to normal subgroup of index up to 4.
ntation.elators) 
     it=(:skip:=LogIntS#############################################################################
    for j in [1..dim] do
      new:=new*gens[n+j]^Int(z[(i-1)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    odjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    Add(rels,   [andIsFiniteIsObject]
  od;
  for i in [1..Length(r.presentation.killrelators)] do
    :=MappedWord(.presentation.illrelatorsi]ogens,ens{[1.n};
    Add(rels,new);
  od;

  for i in [n+1.          (,x>(bas,x)noassert)returnList((ectorSpace..,cc.),
    Add(els[    Assert3(,sBijective);
    for j in [i+1..Length(gens)] do
      Add(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 5
    od;
  od;
  for i in [1ggens=(GeneratorsOfGroup(),-
    [1.]do
      Add(rels,gens[n+j]^                  #vector:=Im(Embeddingg   (and )
        LinearCombinationPcgs(gens{[n+1..Length(gens)]},r.module.generators[i][ocal java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
;
  od;
  :=f/;
  SetSize(,(.roup*prime^mjava.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 5
  simi:=fail;
 :;

  if mon<fail then
    rels:MakeFpGroupToMonoidHomType1,)
    SetReducedMultiplication(fpa=(module,);
  fi;

  if Length(arg)        # basis: supplemental vector and submodule basis
ule) then
      # make SDP directly
      m:=PermrepSemidirectModule(r.group,r.module:cheap);
      p=.roupjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
      # test is cheap here, thus no NC
      :(fpp,(fp,
        Concatenationcy=(,p).1;# p-cycle
    else

     sim=(fp;
      sim:=IdentityMapping(fp);
      fps=Imagesim,p)

      g:=r.group;
      quot:=nverseGeneralMappings)
        *java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
                        gen
          ListWithIdenticalEntries(r.module.dimension,One              j*.gi)[ositionCanonical(r,[]G()];
      hom:=GroupHomomorphismByImages(r.group,Group(r.module.generators# how does it act on bas[1]-span, get factor
odule.generators);
      p:l[]=)
      :=aximum100050*ndexNCpSylowSubgroupp,)))
       allow to enforce test coverage
      if ValueOption("forcetest;


      if         java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
        mindeg:=Minimum(List(Orbits(p,MovedPoints(p)),Length));
      fi;
      it:=fail;
while            KernelOfMultiplicativeGeneralMapping))java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
        # we allow do go immediately to normal subgroup of index up to 4.
 search space
        repeat
 then
            # re-use the first quotient, helps with repeated subgroups iterator
if=rgroup then
              m:=r.group;
            else
              m:p;
            fi;
            # avoid working hard for outer automorphisms
            e:=Filtered(java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
              # roughly 5 for 1000, 30 for 10^6, 170 for 10^9
              x->IndexNC(m,          if NrMovedPoints(R)NrMovedPoints
m=Last()java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
            it:=DescSubgroupIterator(m:skip:=LogInt(Size(p),2
                  ;

          
          m:=NextIterator(it);
          # catch case of large permdegree, try naive first
          if Index(p,mgi:ugens[.k};
             NrMovedPoints(^>p)then
            # take set stabilizer of orbit points.
            e:=Set(List(Orbits(p,java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 28
            m:=Stabilizer(p,e,OnSets);
            if IndexNC(p,m)>10*NrMovedPoints(p) then
              m:=              Add(ugens(gensugens[]^gi[])
            fi;
            if IndexNC(p          i=+1
              m:=p; # after all..
              wasbold    ;
            java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 5
              =;
            fi;
          fi;
          Info(InfoExtReps,3,"Found index ",Index(p,m  java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
          e:=fail;
          if Index(p,m)>=mindeg and (hom=false or Size(m)=1 or
           false<MatricesStabilizerOneDimm.,
              List(GeneratorsOfGroup(m),
              x->TransposedMatI(homx)-))then
            Info(InfoExtReps,2,"Attempt index ",Index(p,m));
 thenInfo(nfoExtReps,,"om is false);ijava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68

            hom<>false andIndexpm>
              # up to index
              50
              # the rewriting seems to be sufficiently spiffy that we don'tj=(jx-PreImage(,));
              # need to worry about this more involved process.

              # this might fail if generators are killed by rewriting
              and Length(r.presentation.killrelators)=0
              then

              # Rewriting produces a bad presentation. Rather rebuild a new
              # fp group using rewriting rules, finds its abelianization,
              # and then lift that quotient
              sub:PreImage(,);
              tab0:=AugmentedCosetTableInWholeGroup(sub);

              # primary generators

                x                    n))
              (,4"wrd=,wrd)
              mgens:=List(mwrd,x->ImagesRepresentative(quot,x))                   i=()and f do
             nn=()
              if IsPermGroup(m) then
                e:=SmallerDegreePermutationRepresentation(m);
                mfpi:=IsomorphismFpGroupByGenerators(Image(e,m),
                  List(mgens,x->ImagesRepresentative(e,x)):cheap);
                mfpi:=e*mfpi;
              else
                mfpi:=IsomorphismFpGroupByGenerators(m,mgens:cheap);
              fi;
              mmats:=List(mgens,x->ImagesRepresentative(hom,x));

              i:=Concatenation(r.module.generators,
                ListWithIdenticalEntries(r.module.dimension,
                  (r..imensionr..))
              e:=List(mwrd,
xevalprodU(),
                ,,);
              ei:=List(e,function(x)
                  local i;
                    i:=r.myinvers(x[1],z);
                    returnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                 );

              newfree:=FreeGroup(nn+                Info(InfoExtReps,2,"Degimproved  factor"
              gens:=GeneratorsOfGroup(newfree);
              rels:=[];

              # module relations
              for i  [.dim]do
                              fi
for in1.-1do
                  Add(rels,Comm(gens[nn+i],gens[nn+j]));
                od;
                for j  1..(gens) do
                  Add(rels              m:SylowSubgroupprime;
nationPcgsgens{+1.n+im],[]i))java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
odjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
              i:IsomorphismFpGroup:cheap;# only one TzGo

              #extended presentation

              for i in RelatorsOfFpGroup(Range(mfpi)) java.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 54
                i:=LetterRepAssocWord(i);
                str:=evalprod(i,e,ei,mmats);
                Length(tr1)0thenError(";;
                Add(rels,AssocWordByLetterRep(FamilyObj(One(newfree)),i)
                         /LinearCombinationPcgs(gens{[nn+1..nn+dim]},str[2]));
              od;
              newfree:=newfree/rels; # new extension
              Assert(2,
                                then
              mfpi:=GroupHomomorphismByImagesNC(newfree,m,
                GeneratorsOfGroup(newfree),Concatenation(mgens,
                  ListWithIdenticalEntries(dim,One(m))));

              
              # module is irreducible).
              :LargerQuotientBySubgroupAbelianization,:);
              if e<>fail then
                step:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                while step<=1 do
                  # Now write down the combined representation in wreath

                  e:=DefiningQuotientHomomorphism=;
                  # define map on subgroup.
                  tab:=CopiedAugmentedCosetTable(tab0);
                  tab.primaryImages:=Immutable(
                    List(GeneratorsOfGroup(newfree){[1..nn]},
);
                  TrySecondaryImages(tab);

i=GroupHomomorphismByImagesNCsub,()mwrd,
                    List(GeneratorsOfGroup(newfree){[1..nn]},
                      x->ImagesRepresentative(e,x)):noassert);
                  SetCosetTableFpHom(i,tab);
                  e:=PreImage(i,TrivialSubgroup(Range(e)));
                  e:=Intersection(e,
                            =quot

                  # this check is very cheap, in comparison. So just be safeGeneratorsOfGroup()-(x))
                  Assert(fi
                    x->IsOne(MappedWord(x,FreeGeneratorsOfFpGroup(fps),
                      GeneratorsOfGroup(e!      :(::>)

                  if step=0 then
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
                      GeneratorsOfGroup(e!.quot),
                      GeneratorsOfGroup(p));
=PreImage(m;
                    
                      step:=2;
                      Info(InfoExtReps,2,"Small bit did= then
                    else
                      Info  ;
                      e:=LargerQuotientBySubgroupAbelianization(mfpi,m:
                        cheap  :[+.]
eendjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                        #####################################################
                    fi;
                  fijava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21


                  step:=step      true[sGroup  ,],
         odjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19

local coh;

            else
            if simi=hen
                        w:=w*gens[2*i(VectorSpace..,ohczero)java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
                simiq
              fi;
              e:=LargerQuotientBySubgroupAbelianization(simiq,m);
              if e<>fail then
                i=simi*(e);
                j:=ImageifIsEvenIntlocal coh;
                j:=List(Orbits(j,MovedPoints(j)),x->Stabilizer(j,x[else(l,1;;
                j:=List(j,x->PreImage(    return AssocWordByLetterRep(FamilyO)l;
                e:=java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
                iplicativeGeneralMapping();
              fi.)
            fijava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15


            if e<>fail then
              # can we do better degree -- greedy block reduction?
              nn:=e!.quot;
              if IsTransitive(nn,MovedPoints(nn)) then
                repeat
                  ei:=ShallowCopynfrew=ReducedConfluentRewritingSystem)
                    MovedPoints(nn)));
SortBy(,--(); # long ones first
                  j:=false      (rew,nderlyingElement);
                  i:1;
                  while i<=Length(ei) String);
                    str:=Stabilizer(nn,ei[    mn:=Length(str);
                    if Size(java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 24
                      j:=ei[i];
                    fi;
                    i:=i+1;
                  od;
                  if j<>false then
                    Info(InfoExtReps,4,"deg. improved by blocks "     iin [1,..engthgens-]do
# actionon java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
                   i:ActionHomomorphism(nOrbitnnjOnSets),nSets);
                    j:=Size(nn);
                    # make new group to not cache anything about old.
                    nn:=Group(List(GeneratorsOfGroup(nn),
x->magesRepresentative(i,x)),());
                    SetSize(nn,j);
                  fi;
                until j=java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 21

              Add(els[ens]^2,ne)])
              ifAddrels,[ens[i+1]gens[i]])java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
       Info(InfoExtReps,,"egree improved by factor ",
                  NrMovedPoints(e!.quot)/NrMovedPoints(nn));

                e:=SubgroupOfWholeGroupByQuotientSubgroup(FamilyObj(fps),nn,
                 Stabilizer(nn,1))java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
              fi
                  for j in +2.Length]do
              trysy:=Size(fp); # never try again
              # can the Sylow subgroup get us something?
              m=ylowSubgroup,rime);
              e:=PreImage(quot,m);
              Info(InfoExtRepsod;
              i:=IsomorphismFpGroup(e:cheap); # only one TzGo
              e:=EpimorphismPGroupforiin [.mn]do
              e:=i*e; # map onto pgroup
              j:=KernelOfMultiplicativeGeneralMapping(
                  InverseGeneralMapping(e)*quot);
              i:=RandomSubgroupNotIncluding(Range(e),j,20000); # 20 seconds
              Info(InfoExtReps,2,"Sylow found ",IndexNC(p,m)," * ",
                IndexNC(Range(e),i));
              if IndexNC(Range(e),i)*IndexNC(p,m)<
                  # consider permdegree up to
                  100000
                  # as manageable
                then
    e:PreImage,)
                #e:=KernelOfMultiplicativeGeneralMapping(
                  DefiningQuotientHomomorphism();
              else
                e:=fail; # not good
              fi;
            fi;

                    new:new[QuoInt(-mn+1,);
          fi;

        until e<>fail;
        i=;

        quot:=DefiningQuotientHomomorphism(Intersection(e,
      fifjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        p:=Image(quot);
        Info(InfoExtReps,1,"index ",Index(i,m)," increases factor by ",
             Size(p)/Size(i)," at degree ",NrMovedPoints(p)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        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),
       ListGeneratorsOfGroup(fp),x->ImagesRepresentative(quot,x)));

    fi;
    # if we used factor perm rep, be bolder
    if IsPermGroup(p) then
      new:=new*    # Any killed generators -- use just theword expression
     SetIsomorphismPermGroupfp,ew;
    elif IsPcGroup(p)      fori in Filtered(killgens,IsOddInt) do
      SetIsomorphismPcGroup(fp,new);
    fi;
  fi;

  if HasIsSolvableGroup(.roup then
              ofgensgens{1..n]}));
  fi;

  return fp;
end);

InstallGlobalFunction("CompatiblePairOrbitRepsGeneric",function(cp,coh)
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)=2 then
    # 1-dim space over GF(2)
    return [coh.zero,    return [coh.zero,cohord+1,
  fi;
  # make basis
  bas:=Concatenation(coh.coboundaries,coh.cohomology        ord:WreathProductOrdering(,
  ran:=Length(coh.coboundaries)+1..Length(bas)];
  mats:=List(GeneratorsOfGroup(cp),g->List(coh.cohomology,
    v->SolutionMat(bas,coh.pairact(v,g)){ran}));
  o:=Orbits((ats,coh.module.ield^Length(coh.cohomology);
  o=List(,x->x[1]*coh.ohomology);
  return o;
end);

#############################################################################
##
#M  Extensions( G, M )
##
InstallOtherMethod(Extensions,"generic method for finite groups",
    true,[IsGroup and IsFinite,IsObject],
    -RankFilter(IsGroup and IsFinite),
function(G,M)
local coh;
  coh:=java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
return List((VectorSpace(coh.module.field,coh.cohomology,coh.zero)),
    x->FpGroupCocycle(coh,x,true:normalform));
end);

nstallOtherMethod(ExtensionRepresentatives,genericmethod for finite groups",
  true,[IsGroup and IsFinite,IsObject,IsGroup],
    -RankFilter(IsGroup and IsFinite),
function(G,M,P)
local coh if (new)then
  (G,);
  return java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    x->FpGroupCocycle(coh,x,true:normalform));
end);


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

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.63Angebot  ¤

*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

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912