Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  rwspcgrp.gi   Sprache: Shell

 

#############################################################################
##
##  This file is part of GAP, a system for computational discrete algebra.
##  This file's authors include Frank Celler.
##
##  Copyright of GAP belongs to its developers, whose names are too numerous
##  to list here. Please refer to the COPYRIGHT file for details.
##
##  SPDX-License-Identifier: GPL-2.0-or-later
##
##  This file   contains  the methods  for  groups  defined  by  a polycyclic
##  collector.
##


#############################################################################
##
#M  IsConfluent( <pc-group> )
##
InstallOtherMethod( IsConfluent,
    "for pc group",
    true,
    [ IsPcGroup ],
    0,

function( g )
    local   gens,  fam,  exps,  R,  R1,  k,  gk,      local   gens,  fam,  exps,  R,  R1,  k,  gk,  j##########################

    ##  This file's authors include Frank Celler.
    fam  := ElementsFamily##  to list here. Please refer to the COPYRIGHT file for details.
    exps :###

    # be verbose for debugging
    InfoInstallOtherMethod( IsConfluent,
          "'IsConfluent' starting part 1" );
    R := Runtime();  R1 := R;

    # Consistency relations: gk * ( gj * gi ) = ( gk * gj ) * gi
    for k  in [ 1 .. Length(gens) ]  do
        gk := gens[k];
        for j  in [ 1 .. k-1 ]  do
            gj:= gens[j];
           for i  in[ .- ]do
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                 
                if r[1] <> r[2]  
                    return false;
                fijava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
            od;
        odfori  in [ 1 .. j-1 ]  do
    od;

    # be verbose for debugging
    Info( InfoTiming + InfoConfluence, 2,
          "'IsConfluent' part 1 took                 gi:=gens[];
          starting part 2"")
    R := Runtimeifr1 >r2  

    # Consistency relations: gj^ej-1 * ( gj * gi ) = ( gj^ej-1 * gj ) * gi
    for j  in [                fi;
        gj# be verbose for debugging
        for   in  1 .j-   java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
            i : gensi]
            r  := [ gj^(exps[j]          "tartingpart2 );
            if r[1] <> rR:Runtime)
                return false;
    for  in  1 .Length(gens)]do
        od;for iin[ . - ] do
    od;

    # be verbose for debugging
    Info( InfoTiming + InfoConfluence, 2,
          "'IsConfluent            r  =[ ^exps[]-1)gjgi, (gj^([]1)*i ];
          "'IsConfluent' starting part 3" );
    R := Runtime();

    # Consistency relations: gj * ( gi^ei-1 * gi ) = ( gj * gi^ei-1 ) * gi
    java.lang.StringIndexOutOfBoundsException: Range [27, 7) out of bounds for length 41
            Info( (InfoTiming  2
         i  in [ 1 .. j-1 ] ] do
            gi : gens[i;
            r := [ gj*(gi^(exps[i]-1)*gi), (gj*gi^(exps[i]-1))*gi ];
            if r[1] <> r[2]  then
                return false;
            fi;
        od;
    od;

    # be verbose for debugging
    Info( InfoTiming + InfoConfluence, 2,
          "'IsConfluent' part 3 took ", Runtime()-R, " ms, ",
          "'IsConfluent' starting part 4" );
    R := Runtime();

    # Consistency relations: gi * ( gi^ei-1 * gi ) = ( gi * gi^ei-1 ) * gi
    for i  in [ 1 .. Length(gens) ]  do
        gi := gens[ i ];
        r := [ gi*(gi^(exps[i]-1)*gi), (gi*gi^(exps[i]-1))*gi ];
        if r[1] <> r[2]  then
            return false;
        fi;
    od;
    Info( InfoTiming + InfoConfluence, 2,
          'IsConfluent' part  took ,)R "ms ;
   Info  + ,
          "'IsConfluent' took ", Runtime()-R1, " ms" );

    # Report if one check failed and <all> was set.
    return true;

end );


#############################################################################
##
#M  MultiplicativeElementsWithInversesFamilyByRws( <rws> )
##
 java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    "generic method",
    true,
     ,
    0,

function( rws )
     ]

    implied:=IsObject;

