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

Quelle  ctbl.tst   Sprache: unbekannt

 
Spracherkennung für: .tst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

#@local g,t,lin
gap> START_TEST("ctbl.tst");

# `ClassPositionsOf...' for the trivial group (which usually causes trouble)
gap> g:= TrivialGroup( IsPermGroup );;
gap> t:= CharacterTable( g );;
gap> ClassPositionsOfAgemo( t, 2 );
1 ]
gap> ClassPositionsOfCentre( t );
1 ]
gap> ClassPositionsOfDerivedSubgroup( t );
1 ]
gap> ClassPositionsOfDirectProductDecompositions( t );
[  ]
gap> ClassPositionsOfElementaryAbelianSeries( t );
[ [ 1 ] ]
gap> ClassPositionsOfFittingSubgroup( t );
1 ]
gap> ClassPositionsOfLowerCentralSeries( t );
[ [ 1 ] ]
gap> ClassPositionsOfMaximalNormalSubgroups( t );
[  ]
gap> ClassPositionsOfNormalClosure( t, [ 1 ] );
1 ]
gap> ClassPositionsOfNormalSubgroups( t );
[ [ 1 ] ]
gap> ClassPositionsOfUpperCentralSeries( t );
[ [ 1 ] ]
gap> ClassPositionsOfSolvableResiduum( t );
1 ]
gap> ClassPositionsOfSupersolvableResiduum( t );
1 ]
gap> ClassPositionsOfCentre( TrivialCharacter( t ) );
1 ]
gap> ClassPositionsOfKernel( TrivialCharacter( t ) );
1 ]

# Display for the table of the trivial group
gap> Display( CharacterTable( CyclicGroup( 1 ) ) );
CT1


       1a

X.1     1

# Display with unusual parameters
gap> t:= CharacterTable( SymmetricGroup( 3 ) );;  Irr( t );;
gap> Display( t, rec( centralizers:= false ) );
CT2

       123a
    2113a
    3121a

X.1     1 -1  1
X.2     2  . -1
X.3     1  1  1
gap> Display( t, rec( centralizers:= "ATLAS" ) );
CT2

        6  2  3

       123a
    2113a
    3121a

X.1     1 -1  1
X.2     2  . -1
X.3     1  1  1
gap> Display( t, rec( chars:= 1 ) );
CT2

     2  1  1  .
     3  1  .  1

       123a
    2113a
    3121a

X.1     1 -1  1
gap> Display( t, rec( chars:= [ 23 ] ) );
CT2

     2  1  1  .
     3  1  .  1

       123a
    2113a
    3121a

X.2     2  . -1
X.3     1  1  1
gap> Display( t, rec( chars:= PermChars( t ) ) );
CT2

     2  1  1  .
     3  1  .  1

       123a
    2113a
    3121a

Y.1     1  1  1
Y.2     2  .  2
Y.3     3  1  .
Y.4     6  .  .
gap> Display( t, rec( chars:= PermChars( t ), letter:= "P" ) );
CT2

     2  1  1  .
     3  1  .  1

       123a
    2113a
    3121a

P.1     1  1  1
P.2     2  .  2
P.3     3  1  .
P.4     6  .  .
gap> Display( t, rec( classes:= 1 ) );
CT2

     2  1
     3  1

       1a
    21a
    31a

X.1     1
X.2     2
X.3     1
gap> Display( t, rec( classes:= [ 23 ] ) );
CT2

     2  1  .
     3  .  1

       23a
    213a
    321a

X.1    -1  1
X.2     . -1
X.3     1  1
gap> Display( t, rec( indicator:= true ) );
CT2

        2  1  1  .
        3  1  .  1

          123a
       2113a
       3121a
       2
X.1    +   1 -1  1
X.2    +   2  . -1
X.3    +   1  1  1
gap> Display( t, rec( indicator:= [ 23 ] ) );
CT2

          2  1  1  .
          3  1  .  1

            123a
         2113a
         3121a
       2 3
X.1    + 0   1 -1  1
X.2    + 1   2  . -1
X.3    + 1   1  1  1
gap> Display( t, rec( indicator:= [ 12 ] ) );
CT2

          2  1  1  .
          3  1  .  1

            123a
         2113a
         3121a
       1 2
