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


Quelle  ctblmono.tst   Sprache: unbekannt

 
#@local S4,Sl23,chi,cln,n,test,g,irr
#@local TestMonomialUseLattice_Orig,g1,g2,g3,g4,g5,g6
gap> START_TEST("ctblmono.tst");

##
gap> S4:= SymmetricGroup( 4 );;  SetName( S4, "S4");
gap> Sl23:= SL( 2, 3 );;

##
gap> Alpha( Sl23 );
[ 1, 3, 3 ]
gap> Alpha( S4 );
[ 1, 2, 3 ]
gap> Delta( Sl23 );
[ 1, 2, 0 ]
gap> Delta( S4 );
[ 1, 1, 1 ]
gap> IsBergerCondition( S4 );
true
gap> IsBergerCondition( Sl23 );
false
gap> irr:= SortedList( Irr( Sl23 ) );;
gap> List( irr, IsBergerCondition );
[ true, true, true, false, false, false, true ]
gap> List( irr, Degree );
[ 1, 1, 1, 2, 2, 2, 3 ]

##
gap> chi:= irr[7];
Character( CharacterTable( SL(2,3) ), [ 3, 0, 0, 3, 0, 0, -1 ] )
gap> n:= DerivedSubgroup( Sl23 );;
gap> test:= TestHomogeneous( chi, n );;
gap> test.isHomogeneous;  test.comment;  test.multiplicity;
false
"restriction checked"
1
gap> chi:= irr[4];
Character( CharacterTable( SL(2,3) ), [ 2, 1, 1, -2, -1, -1, 0 ] )
gap> cln:= ClassPositionsOfNormalSubgroup( CharacterTable( Sl23 ), n );
[ 1, 4, 7 ]
gap> TestHomogeneous( chi, cln );
rec( comment := "restricts irreducibly", isHomogeneous := true )

##
gap> chi:= irr[4];;
gap> TestQuasiPrimitive( chi );
rec( comment := "all restrictions checked", isQuasiPrimitive := true )
gap> chi:= irr[7];;
gap> test:= TestQuasiPrimitive( chi );;
gap> test.isQuasiPrimitive;  test.comment;
false
"restriction checked"
gap> IsPrimitive( irr[4] );
true
gap> IsPrimitive( irr[7] );
false

##
gap> List( irr, IsInducedFromNormalSubgroup );
[ false, false, false, false, false, false, true ]
gap> List( Irr( S4 ){ [ 1, 3, 4 ] },
>          TestInducedFromNormalSubgroup );
[ rec( comment := "linear character", isInduced := false ), 
  rec( character := Character( CharacterTable( Alt( [ 1 .. 4 ] ) ),
      [ 1, 1, E(3), E(3)^2 ] ), 
      comment := "induced from component '.character'", isInduced := true ), 
  rec( comment := "all maximal normal subgroups checked", isInduced := false 
     ) ]

##
gap> Filtered( [ 1 .. 200 ], i -> not IsMonomial( i ) );
[ 24, 48, 72, 96, 108, 120, 144, 160, 168, 192 ]