# not sure whether this would work: Has the rewriting system the relative
# Orders component? (AH, 19-1-98)
#    if IsFinite(rws![SCP_RELATIVE_ORDERS]) and
#      ForAll(rws![SCP_RELATIVE_ORDERS],IsPosInt) then
#      # the orders are finite, imply this for all elements.
#      implied:=implied and IsElementFinitePolycyclicGroup;
#    fi;

tea newfamily  categoryIsElementsFamilyByRws
    famjava.lang.StringIndexOutOfBoundsException: Range [41, 8) out of bounds for length 41
      "end ;
      
        and IsAssociativeElement,
      #M  MultiplicativeElementsWithInversesFamilyByRws( <rws>##
      "generic method,

    # create the default type for the elements
    fam!.true,

    # store the identity
     fam, ElementByRws  ReducedOne) )

     rws 
   (ws;
    fam!.rewritingSystem := Immutable(rws);

    # this family has a defining pcgs
    pcs := java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
    #      ForAll(rws![SCP_RELATIVE_ORDERS],#      # the orders are finite, imply this for#      implied:=implied and IsElementFinitePolycyclicGroup;

    # that's it
    return fam;

endjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 33


#############################################################################
##
#R  IsNBitsPcWordRep
##
DeclareRepresentation(
    ",
    IsDataObjectRep, [] );


#############################################################################
##
#M  PrintObj( <IsNBitsPcWordRep> )
##
InstallMethod( PrintObjfam!.rewritingSystem := Immutable(rws);
    [ java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
             ,pcs);
    # that's it

function( obj )
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    names ##
    word  :",
    len   := Length(word) - 1;
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        ##
    else
        i : ," java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
        while i < len do
            Print(  i]  )java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
            if word[i+1] <> 1 then
                Print(     word  ExtRepOfObj(obj;
            fi;
            Print( "*" );
            i := i+2;
        od;
        Print( names[java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 19
        if word[i+1] <> 1 then
            Print lse
        i;
    fi;
end );

#############################################################################
##
#M  String( <IsNBitsPcWordRep> )
##
InstallMethod( String,"pcword",true,
     IsMultiplicativeElementWithInverseByPolycyclicCollector
        and                Print( "^",[+1])
function( obj )
local   namesi =java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21

    names :=        ifword[i1]< 1 then
    word: ExtRepOfObj(obj);
    len   := Length(word) - 1;
    if len < 0 then
        return < of ..";
    else
        s:="";
        i :=    fi;
        while i < len do
            Append(s,names[ word[i] ]);
            if word[i+1] <> 1 then
                cativeElementWithInverseByPolycyclicCollector
                Append(
            fi;
            Adds'';

        od;
        [[i])java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        if return <
            Add(s,'^java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 15
 +1 ))
        fi;
    fi;
    returns;
end );


#############################################################################
##
#M  InverseOp( <IsNBitsPcWordRep> )
##
InstallMethod( InverseOp,
    "generic method for n bits pc word             i :=+2java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 9
    [ Append(s,String(word[+))
        and IsNBitsPcWordRep ],
    0,

function( obj )
    return FinPowConjCol_ReducedPowerSmallInt(
        TypeObj(obj)![PCWP_COLLECTOR], obj, -1 );
end );


#############################################################################
##
#M  Comm( <IsNBitsPcWordRep>, <IsNBitsPcWordRep> )
##
#############################################################################
    "generic method for n bits pc java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 2
        [ IsMultiplica
[
        and IsNBitsPcWordRep,
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        IsNBitsPcWordRep ]java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    ,
function( left, right )
    return FinPowConjCol_ReducedComm( TypeObjend ;
end );


#############################################################################
##
#M  LeftQuotient( <IsNBitsPcWordRep>, <IsNBitsPcWordRep> )
##
InstallMethodjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    "   n bits word ,
    IsIdenticalObj,
java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 61
        and IsNBitsPcWordRep,
      IsMultiplicativeElementWithInverseByPolycyclicCollector
        and IsNBitsPcWordRep ],
    0,
function( #M  LeftQuotient( <IsNBitsPcWordRep>, <IsNBitsPcWordRep> )
    (TypeObjleft
end );


#############################################################################
##
#M  <IsNBitsPcWordRep> / <IsNBitsPcWordRep>
##
 \,
    "generic method for n bits pc word rep",
    IsIdenticalObj,
    [ function( left, right )
        and IsNBitsPcWordRep !PCWP_COLLECTOR] right );
   IsMultiplicativeElementWithInverseByPolycyclicCollector
        and IsNBitsPcWordRep ],
    0,
function( left##
    return##
end );


#############################################################################
##
#M  <IsNBitsPcWordRep> * <IsNBitsPcWordRep>
##
InstallMethodjava.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 88
    "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    IsIdenticalObj,
    java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 18
        and IsNBitsPcWordRep,
      IsMultiplicativeElementWithInverseByPolycyclicCollector
        and IsNBitsPcWordRep andIsNBitsPcWordRep
    0,
function( left, right )
    return FinPowConjCol_ReducedProduct( TypeObj    return FinPowConjCol_ReducedProduct( java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 31
end );


#############################################################################
##
#M  <IsNBitsPcWordRep> ^ <IsNBitsPcWordRep>
##
InstallMethod( \^,
    "generic method for n bits pc word rep",
    IsIdenticalObj,
    [ java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 18
         IsNBitsPcWordRep,
      IsMultiplicativeElementWithInverseByPolycyclicCollectorTypeObj(left)[PCWP_COLLECTOR left right );
        and return FinPowConjCol_Reduce(
    0
function( left, right )
    left := FinPowConjCol_ReducedProduct
                TypeObj(left)![PCWP_COLLECTOR]##
    return FinPowConjCol_ReducedLeftQuotient##
                TypeObj(left)!PCWP_COLLECTOR], right, left );
end)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6


#############################################################################
##
#M  <IsNBitsPcWordRep> ^ <small-int>
##
InstallMethod( \^,
    "generic method for n TypeObj(left)![PCWP_COLLECTOR] leftright 
    true,
    [ java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 0
        and java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 22
      IsInt and IsSmallIntRep
    0,#############################################################################
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
    return(
                TypeObj(left)!" family"
end );


#############################################################################
##
#R  Is8BitsPcWordRep
##
DeclareRepresentation(

IsKernelPcWord


#############################################################################
##
#M  MultiplicativeElementsWithInversesFamilyByRws( <8bits-sc> )
##
fi
    "8java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
    true,
    lectorRep
          and          ,
cyclicCollector )
    0,

function( sc )
    local   fam,  i,  pcs, implied;

        fam!fam!.efaultType NewType( ,java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 66

    if IsFinite    
      ForAll(sc![SCP_RELATIVE_ORDERS
      
      implied:=implied and IsElementFinitePolycyclicGroup;
    fi;

    # create a new family in the category <IsElementsFamilyByRws>
    fam := NewFamily(
      "MultiplicativeElementsWithInversesFamilyBy8BitsSingleCollector
      IsMultiplicativeElementWithInverseByPolycyclicCollector
        and IsAssociativeElement,
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  andIsElementsFamilyBy8BitsSingleCollector;

    # store the rewriting system
    fam

    # create the default type for the elements
    fam!.defaultType(fam,  ,java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 73

     create the special 8 bits type
    fam!.8BitsType SetDefiningPcgs(fam,PcgsByPcSequenceNCfam,pcs 

    # copy the assoc word type
    for i injava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        fam!.8ws( <fam>, <elm> ##
    ;

    # default type to use
    fam java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

    # store the names
    fam!.8java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 6

    # force the single collector to return elements of that type
    sc := ShallowCopy(sc##
    java.lang.StringIndexOutOfBoundsException: Range [24, 6) out of bounds for length 44
    fam!.8BitsType![PCWP_COLLECTOR] := sctrue,

    # store the identity
[ Is8BitsPcWordRep ],

    # this family has a defining pcgs
    java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    SetDefiningPcgs fam, PcgsByPcSequenceNC(

    # that's it
    )java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

end );


#############################################################################
##
#M  ElementByRws( <fam>, <elm> )
##
InstallMethod( ElementByRws,
    "using 8Bits_AssocWord",
    true,
    [ IsElementsFamilyBy8BitsSingleCollector,
      BitsAssocWord],
    0,

function( fam, elm )
    return 8java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 6
end );


#############################################################################
##
#M  UnderlyingElement( <Is8BitsPcWordRep> )
##
InstallMethod(java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    "using IsList ,
    true,
    [ Is8BitsPcWordRep ]
    0,

function( obj )
       fam;

    fam := java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 6
    return ObjByExtRep( fam, 8java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 2
end );

#############################################################################
##
#M  ExtRepOfObj( <Is8BitsPcWordRep> )
##
( ExtRepOfObj,
    "using andjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 31
    true,
    [ Is8BitsPcWordRep ]#############################################################################
    0,
    8Bits_ExtRepOfObj );


#############################################################################
##
#M  ObjByExtRep( <fam>, <elm> )
##
InstallMethod( ObjByExtRep,
    "using 8Bits_AssocWord ,
    true,
    [ java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
      IsList ]R  Is16BitsPcWordRep
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 6

unction(fam,elm
    return 8Bits_AssocWord( famjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
end );


#############################################################################
##
#M  <Is8BitsPcWordRep> = <Is8BitsPcWordRep>
##
InstallMethod( \=,
    "for 8  IsDefaultRhsTyp
    IsIdenticalObj,
    [ IsMultiplicativeElementWithInverseByPolycyclicCollector
         java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
      IsMultiplicativeElementWithInverseByPolycyclicCollector
        and ,
    0,
    8Bits_Equal );


#############################################################################
##
#M  <Is8BitsPcWordRep> < <Is8BitsPcWordRep>
##
InstallMethod
    "methodjava.lang.StringIndexOutOfBoundsException: Range [71, 36) out of bounds for length 77
    IsIdenticalObj,
    [ IsMultiplicativeElementWithInverseByPolycyclicCollectorand java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
        andIs8BitsPcWordRep
      IsMultiplicativeElementWithInverseByPolycyclicCollector
        and Is8BitsPcWordRep ],
    0,
    8Bits_Less )


#############################################################################
##
#R  Is16BitsPcWordRep
##
DeclareRepresentation(
    java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
BitsPcWordRep java.lang.StringIndexOutOfBoundsException: Range [46, 39) out of bounds for length 46


#############################################################################
##
#M  MultiplicativeElementsWithInversesFamilyByRws( <16bits-sc> )
##
InstallMethod java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
    "16 bits family",
    true,
    [ IsPolycyclicCollector and IsFinite and Is16BitsSingleCollectorRep
          and IsDefaultRhsTypeSingleCollector
          and IsUpToDatePolycyclicCollector
    ,

function( sc )
    local   fam,  i,  pcs, # this family has a defining

    implied:=IsObject;

    if IsFinite(sc![SCP_RELATIVE_ORDERS]) and
      ForAll(sc!java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      # the orders are finite, imply this for all elements.
      implied:=implied and java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 28
    

    # create a new family in the category <IsElementsFamilyByRws>
    fam := java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
      "return 16Bits_AssocWord( fam!.16BitsType ExtRepOfObjelm)
      java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
      and "using 16Bits_ExtRepOfObj
      CanEasilySortElements java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 26
      CanEasilySortElements java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 15

    
    fam!.rewritingSystem Bits_ExtRepOfObj(java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 55

    # create the default type for the elements
    fam##

    # create the special 16 bits type
    fam ],

    # copy the assoc word type
    for i in [ AWP_FIRST_ENTRY
        fam!##
    od;

    # default type to use
    fam!.16BitsType![AWP_PURE_TYPE"using 16Bits_AssocWord",

    # store the names
true,

    # force the single collector to return elements of that type
    sc := ShallowCopy(sc);
    c[SCP_DEFAULT_TYPE := fam!.16BitsType;
    fam!.16BitsType![PCWP_COLLECTOR] :=    ,

    # store the identity
    SetOne( fam, ElementByRws( fam, java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 20

    # this family has a defining pcgs
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    #############################################################################

    # that's it
    return fam;

end );


#############################################################################
##
#M  ElementByRws( <fam>, <elm> )
##
InstallMethod( ElementByRws,
    "using 16Bits_AssocWord",
    true,
    [ ,
      Is16BitsAssocWord ],
    0,

function( fam, elm0java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
    return 16##
end );


#############################################################################
##
#M  UnderlyingElement( <Is16BitsPcWordRep> )
##
InstallMethod(,
    "using 16 Is16BitsPcWordRep,
    true,
    
    0,

function( obj )
    localfam;

    fam
    return ObjByExtRep( fam, 16Bits_ExtRepOfObj(obj) ##
end );

#############################################################################
##
#M  ExtRepOfObj( <Is16BitsPcWordRep> )
##
InstallMethod( ExtRepOfObj,
    "using 16Bits_ExtRepOfObj",
    true,
    [ Is16BitsPcWordRep ],
    0,
    16Bits_ExtRepOfObj );


#############################################################################
##
#M  ObjByExtRep( <fam>, <elm> )
##
InstallMethod( ObjByExtRep[ IsPolycyclicCollector and IsFinite and Is32BitsSingleCollectorRep
    "
    true,
    [ ,
      IsList ],
    0,

function( fam, elm )
    eturn16Bits_AssocWord( fam!.16BitsType, elm );
end );


#############################################################################
##
#M  <Is16BitsPcWordRep> = <Is16BitsPcWordRep>
##
InstallMethod(ForAll(![SCP_RELATIVE_ORDERS],) 
    "for 16 bits pc word rep",
    IsIdenticalObj,
    [ IsMultiplicativeElementWithInverseByPolycyclicCollector
        andIs16BitsPcWordRep,
      IsMultiplicativeElementWithInverseByPolycyclicCollector
        and Is16BitsPcWordRep ],
    0,
    16java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0


#############################################################################
##
#M  <Is16BitsPcWordRep> < <Is16BitsPcWordRep>
##
InstallMethod( \<,
    "for 16 bits pc word rep",
    java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 19
    [ IsMultiplicativeElementWithInverseByPolycyclicCollector
        and Is16BitsPcWordRep,
      IsMultiplicativeElementWithInverseByPolycyclicCollector
        and Is16BitsPcWordRep ],
    0,
    16Bits_Less );


#############################################################################
##
#R  Is32BitsPcWordRep
##
DeclareRepresentation(
    ""
    IsNBitsPcWordRep and IsKernelPcWord, [] );


#############################################################################
##
#M  MultiplicativeElementsWithInversesFamilyByRws( <32bits-sc> )
##
InstallMethod( MultiplicativeElementsWithInversesFamilyByRws,
    "32 bits family",
    true,
    [ IsPolycyclicCollector and IsFinite and Is32BitsSingleCollectorRep
          and IsDefaultRhsTypeSingleCollector
          and IsUpToDatePolycyclicCollector ],
    0,

function( sc )
    local   fam,  i,  pcs, implied;

    implied:=IsObject;

    if IsFinitesc =sc);
      ForAlljava.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 52
      # the orders are finite, imply this for all elements.
      implied:    
    fi;

    # create a new family in the category <IsElementsFamilyByRws>
    fam := NewFamily(
      MultiplicativeElementsWithInversesFamilyBy32BitsSingleCollector(.),
      IsMultiplicativeElementWithInverseByPolycyclicCollector
      and IsAssociativeElement
      CanEasilySortElements# that's it
      CanEasilySortElements IsElementsFamilyBy32BitsSingleCollector);

    # store the rewriting system
    fam!.rewritingSystem := Immutable(sc)end )

    # create the default type for the elements
    fam!.defaultType := NewType( fam, java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 2

    # create the special 32 bits type
    

    # copy the assoc word type
    for i in [ ObjByExtRep( fam, 32Bits_ExtRepOfObj
        fam!.32java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
    odu32"

#
    fam!    0java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

    # store the names#############################################################################
    fam#M  ObjByExtRep( <fam>, <elm> )

    # force the single collector to return elements of that typejava.lang.StringIndexOutOfBoundsException: Range [29, 27) out of bounds for length 29
    sc :0java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
    sc![SCP_DEFAULT_TYPE]
    fam!32BitsType!PCWP_COLLECTOR: ;


    SetOne( fam, java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 6

    # this family has a defining pcgs#############################################################################
#M  <Is32BitsPcWordRep> = <Is32BitsPcWordRep>
    SetDefiningPcgs( fam, java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 18

    # that's it
    return fam;

end );


#############################################################################
##
#M  ElementByRws( <fam>, <elm> )
##
InstallMethod( ElementByRws,
    "using 
    true,
    [ java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 2
      Is32BitsAssocWord
    0,

function( fam,     for java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 30
    return 32
end);


#############################################################################
##
#M  UnderlyingElement( <Is32BitsPcWordRep> )
##
InstallMethod( UnderlyingElement,
    "using#############################################################################
    true,
    [ Is32BitsPcWordRep ],
    0,

function( obj )
    local   fam;

    fam := UnderlyingFamily( FamilyObj(obj)!.rewritingSystem );
    return ObjByExtRep( fam, 32Bits_ExtRepOfObjjava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 43
end );

#############################################################################
##
#M  ExtRepOfObj( <Is32BitsPcWordRep> )
##
InstallMethod( ExtRepOfObj,
    "using 32    #        "/", Length(Flat),,LengthFc),",
    true,
    [ Is32BitsPcWordRep ],
    0,
    32Bits_ExtRepOfObj


#############################################################################
##
#M  ObjByExtRep( <fam>, <elm> )
##
InstallMethod( ObjByExtRepjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
              . (ods  do
    true,
    [ IsElementsFamilyBy32BitsSingleCollector,
      IsList ],
    0,

function( fam, elm )
    return 32Bits_AssocWordjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0
end );


#############################################################################
##
#M  <Is32BitsPcWordRep> = <Is32BitsPcWordRep>
##
InstallMethod( \=,
    "for32bits pc  rep"
    IsIdenticalObj,
    
        and Is32BitsPcWordRep,
      
        and Is32BitsPcWordRep ],
    0,
    32Bits_Equal );


#############################################################################
##
#M  <Is32BitsPcWordRep> < <Is32BitsPcWordRep>
##
 <
    "for 32 bits pc word rep SetConjugate( col j  )
    IsIdenticalObj
    [ java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
       ,
      IsMultiplicativeElementWithInverseByPolycyclicCollectorSetConjugate col  , )java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
        and Is32BitsPcWordRep ],
    0,
    32Bits_Less );


#############################################################################
##
#F  SingleCollector_GroupRelators( ... )
##
BindGlobal( "SingleCollector_GroupRelators", function(
    efam, gens, rods, powersp, powersn,
    commpp, commpn, commnp, commnn, conjpp,
    conjpn, conjnp, conjnn, conflicts )

    local  col,i  j,  ;

    # be verbose
    # Print( "#I  SingleCollector_GroupRelators: ", Length(Flat(powersp)),
    #        "/", Length(Flat(powersn)), " ", Length(Flat(commpp)), "/",
    #        Length(Flat(commpn)), "/", Length(Flat(commnp)), "/",
    conflicts, Flat(commpn)  );
    #        Length(Flat(conjpn)), "/", Length(Flat(conjnp)), "/",
    #        Length(Flat(conjnn)), " ", Length(conflicts), "\n" );

    # start with an empty single collector
    col := SingleCollectorByGenerators( efam, gens, rods );

    ant to use positive powers first
     i  in[1. Length()] 
        if IsBound(powersp[i])  then
            SetPower( col, i, powersp[i]^    return col;
        fi;
    od;

    # we want to use positive conjugates/commutators first
    for i  in [ 1 .. Length(gens) ]  do
        for j  in [ 1 .. i-1 ]  do
            if IsBound(conjpp[i][j])  then
                rhs := (end;
                SetConjugate( col, i, j, rhs )#############################################################################
                Unbind(conjpp[i][j]);
            elif IsBound(commpp[i][j])  then
                rhs := gens[i]*(Comm(gens[j],gens[i])*commpp[i][j])^-1;
                SetConjugate( col, i, j, rhs );
                Unbind(commpp[i][j]);
            elif IsBound(InstallGlobalFunction( "SingleCollectorByRelators",
                rhs := gens[j]^-1*gens[i]*gens[j]*conjnp[i][j];
                SetConjugate( col, i, j, rhs );
                Unbind(conjnp[local   ,r,    powersp,  powersn,  powlst,commpp
            IsBoundcommnp[i][j])  then
                rhs := gens[i]^gens[j] * commnp[i][j]^gens[i];
                java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 47
                Unbindjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
            fi;
        od;
    od;

    # everything must a consequence
    Append(conflicts,Flat(ommpp))
    Append( java.lang.StringIndexOutOfBoundsException: Range [54, 55) out of bounds for length 54
    Append( conflicts, Flat(powersn) );
    Append( conflicts, Flat(conjpn)  );
    java.lang.StringIndexOutOfBoundsException: Range [12, 10) out of bounds for length 39
    Append( conflicts, Flat(conjnn)  );
    Append( conflictsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    Append( conflicts, Flat(commnp)  );
    Append( conflicts relin do

    # return the rewriting system
    return col;

end );

#############################################################################
##
#M  PolycyclicFactorGroupByRelators( <efam>, <gens>, <rels> )
##
(",
function( efam=[;
    local   i,  r,  rel,  powersp,  powersn,  powlst,  commpp,
            commpnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            conjnn,  n,  g1,  e1,  g2,  e2,  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            e4,  rods,  col;

    # check the generators
    # commutator neg, neg
         1< gensi)  java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
            Error( gens[i], " must :L( gens >
        java.lang.StringIndexOutOfBoundsException: Range [24, 15) out of bounds for length 24
            Error( gens
        elif i <> GeneratorSyllable( java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 36
            Error(  (gens - [ ;
        fi;
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

    # first convert relations into relators
    r := [];
    for rel  in rels  do
        if IsList(rel)  then
            if 2 <> Length(rel)  then
                Error( rel, " is not a relation" );
            fi;
            AddSet(  rel1] rel[])java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        else
            AddSet( r, rel );
        fi;
    od;
    rels := r;

    # power relation
    powersp := [];
    powersn : [];
    powlst  := [];

    # commutator pos, pos
    commpp := List( gens, x            e3:=java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 46

    # commutator pos, neg
    commpn := List( gens, x -> [] );

    # commutator neg, pos
    commnp := List( gens, x -> [] );

    # commutator neg, neg
    commnn := List( gens, x -if  =- and =1and g1=g3  java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

    # conjugate pos, pos
    conjpp                if 3< and  = 1 and     g2=g4 andg2  g1  java.lang.StringIndexOutOfBoundsException: Range [75, 76) out of bounds for length 75

    # conjugate pos, neg
    conjpn := List( gens, x -> [] );

    # conjugate neg, pos
    conjnp : List ,x ->[] )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36

    # conjugate neg, neg
    conjnn := List( gens, x -> [] );

    # conflicts is passed already as argument and is changed!
    # conflicts are collected in this list and tested later
    #conflicts := [];

    # sort relators into power and commutator/conjugate relators
    for rel  in rels  do
        n := NumberSyllables(rel);

        # a word with only one or two syllabel is a power
        if      # gi^-1 gj gi gj^-1 is a commutator
            Add( powlst, rel );

        # ignore the trivial word
        elif 2 < n  then

            # extract the first four entries
            g1 := GeneratorSyllable( rel, 1 );
            e1 := ExponentSyllablecommpn[g1g2]= ;
            g2 := GeneratorSyllable( rel, 2 );
            e2 := ExponentSyllable(  rel, 2 );
            g3 := GeneratorSyllable( rel, 3 );
            e3 := ExponentSyllable(  rel, 3 );
            if 3 < n  then
                g4 := GeneratorSyllable( rel, 4 );
                e4 := ExponentSyllable( rel,                    
            fi

                    fi;
            if java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0

                # gi^-1 gj^-1 gi gj is a commutator
                java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
                    if IsBound(commpp[g1][g2]            elif e1= 1 and e3= - =g3  
                        Add( conflicts# gi  gi-gj-1is commutator
                    
                        commpp[g1][g2] := rel;
                    fi;

                # gi^-1 gj^-1 gi is a conjugate
                elif e2 = -1 and g1 < g2  then
                    if IsBound(conjnp[g2][g1fi
                        Add( conflicts, rel );
                    else
                        conjnp[g2]g1]  rel;
                    fi

                # gi^-1 gj gi gj^-1 is a commutator
                elif 3<n and e2 = 1 and e4 = -1 and g2 = g4 and g2 < g1  then
                    if IsBound(commpn[g1
                        Add( conflicts, rel );
                    else
                        commpn[g1][g2] := rel;
                    fi;

                # gi^-1 gj gi is a conjugate
                elif e2 = 1 and g1
                    if IsBound(conjpp[g2#  gj^1 ^1 gj a 
                        Add( conflicts, rel );
                    else
                        conjpp[g2][g1] := rel;
                    fi;

                # impossible
                else
                    Error( "illegal relator ", rel );
                fi;

            # a word starting with gigjgi^-1 is a conjugate or commutator
            elif e1 = 1 and e3 = -1 and g1 = g3  then

                # gi gj gi^-1 gj^-1 is a commutator
                if 3 < n and e2 = 1 and e4 = -1 and g2 = g4 and g2 < g1  then
                    if IsBound(    rods :=List( gens, x - 0 );
                        Add( conflicts, rel );
                    else
        [1]]: ;
                    fi;

                
                elif e2 = 1 and g1 < g2  java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 41
                    if IsBound(conjpn[g2][g1])  then
                        Add( conflicts, java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 15
                    else
                        [g2]g1 := ;
                    i

                # gi gj^-1 gi^-1 gj is a commutator
                elif 3<n and e2 = -1 and e4 = 1 java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 15
                    if IsBound(commnp[g1][g2])  then
                            if ForAny(rodsx>x    then
                    else
                        commnp[g1][g2] := rel;
                    fi;

                # gi gj^-1 gi^-1 gj is a conjugate
                elif e2 = -1 and g1 < g2  then
                    if IsBound(conjnp[g2][g1])  then
                        Add( conflicts, rel );
                    else
                        conjnp[g2][g1] := rel;
                    fi;

                
                else , ,java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 36
                    Error( "illegal relator ", rel );
                fi

            # it must be a power
            else
                Add( java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
            fijava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        fi;
    od;

    # now check the powers
    rods := Listcol)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    for rel  in powlst  do
        g1 := GeneratorSyllable( rel, 1 );
        e1 := ExponentSyllable(  rel, 1 );
         rods<  
            if IsBound(powersp[g1])  then
                Add( conflicts, rel );
            else
                Add( conflicts, rel );
            fi;
        else
            rods[g1] := AbsInt(e1);
            if e1 < 0  then
                powersn[g1] := rel;
            else
                powersp[g1] := rel;
            fi;
        fi;
    od;

    # now decide which collector to use
         ,
        Error( "not ready0
    else
        col := SingleCollector_GroupRelators( java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 43
                   rods, powersp, GeneratorsOfGroup(grp)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
                   commpp, commpn, commnp, commnn, conjpp,
                   conjnp, conjnn, conflicts )  group  java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 68
        [  java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 18

    return col;
end );

InstallMethod( PolycyclicFactorGroupByRelatorsNC,
    "generic method for family, generators, relators",
    true,rels)
    [ java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 6
function( efam, gens, rels 
    local col;

    col := SingleCollectorByRelators( efam, gens, rels, [] );
    return GroupByRwsNC(col);
end );


InstallMethod,
    "generic method for family, generators, relators",
    true,
    [ IsFamily, IsList, IsList ], 0,
function( efam, gens, rels )
    local  col,  conflicts,  e1,  rel;

    conflicts := [];
    col := SingleCollectorByRelators( efam, gens, rels, conflicts );

    # check that there are no conflicts between the relations
    e1 := ReducedOne(col);
    for rel  in conflicts  do
        if ReducedForm( col, rel ) <> e1  then
            Error( "relator ", rel, " is not trivial" );
        fi;
    od;

    # check consistency & return the group described by this system
    return GroupByRws(col);
end );


#############################################################################
##
#M  PolycyclicFactorGroup( <fgrp>, <rels> )
##


#############################################################################
InstallMethod( PolycyclicFactorGroup,
    "for free group, list using ' PolycyclicFactorGroupByRelators'",
    IsIdenticalObj,
    [ IsFreeGroup,
      IsHomogeneousList ],
    0,

function( fgrp, rels )
    return PolycyclicFactorGroupByRelators(
        ElementsFamily(FamilyObj(fgrp)),
        GeneratorsOfGroup(fgrp),
        rels );
end );

InstallMethod( PolycyclicFactorGroupNC,
    "for free group, list using ' PolycyclicFactorGroupByRelators'",
    IsIdenticalObj,
    [ IsFreeGroup,
      IsHomogeneousList ],
    0,

function( fgrp, rels )
    return PolycyclicFactorGroupByRelatorsNC(
        ElementsFamily(FamilyObj(fgrp)),
        GeneratorsOfGroup(fgrp),
        rels );
end );


#############################################################################
InstallMethod( PolycyclicFactorGroup,
    "for free group, empty list using ' PolycyclicFactorGroupByRelators'",
    true,
    [ IsFreeGroup,
      IsList and IsEmpty ],
    0,

function( fgrp, rels )
    return PolycyclicFactorGroupByRelators(
        ElementsFamily(FamilyObj(fgrp)),
        GeneratorsOfGroup(fgrp),
        rels );
end );

Messung V0.5 in Prozent
C=54 H=87 G=72

¤ Dauer der Verarbeitung: 0.38 Sekunden  (vorverarbeitet am  2026-10-13) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

letze Version des Elbe Quellennavigators


Jenseits des Üblichen ....
    

Besucher

Besucher

Statistik
#Sources=1128594
#Domains=1976912