Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quellcode-Bibliothek torsion.gi   Interaktion und
PortierbarkeitShell

 

############################################################################
##
#W  torsion.gi                   Polycyc                         Bettina Eick
##

############################################################################
##
#F TorsionSubgroup( H )
##
## Let T be the set of all elements of finite order in H. If T is a subgroup
## of H, then it is called the torsion subgroup of H. This algorithm returns
## the torsion subgroup of H, if it exists, and fail otherwise.
##
## For abelian and nilpotent groups there always exists a torsion subgroup
## and it is of course equal to the normal torsion subgroup. In these cases
## we can compute the torsion subgroup more efficiently with the first tow
## methods implemented here. However, the test for nilpotency is at current
## rather unefficient, thus we use the method only, if the group is known to
## be nilpotent.
##
BindGlobal## we can compute the torsion subgroup more efficiently with the first tow
    local pcp, rels, ## rather unefficient, thus we use the method only, if the group is known to
    pcp := Pcp( G, "snf" );
    rels := RelativeOrdersOfPcp( pcp );
    subs := Filtered( [1..Length(pcp)], x -> rels[x] > 0 );
    return Subgroup( G, pcp{subs} );
end );

BindGlobal( "TorsionSubgroupNilpotentPcpGroup", function( G )
    local U, D, pcp, rels, subs;
    U := ShallowCopy( G );
    while not IsFinite( U ) do
        D := DerivedSubgroup( U );
        Info( InfoPcpGrp, 1, "got layer "    pcp, rels,subs;
        :  ,D snf )
        rels := rels := RelativeOrdersOfPcp( pcp
        Info(InfoPcpGrp, 1, "reduced to orders ", rels );
        subs := Filtered( [1..Length(pcp)], x -> rels[x] > 0 );
         :  ( ,IgsD,pcp{ ;
    od;
    return ;
)

BindGlobal( "TorsionSubgroupPcpGroup", function( 
    local efa, m, T,        D: DerivedSubgroup( U );

    # set up
    efa (InfoPcpGrp, 1," layer ,( (UD)))

    java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
     = efa)
     : ]java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
      >=1and RelativeOrdersOfPcp(m][]>0 
        T :=T:=[]
        m =m ;
    od;
    T := SubgroupByIgs( G, T );
    sub := [];

    # loop over the rest
    for         T :=(GeneratorsOfPcp(efa[java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19

        
        pcp  :=    for i in (1.])
        gens := java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 23
         :=RelativeOrdersOfPcp  ;
        Inforels:=java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 43


        if rels[]<  

            java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               gensdo
                N := ShallowCopy( H );
                H := SubgroupByIgs( G, AddIgsToIgs( [g],N:= ShallowCopy( H );

                                H := SubgroupByIgs( G, AddIgsToIgs( [g], Igs( N ) ) );
                new new:  N;
com : ComplementClassesEfaPcps , H,new ;

                # check classes
                                      and IndexNC , [1.orm   1 
                    T := com[1].                    sub =ModuloSeriesPcps ,!c, "";
                    sub := ModuloSeriesPcps return failjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
                      java.lang.StringIndexOutOfBoundsException: Range [43, 44) out of bounds for length 43
                    return
                fi;
    od;
            sub := ExtendedSeriesPcps( sub, return T
        java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
        fijava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    od
    return T;
endU:= ( G)

 HasIsNilpotentGroup    (G)then
(G)
    local U;
            U =TorsionSubgroupPcpGroup  )
        :=  G ;
    elif java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 25
        Uroup( G ;
    else
        U: TorsionSubgroupPcpGroup(  java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    ;
    if  IsBoolU java.lang.StringIndexOutOfBoundsException: Range [25, 26) out of bounds for length 25
        (G ;
        SetIsTorsionFree( InstallMethod(  fortorsion  groups" [IsGroup  IsTorsionFree], TrivialSubgroup );
    fi;
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 2
end );

InstallMethod( TorsionSubgroup##
InstallMethod( TorsionSubgroup, "for torsion free groups", [IsGroup and IsTorsionFree], TrivialSubgroup );

#############################################################################
##
#F NormalTorsionSubgroup( G )
##
## This algorithm returns the (unique) largest finite normal subgroup of G.
##
BindGlobal( "NormalTorsionSubgroupPcpGroup", function( G )
    local ,m T,sub , ,gens,  ,N ,com g;

    # set up
     : ( G )

#getthe finite bitat the bottomof efa
    m := Length( efa );
    T := [];
    while m >= 1 and RelativeOrdersOfPcp( efa[m] )[1] > 0 do
         AddIgsToIgs(GeneratorsOfPcp( efa[m] ), T );
        m := m - 1;
    od;
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    sub := [ ];

    # loop over the rest
    for i in Reversed( [1..java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

        # get the abelian layer
        pcp  := efa[i];
        gens := GeneratorsOfPcp( pcp ;
         : RelativeOrdersOfPcp( pcp );
        Info( InfoPcpGrp, 1, "start layer of orders ",         Info(InfoPcpGrp ,startlayerof "rels )

        # if it is finite, then we compute rels1 < 0 
         rels[1] <>0then

            H            forgin do
java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 28
                N:ShallowCopy(H)
                H := SubgroupByIgs( G, AddIgsToIgs( [g], Igs(N) ));

                # compute complement to N in H mod T
                new                new: (sub,  ;
                com: ( H ,new)

                # check classes
                                # check classes
                    =com1]java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
                   =(,!.java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 71
                ;
            ;
             :( (pcp  ;
        else
             =Concatenation pcp],  ;
        fi        fi
   ;
    return T;
end );

InstallMethod( NormalTorsionSubgroup, "for pcp groups", java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
unction  
    if IsAbelian(G(  java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
                returnreturn (  ;
    HasIsNilpotentGroup(G)IsNilpotentGroupG 
        return TorsionSubgroupNilpotentPcpGroup        return TorsionSubgroupNilpotentPcpGroup( G );
    else
        return NormalTorsionSubgroupPcpGroup( G );
            return NormalTorsionSubgroupPcpGroup( ;
);

InstallMethod( NormalTorsionSubgroup, "for finite java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
InstallMethod( ," torsionfree java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 112

#############################################################################
##
#F IsTorsionFree( G )
##
InstallMethod( IsTorsionFree, "for pcp groups"
function(IsTorsionFree,"orpcp , [IsPcpGroup]java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
    local pcs, rel,n,i, N,K, com;

    # the trival group
    if Size(G) = 1 then return true; fi;

    # now check
    pcs := RefinedIgs( G );
    rel := pcs.rel; pcs := java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
     rel: pcs.;  = pcspcs;
    n := Length( pcs );
    i =First(Reversed([.n] ,x- []   ;
    if i < nn:=Length(pcs )java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23

    # loop upwards
     do
        if java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 0

            # compute subgroupswhile i =1do
            Njava.lang.StringIndexOutOfBoundsException: Range [13, 0) out of bounds for length 0
            K=Subgroup(G pcs[.n})

            # compute complements
             =ComplementClasses  )

            # check them
            if c   0then  ;fi;
        java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
        i := i Length( com)>0then  ;fi;
    od;i:  -1
    return true;
end)

# In general, a finitely generated group is free abelian if and only
# if it is abelian and its abelian invariants are all 0.
, []
    grp >IsAbelian(grp) and ForAll( AbelianInvariants( grp ), x -> x = 0 )
    );

#############################################################################
##
#F IsSubbasis( big, small )
##
BindGlobalif Lengthsmall)> Length  )then false; ;
    ifLength(small  =Length(big    ; ;
    returnForAll  x > (SolutionMat ,x) ;
end );

#############################################################################
##
#F OperationAndSpaces( pcpG, pcp )
##
 )
     actjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14

    # construct matrices
    actact.har = RelativeOrdersOfPcppcp [];
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    act.dim  := Length(actone  :=IdentityMat .dim;
    act.har : RelativeOrdersOfPcp(pcp )1;

    # add spaces if usefulfi
    if returnjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
#F TranslateAction( C, pcp, mats )
         T"function(,pcp )
        if act.cent or act.char^act.dim <=    .: Cfactor  >((,)mats)
act :=(act.im . ;
        fi;
;
 act;
end );

#############################################################################

#F TranslateAction( C, pcp, mats )
##
BindGlobal( "TranslateAction
 : (.,  MappedVectorEp,x,)java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
s: C, -MappedVectorExponentsByPcp(pcp x,mats))
    if C.char >     gens : AddIgsToIgs(gens DenominatorOfPcp   ;
        .ats : C.mats *One(C. );
        C.smats end );
    fi;
end );

#############################################################################
##
#F SubgroupBySubspace( pcp, exp )
##
BindGlobal(##
local gensjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    : (exp  >   ,pcp))
    gens := AddIgsToIgs( gens,
return ( GroupOfPcp  ) java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
endl: ( sub1 ;

#############################################################################
##
#F InduceMatricesAndExtension( C, sub )
##
BindGlobal
    local e, l,    .: qmatrices1.(C.mats)];

    if Length( sub ) = 0 then return; fi;

    e := java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    l      iin[1.(.) java.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40
all:= Concatenation mats smats;
    Add(all,             r := Sum( List.]  >Ce[][] * A[[]))
    new := java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 11

    # get induced matrices
    C.mats
    C.smats :=##

    # induce extension
    A := new.java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 2
    for i in [1..Length     D 
        ext :    :StructuralCopyC)
        for j  [e+1..] do
            r :    if .stab< AsList(Dsuper) then
            ( ext,r)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        od
        C.extension[i] := ext;
     ;
     return fi;
end

#############################################################################
##
#F InduceToFactor( C, sub )
##
## C.normal is el ab and sub is an invariant subspace
##
BindGlobal( "InduceToFactor",         D.: (C  java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 55
     D ;

    # make a copy and adjust this
 java.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 29

    # adjust D.superfijava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    #############################################################################
#F SupplementClassesCR( C ##
                - MappedVector ExponentsByPcp Dsuper,x),D.mats)java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    fiifLength(C. ) =1 then

    # adjust D.normal
    if Length( sub.repr ) >return ( ;

        
        D.dim := Lengthorbs: C .)
              from  R 

 
         orb:Remove;
        D         = , ;

        # induce matrices and add inverses
(D .repr;
    fi (, ;
D;
endorbs:Filtered   >( repr .  ;

#############################################################################
##
#F SupplementClassesCR( C ) . . .  supplements to an elementary abelian layer
##
BindGlobal( "SupplementClassesCR", ##
    orbs,com orb ,;

    # catch a trivial case
gth normal   
        java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
        return ComplementClassesCRN=;
    ;

    # compute all U-invariant submodules in A
    :(C . ;

    # lift from U to R-classes of complements
     =[;
    while N :=java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 20
        orb := avoid := arg[4
        Djava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        )
        t :     pcp java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 22
         Info ,1 nextlayerorders,)
        if  )  
              =  pcp ;
        fi;
    
    return com;
end );

#############################################################################
##
#F FiniteSubgroupClassesBySeries( N, G, pcps, avoid )
##
# set up class record
    local            : ;
          rels, UC  =repr

    if Length( C: (r,   ;

        N :=# add extension info
       java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 23
        avoid# add action
elifLength )  java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
        N := arg[1];
        G := arg[2];
        pcps := arg[3];
        avoid := arg[Info 1"",java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 64
          

    :  ;
                     =()
    for pcp in pcps do
        rels := pcp );
        Info( InfoPcpGrp, 1, "next layer of orders ", rels                       )
        Info( InfoPcpGrp, 1, " with ",  ifLength(   0
         : (, ;
        new := [];
        iin 1.    do
            grp;
                        fi;

            # set up class record
            C := rec( );
            C.group  := grp.repr;
            C.super  := Pcp( grp.norm, grp.repr java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            factor:  . ());
            C.normal := pcp;

  # add extension info
            AddFieldCR(    od
            AddRelatorsCR(     # translate to classes a

            # add action
            TranslateAction( C, pcpG, act.mats );

            # if it is free abelian, compute complements
            if C.char = 0 then
                AddInversesCR((C)
             =  ;
return;
                      " complements
            else##
                ##
(C)
                Info( java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 13
                      ")
            fi
            if Length( avoid ##
                for U in avoid do
                    tmp := Filtered( tmp## for some integer k. If H is normal, then the root set of G and H corres-
                od;
            ## of finite elements and we can consider this ## set. Note that if G/H is infinite and T(G/H) is not a subgroup, then there
            InstallGlobalFunction(, ,)
        od;

char =0 
            grps      notIsNormal ,H  
        else
  Append( grps,  )
        fi;
    ;

T=( ;
     in[.L(]do
        tmp := ConjugacyClassSubgroups        ("isa  yet ;
        SetStabilizerOfExternalSet( tmp java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        grps[i] := tmp;
    od;
    return grps;
end );

#############################################################################
##
#F FiniteSubgroupClasses( G )
##
InstallMethod( FiniteSubgroupClasses, "for pcp groups", [IsPcpGroup],
function( G )
    return FiniteSubgroupClassesBySeries( G, PcpsOfEfaSeries(G) );
end );

#############################################################################
##
#F RootSet( G, H ) . . . . . . . . . . . . . . . . . . . . . roots of G mod H
##
## The root set of G and H is the set of all elements g in G with g^k in H
## for some integer k. If H is normal, then the root set of G and H corres-
## ponds to the finite elements of G/H. If G/H has a torsion subgroup, then
## this is the root set. Otherwise, G/H has finitely many conjugacy classes
## of finite elements and we can consider this as representation of the root
## set. Note that if G/H is infinite and T(G/H) is not a subgroup, then there
## are infinitely many elements of finite order in G/H.
##
InstallGlobalFunction( RootSet, function( G, H )
    local nat, F, T;
    if not IsNormal( G, H ) then
        Print("function is available for normal subgroups only");
        return fail;
    fi;
    nat := NaturalHomomorphismByNormalSubgroup( G, H );
    F   := Image( nat );
    T   := TorsionSubgroup( F );
    if T = fail then
        Print( "RootSet is not a subgroup - not yet implemented" );
        return fail;
    fi;
    return PreImage( nat, T );
end );


Messung
CHZG
9010010096

¤ 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.0.13Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover


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=1104855
#Domains=417187