##
gap> irr:= Irr( SymmetricGroup( 4 ) );;
gap> SetIsMonomialCharacter( irr[1], true );
gap> TestMonomialQuick( irr[1] );
rec( comment := "was already stored", isMonomial := true )
gap> TestMonomial( irr[1] );
rec( comment := "was already stored", isMonomial := true )
gap> IsMonomial( irr[1] );
true
gap> TestMonomialQuick( irr[5] );
rec( comment := "linear character", isMonomial := true )
gap> TestMonomial( irr[5] );
rec( comment := "linear character", isMonomial := true )
gap> IsMonomial( irr[5] );
true
gap> TestMonomial( 5 * irr[1] );
rec( comment := "degree does not divide group order", isMonomial := false )
gap> IsMonomial( 5 * irr[5] );
false
gap> TestMonomialQuick( irr[2] );
rec( comment := "whole group is monomial", isMonomial := true )
gap> TestMonomial( irr[2] );
rec( comment := "whole group is monomial", isMonomial := true )
gap> IsMonomial( irr[2] );
true
gap> irr:= Irr( SL(2,3) );;
gap> chi:= First( irr, x -> x[1] = 3 );;
gap> TestMonomialQuick( chi );
rec( comment := "codegree is prime power", isMonomial := true )
gap> TestMonomial( chi );
rec( comment := "codegree is prime power", isMonomial := true )
gap> IsMonomial( chi );
true
gap> irr:= Irr( SmallGroup( 120, 15 ) );;
gap> chi:= First( irr, x -> x[1] = 3 and
>                           Length( ClassPositionsOfKernel( x ) ) = 2 );;
gap> TestMonomialQuick( chi );
rec( comment := "degree is index of Hall subgroup", isMonomial := true )
gap> TestMonomial( chi );
rec( comment := "degree is index of Hall subgroup", isMonomial := true )
gap> IsMonomial( chi );
true
gap> irr:= Irr( SmallGroup( 240, 109 ) );;
gap> chi:= First( irr, x -> x[1] = 6 );;
gap> TestMonomialQuick( chi );
rec( comment := "induced from monomial Hall subgroup", isMonomial := true )
gap> TestMonomial( chi );
rec( comment := "induced from monomial Hall subgroup", isMonomial := true )
gap> IsMonomial( chi );
true
gap> g:= DirectProduct( AlternatingGroup(5), SymmetricGroup(3),
>                       SymmetricGroup(3) );;
gap> chi:= First( Irr( g ), x -> x[1] = 2 and
>                           Length( ClassPositionsOfKernel( x ) ) = 10 );;
gap> TestMonomialQuick( chi );
rec( comment := "kernel factor group is supersolvable", isMonomial := true )
gap> TestMonomial( chi );
rec( comment := "kernel factor group is supersolvable", isMonomial := true )
gap> IsMonomial( chi );
true
gap> irr:= Irr( SmallGroup( 144, 31 ) );;
gap> chi:= First( irr, x -> x[1] = 6 );;
gap> TestMonomialQuick( chi );
rec( comment := "kernel factor group is monomial", isMonomial := true )
gap> TestMonomial( chi );
rec( comment := "kernel factor group is monomial", isMonomial := true )
gap> IsMonomial( chi );
true
gap> irr:= Irr( SL(2,3) );;
gap> chi:= First( irr, x -> x[1] = 2 );;
gap> TestMonomialQuick( chi );
rec( comment := "no decision by cheap tests", isMonomial := "?" )
gap> TestMonomial( chi );
rec( comment := "quasiprimitive character", isMonomial := false )
gap> IsMonomial( chi );
false
gap> irr:= Irr( AlternatingGroup( 5 ) );;
gap> chi:= First( irr, x -> x[1] = 5 );;
gap> TestMonomialQuick( chi );
rec( comment := "no decision by cheap tests", isMonomial := "?" )
gap> TestMonomial( chi ).comment;
"induced from 'character'"
gap> IsMonomial( chi );
true
gap> TestMonomialUseLattice_Orig:= TestMonomialUseLattice;;
gap> TestMonomialUseLattice:= 20;;
gap> chi:= First( irr, x -> x[1] = 4 );;
gap> TestMonomialQuick( chi );
rec( comment := "no decision by cheap tests", isMonomial := "?" )
gap> TestMonomial( chi ).comment;
"no criterion for nonsolvable group"
gap> TestMonomial( chi, true ).comment;
"lattice checked"
gap> IsMonomial( chi );
false
gap> irr:= Irr( SmallGroup( 96, 204 ) );;
gap> chi:= First( irr, x -> x[1] = 4 );;
gap> TestMonomialQuick( chi );
rec( comment := "no decision by cheap tests", isMonomial := "?" )
gap> TestMonomial( chi ).comment;
"induced from 'character'"
gap> IsMonomial( chi );
true
gap> chi:= First( Irr( SmallGroup( 144, 31 ) ), x -> x[1] = 4 );;
gap> TestMonomialQuick( chi );
rec( comment := "no decision by cheap tests", isMonomial := "?" )
gap> TestMonomial( chi ).comment;
"all inertia subgroups checked, no result"
gap> TestMonomial( chi, true ).comment;
"induced from 'character'"
gap> IsMonomial( chi );
true
gap> chi:= 0 * [ 1 .. NrConjugacyClasses( S4 ) ];;
gap> chi[1]:= Size( S4 );;
gap> chi:= ClassFunction( S4, chi );;
gap> TestMonomial( chi ).comment;
"no criterion for reducible character"
gap> TestMonomial( chi, true ).comment;
"induced from 'character'"
gap> IsMonomial( chi );
true
gap> TestMonomialUseLattice:= TestMonomialUseLattice_Orig;;
gap> chi:= First( Irr( SmallGroup( 48, 28 ) ), x -> x[1] = 4 );;
gap> TestMonomialQuick( chi );
rec( comment := "no decision by cheap tests", isMonomial := "?" )
gap> TestMonomial( chi ).comment;
"induced from 'character'"
gap> IsMonomial( chi );
true