X.1    0 +   1 -1  1
X.2    0 +   2  . -1
X.3    1 +   1  1  1
gap> Display( t, rec( powermap:= false ) );
CT2

     2  1  1  .
     3  1  .  1

       123a

X.1     1 -1  1
X.2     2  . -1
X.3     1  1  1
gap> Display( t, rec( powermap:= 2 ) );
CT2

     2  1  1  .
     3  1  .  1

       123a
    2113a

X.1     1 -1  1
X.2     2  . -1
X.3     1  1  1
gap> Display( t, rec( powermap:= [ 23 ] ) );
CT2

     2  1  1  .
     3  1  .  1

       123a
    2113a
    3121a

X.1     1 -1  1
X.2     2  . -1
X.3     1  1  1
gap> # Note that the 'ATLAS' option for power maps has the desired effect
gap> # only if the function 'CambridgeMaps' is bound during the tests,
gap> # which depends on the loaded packages; we omit this test.
gap> # Display( t, rec( powermap:= "ATLAS" ) );
gap> Display( t,
>        rec( charnames:= List( CharacterParameters( t ), String ) ) );
CT2

                    2  1  1  .
                    3  1  .  1

                      123a
                   2113a
                   3121a

1, [ 111 ] ]     1 -1  1
1, [ 21 ] ]        2  . -1
1, [ 3 ] ]           1  1  1
gap> Display( t,
>        rec( classnames:= List( ClassParameters( t ), String ) ) );
CT2

     2                  1                  1                  .
     3                  1                  .                  1

       [ 1, [ 111 ] ]    [ 1, [ 21 ] ]       [ 1, [ 3 ] ]
    2P [ 1, [ 111 ] ] [ 1, [ 111 ] ]       [ 1, [ 3 ] ]
    3P [ 1, [ 111 ] ]    [ 1, [ 21 ] ] [ 1, [ 111 ] ]

X.1                     1                 -1                  1
X.2                     2                  .                 -1
X.3                     1                  1                  1
gap> Display( t,
>        rec( characterField:= true ) );
CT2

         2  1  1  .
         3  1  .  1

           123a
        2113a
        3121a
        d
X.1     1   1 -1  1
X.2     1   2  . -1
X.3     1   1  1  1

# viewing and printing of character tables with stored groups
gap> t:= CharacterTable( DihedralGroup( 8 ) );;
gap> View( t ); Print( "\n" );
CharacterTable( <pc group of size 8 with 3 generators> )
gap> Print( t, "\n" );
CharacterTable( Group( [ f1, f2, f3 ] ) )
gap> ViewString( t );
"CharacterTable( <group of size 8 with \>3\< generators> )"
gap> PrintString( t );
"CharacterTable( \"Group( \>[ f1, f2, f3 ]\<\> )\< )"
gap> t:= CharacterTable( SymmetricGroup( 5 ) );;
gap> View( t ); Print( "\n" );
CharacterTable( Sym( [ 1 .. 5 ] ) )
gap> Print( t, "\n" );
CharacterTable( SymmetricGroup( [ 1 .. 5 ] ) )
gap> ViewString( t );
"CharacterTable( Sym( [ 1 .. 5 ] ) )"
gap> PrintString( t );
"CharacterTable( \"Group( \>[ (1,2,3,4,5), (1,2) ]\<\> )\< )"

# entries of mutable attributes are immutable
gap> t:= CharacterTable( SymmetricGroup( 5 ) );
CharacterTable( Sym( [ 1 .. 5 ] ) )
gap> PowerMap( t, 2 );;  PowerMap( t, 3 );;
gap> Length( ComputedPowerMaps( t ) );
3
gap> IsMutable( ComputedPowerMaps( t ) );
true
gap> ForAny( ComputedPowerMaps( t ), IsMutable );
false
gap> Indicator( t, 2 );;
gap> Length( ComputedIndicators( t ) );
2
gap> IsMutable( ComputedIndicators( t ) );
true
gap> ForAny( ComputedIndicators( t ), IsMutable );
false
gap> t:= CharacterTable( CyclicGroup( 2 ) );;
gap> SetIdentifier( t, "C2" );
gap> ComputedIndicators( t )[2]:= [ Unknown(), Unknown() ];;
gap> Display( t, rec( indicator:= true ) );
C2

        2  1  1

          12a
       211a
       2
X.1    ?   1  1
X.2    ?   1 -1
gap> PrimeBlocks( t, 2 );;
gap> Length( ComputedPrimeBlockss( t ) );
2
gap> IsMutable( ComputedPrimeBlockss( t ) );
true
gap> ForAny( ComputedPrimeBlockss( t ), IsMutable );
false

# create certain Brauer tables ...
# ... of p-solvable groups
gap> t:= CharacterTable( SymmetricGroup( 4 ) );;
gap> IsCharacterTable( t mod 2 );
true
gap> IsCharacterTable( t mod 3 );
true

# ... where all Brauer characters lift to characteristic zero
gap> g:= PSL(2,5);;
gap> t:= CharacterTable( g );;
gap> IsCharacterTable( t mod 3 );
true
gap> IsCharacterTable( t mod 5 );
true

# ... where all Brauer characters lift to characteristic zero,
#     and the p-core is nontrivial
gap> g:= DirectProduct( SymmetricGroup(5), SymmetricGroup( 3 ) );;
gap> t:= CharacterTable( g );;
gap> IsCharacterTable( t mod 3 );
true

# ... where the Brauer tables of the factors of a product can be computed
gap> g:= AlternatingGroup( 5 );;
gap> t:= CharacterTable( g );;
gap> t:= CharacterTableDirectProduct( t, t );;
gap> IsCharacterTable( t mod 5 );
true

# test a bugfix
gap> g:= SmallGroup( 963 );;
gap> t:= CharacterTable( g );;
gap> ClassPositionsOfLowerCentralSeries( t );
[ [ 1 .. 12 ], [ 1345691011 ] ]
gap> g:= SmallGroup( 3^522 );;
gap> t:= CharacterTable( g );;
gap> ClassPositionsOfLowerCentralSeries( t );
[ [ 1 .. 35 ], [ 1461215 ], [ 1615 ], [ 1 ] ]
gap> g:= SmallGroup( 9666 );;
gap> t:= CharacterTable( g );;
gap> ClassPositionsOfSupersolvableResiduum( t );
156 ]

# test another bugfix ('IsSimple' does not imply 'IsPerfect')
gap> t:= CharacterTable( CyclicGroup( 2 ) );;
gap> IsSimpleCharacterTable( t );
true
gap> IsPerfectCharacterTable( t );
false

# compute indicators
gap> t:= CharacterTable( SymmetricGroup( 4 ) );;
gap> Indicator( t, 2 );
11111 ]
gap> Indicator( t mod 32 );
1111 ]
gap> Indicator( t mod 22 );
11 ]

# linear characters
gap> lin:= LinearCharacters( SmallGroup( 2412 ) );;
gap> Length( lin );
2
gap> ForAll( lin, HasIsIrreducibleCharacter );
true
gap> lin:= LinearCharacters( SymmetricGroup( 4 ) );;
gap> Length( lin );
2
gap> ForAll( lin, HasIsIrreducibleCharacter );
true
gap> lin:= LinearCharacters( SymmetricGroup( 4 ), 2 );;
gap> Length( lin );
1
gap> ForAll( lin, HasIsIrreducibleCharacter );
true
gap> lin:= LinearCharacters( CharacterTable( SymmetricGroup( 4 ) ) );;
gap> Length( lin );
2
gap> ForAll( lin, HasIsIrreducibleCharacter );
true
gap> lin:= LinearCharacters( CharacterTable( SymmetricGroup( 4 ), 2 ) );;
gap> Length( lin );
1
gap> ForAll( lin, HasIsIrreducibleCharacter );
true

# irreducibility flag
gap> ForAll( Irr( SymmetricGroup( 4 ) ), HasIsIrreducibleCharacter );
true
gap> ForAll( Irr( SymmetricGroup( 4 ), 2 ), HasIsIrreducibleCharacter );
true
gap> ForAll( Irr( CharacterTable( SymmetricGroup( 4 ) ) ),
>            HasIsIrreducibleCharacter );
true
gap> ForAll( Irr( CharacterTable( SymmetricGroup( 4 ), 2 ) ),
>            HasIsIrreducibleCharacter );
true
gap> HasIsIrreducibleCharacter( TrivialCharacter( SymmetricGroup( 4 ) ) );
true

##
gap> STOP_TEST( "ctbl.tst" );

[Dauer der Verarbeitung: 0.29 Sekunden, vorverarbeitet 2026-06-11]