##
gap> TestMonomialQuick( S4 );
rec( comment := "abelian by supersolvable group", isMonomial := true )
gap> TestMonomial( S4 );
rec( comment := "abelian by supersolvable group", isMonomial := true )
gap> IsMonomial( S4 );
true
gap> TestMonomialQuick( Sl23 );
rec( comment := "no decision by cheap tests", isMonomial := "?" )
gap> TestMonomial( Sl23 );
rec( comment := "list Delta( G ) contains entry > 1", isMonomial := false )
gap> IsMonomial( Sl23 );
false
gap> g:= SmallGroup( 96, 204 );;
gap> TestMonomialQuick( g );
rec( comment := "no decision by cheap tests", isMonomial := "?" )
gap> TestMonomial( g );
rec( comment := "all characters checked", isMonomial := true )
gap> IsMonomial( g );
true
gap> TestMonomialUseLattice_Orig:= TestMonomialUseLattice;;
gap> TestMonomialUseLattice:= 50;;
gap> test:= TestMonomial( SmallGroup( 96, 190 ) );;
gap> test.isMonomial;  test.comment;
"?"
"(possibly) nonmon. characters found"
gap> test:= TestMonomial( SmallGroup( 96, 190 ), true );;
gap> test.isMonomial;  test.comment;
false
"nonmonomial character found"
gap> TestMonomialUseLattice:= TestMonomialUseLattice_Orig;;
gap> g:= SmallGroup( 16, 3 );;
gap> TestMonomialQuick( g );  # implication
rec( comment := "was already stored", isMonomial := true )
gap> TestMonomial( g );
rec( comment := "was already stored", isMonomial := true )
gap> IsMonomial( g );
true
gap> g:= AlternatingGroup( 5 );;
gap> TestMonomialQuick( g );
rec( comment := "non-solvable group", isMonomial := false )
gap> TestMonomial( g );
rec( comment := "non-solvable group", isMonomial := false )
gap> IsMonomial( g );
false
gap> g:= SmallGroup( 56, 10 );;
gap> TestMonomialQuick( g );
rec( comment := "group order is monomial", isMonomial := true )
gap> TestMonomial( g );
rec( comment := "group order is monomial", isMonomial := true )
gap> IsMonomial( g );
true
gap> g:= SmallGroup( 24, 10 );;
gap> TestMonomialQuick( g );
rec( comment := "nilpotent group", isMonomial := true )
gap> TestMonomial( g );
rec( comment := "nilpotent group", isMonomial := true )
gap> IsMonomial( g );
true
gap> g:= SmallGroup( 24, 4 );;
gap> TestMonomialQuick( g );
rec( comment := "supersolvable group", isMonomial := true )
gap> TestMonomial( g );
rec( comment := "supersolvable group", isMonomial := true )
gap> IsMonomial( g );
true
gap> g:= SmallGroup( 324, 160 );;
gap> TestMonomialQuick( g );
rec( comment := "Sylow abelian by supersolvable group", isMonomial := true )
gap> TestMonomial( g );
rec( comment := "Sylow abelian by supersolvable group", isMonomial := true )
gap> IsMonomial( g );
true

##
gap> TestSubnormallyMonomial( S4 );
rec( character := Character( CharacterTable( S4 ), [ 3, -1, -1, 0, 1 ] ), 
  comment := "found non-SM character", isSubnormallyMonomial := false )
gap> TestSubnormallyMonomial( Irr( S4 )[4] );
rec( comment := "all subnormal subgroups checked", 
  isSubnormallyMonomial := false )
gap> TestSubnormallyMonomial( DerivedSubgroup( S4 ) );
rec( comment := "all irreducibles checked", isSubnormallyMonomial := true )
gap> IsSubnormallyMonomial( DerivedSubgroup( S4 ) );
true

##
gap> TestRelativelySM( DerivedSubgroup( S4 ) );
rec( comment := "normal subgroups are abelian or have nilpotent factor group",
  isRelativelySM := true )

##
gap> g1:= MinimalNonmonomialGroup(  2,  3 ); # the group SL(2,3)
2^(1+2):3
gap> g2:= MinimalNonmonomialGroup(  3,  4 );
3^(1+2):4
gap> g3:= MinimalNonmonomialGroup(  5,  8 );
5^(1+2):Q8
gap> g4:= MinimalNonmonomialGroup( 13, 12 );
13^(1+2):2.D6
gap> g5:= MinimalNonmonomialGroup(  1, 14 );
2^(1+6):D14
gap> g6:= MinimalNonmonomialGroup(  2, 14 );
(2^(1+6)Y4):D14
gap> MinimalNonmonomialGroup(  3,  3 );
fail
gap> MinimalNonmonomialGroup(  2,  4 );
fail
gap> MinimalNonmonomialGroup(  2,  8 );
fail
gap> MinimalNonmonomialGroup(  1, 10 );
fail
gap> MinimalNonmonomialGroup(  5,  9 );
fail

##
gap> IsMinimalNonmonomial( Sl23 );
true
gap> for g in [ g1, g2, g3, g4, g5, g6 ] do
>      # Make sure that the value is not yet stored.
>      if not IsMinimalNonmonomial( Group( GeneratorsOfGroup( g ) ) ) then
>        Error( "wrong result of IsMinimalNonmonomial" );
>      fi;
>    od;
gap> IsMinimalNonmonomial( S4 );
false

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

[ Dauer der Verarbeitung: 0.30 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge