Quelle docxpl.tst Sprache: unbekannt
|
|
Spracherkennung für: .tst vermutete Sprache: Lisp {Lisp[34] Masm[34] Apollo[26]} [Methode: maximale Elemente, drei Dimensionen]
# This file was created automatically, do not edit!
#############################################################################
##
#W docxpl.tst GAP 4 package AtlasRep Thomas Breuer
##
## This file contains the GAP code of examples in the package
## documentation files.
##
## In order to run the tests, one starts GAP from the 'tst' subdirectory
## of the 'pkg/atlasrep' directory, and calls 'Test( "docxpl.tst" );'.
##
gap> LoadPackage( "AtlasRep", false ) ;
true
gap> save:= SizeScreen() ;;
gap> SizeScreen( [ 72 ] ) ;;
gap> START_TEST( "docxpl.tst" ) ;
##
gap> if IsBound( BrowseData ) then
> data:= BrowseData.defaults.dynamic.replayDefaults ;
> oldinterval:= data.replayInterval ;
> data.replayInterval:= 1;
> fi ;
## doc/tutorial.xml ( 31- 38)
gap> LoadPackage( "AtlasRep", false ) ;
true
gap> LoadPackage( "CTblLib", false ) ;
true
gap> LoadPackage( "TomLib", false ) ;
true
## doc/tutorial.xml ( 56- 59)
gap> origpref:= UserPreference( "AtlasRep", "DisplayFunction" ) ;;
gap> SetUserPreference( "AtlasRep", "DisplayFunction", "Print" ) ;
## doc/tutorial.xml ( 69- 74)
gap> priv:= Difference(
> List( AtlasOfGroupRepresentationsInfo.notified, x -> x.ID ),
> [ "core", "internal" ] ) ;;
gap> Perform( priv, AtlasOfGroupRepresentationsForgetData ) ;
## doc/tutorial.xml ( 81- 84)
gap> globallevel:= InfoLevel( InfoAtlasRep ) ;;
gap> SetInfoLevel( InfoAtlasRep, 0 ) ;
## doc/tutorial.xml ( 169- 180)
gap> g:= AtlasGroup( "M24" ) ;
Group([ ( 1, 4)( 2, 7)( 3, 17)( 5, 13)( 6, 9)( 8, 15)( 10, 19)( 11, 18)( 12, 21)( 14, 16)
( 20, 24)( 22, 23), ( 1, 4, 6)( 2, 21, 14)( 3, 9, 15)( 5, 18, 10)( 13, 17, 16)
( 19, 24, 23) ])
gap> IsPermGroup( g ) ; NrMovedPoints( g ); Size( g );
true
24
244823040
gap> AtlasGroup( "J5" ) ;
fail
## doc/tutorial.xml ( 197- 207)
gap> g:= AtlasSubgroup( "M24", 1 ) ;
Group([ ( 2, 10)( 3, 12)( 4, 14)( 6, 9)( 8, 16)( 15, 18)( 20, 22)( 21, 24), ( 1, 7, 2, 9)
( 3, 22, 10, 23)( 4, 19, 8, 12)( 5, 14)( 6, 18)( 13, 16, 17, 24) ])
gap> IsPermGroup( g ) ; NrMovedPoints( g ); Size( g );
true
23
10200960
gap> AtlasSubgroup( "M24", 100 ) ;
fail
## doc/tutorial.xml ( 235- 244)
gap> s:= AtlasSubgroup( "ON", 3 ) ;
<permutation group of size 175560 with 2 generators>
gap> NrMovedPoints( s ) ; Size( s );
122760
175560
gap> hom:= SmallerDegreePermutationRepresentation( s ) ;;
gap> NrMovedPoints( Image( hom ) ) < 2000;
true
## doc/tutorial.xml ( 254- 259)
gap> j1:= AtlasGroup( "J1" ) ;
<permutation group of size 175560 with 2 generators>
gap> NrMovedPoints( j1 ) ;
266
## doc/tutorial.xml ( 268- 277)
gap> g:= AtlasGroup( "ON" ) ;
<permutation group of size 460815505920 with 2 generators>
gap> s:= AtlasSubgroup( g, 3 ) ;
<permutation group of size 175560 with 2 generators>
gap> IsSubset( g, s ) ;
true
gap> IsSubset( g, j1 ) ;
false
## doc/tutorial.xml ( 292- 326)
gap> DisplayAtlasInfo( "A5" ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
1: G <= Sym( 5) 3-trans., on cosets of A4 ( 1st max.)
2: G <= Sym( 6) 2-trans., on cosets of D10 ( 2nd max.)
3: G <= Sym( 10) rank 3, on cosets of S3 ( 3rd max.)
4: G <= GL( 4a, 2) character 4a
5: G <= GL( 4b, 2) character 2ab
6: G <= GL( 4, 3) character 4a
7: G <= GL( 6, 3) character 3ab
8: G <= GL( 2a, 4) character 2a
9: G <= GL( 2b, 4) character 2b
10: G <= GL( 3, 5) character 3a
11: G <= GL( 5, 5) character 5a
12: G <= GL( 3a, 9) character 3a
13: G <= GL( 3b, 9) character 3b
14: G <= GL( 4,Z) character 4a
15: G <= GL( 5,Z) character 5a
16: G <= GL( 6,Z) character 3ab
17: G <= GL( 3a,Field([Sqrt( 5)])) character 3a
18: G <= GL( 3b,Field([Sqrt( 5)])) character 3b
Programs for G = A5: (all refer to std. generators 1)
--------------------
- class repres.*
- presentation
- maxes (all 3):
1: A4
2: D10
3: S3
- std. gen. checker:
(check)
(pres)
## doc/tutorial.xml ( 334- 337)
gap> AtlasGroup( "A5", Position, 1 ) ;
Group([ ( 1, 2)( 3, 4), ( 1, 3, 5) ])
## doc/tutorial.xml ( 348- 353)
gap> AtlasGroup( "A5", NrMovedPoints, 10 ) ;
Group([ ( 2, 4)( 3, 5)( 6, 8)( 7, 10), ( 1, 2, 3)( 4, 6, 7)( 5, 8, 9) ])
gap> AtlasGroup( "A5", Dimension, 4, Ring, GF( 2) ) ;
<matrix group of size 60 with 2 generators>
## doc/tutorial.xml ( 368- 376)
gap> AtlasSubgroup( "A5", Dimension, 4, Ring, GF( 2), 1 ) ;
<matrix group of size 12 with 2 generators>
gap> g:= AtlasSubgroup( "A5", NrMovedPoints, 10, 3 ) ;
Group([ ( 2, 4)( 3, 5)( 6, 8)( 7, 10), ( 1, 4)( 3, 8)( 5, 7)( 6, 10) ])
gap> Size( g ) ; NrMovedPoints( g );
6
9
## doc/tutorial.xml ( 423- 442)
gap> info:= OneAtlasGeneratingSetInfo( "A5", NrMovedPoints, 10 ) ;
rec( charactername := "1a+4a+5a", constituents := [ 1, 4, 5 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p10B0.m1", "A5G1-p10B0.m2" ], 1, 10 ],
isPrimitive := true, maxnr := 3, p := 10, rankAction := 3,
repname := "A5G1-p10B0", repnr := 3, size := 60, stabilizer := "S3",
standardization := 1, transitivity := 1, type := "perm" )
gap> info2:= AtlasGenerators( info ) ;
rec( charactername := "1a+4a+5a", constituents := [ 1, 4, 5 ],
contents := "core",
generators := [ ( 2, 4)( 3, 5)( 6, 8)( 7, 10), ( 1, 2, 3)( 4, 6, 7)( 5, 8, 9) ],
groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p10B0.m1", "A5G1-p10B0.m2" ], 1, 10 ],
isPrimitive := true, maxnr := 3, p := 10, rankAction := 3,
repname := "A5G1-p10B0", repnr := 3, size := 60, stabilizer := "S3",
standardization := 1, transitivity := 1, type := "perm" )
gap> info2.generators ;
[ ( 2, 4)( 3, 5)( 6, 8)( 7, 10), ( 1, 2, 3)( 4, 6, 7)( 5, 8, 9) ]
## doc/tutorial.xml ( 453- 462)
gap> g:= AtlasGroup( "A5", NrMovedPoints, 10 ) ;;
gap> AtlasRepInfoRecord( g ) ;
rec( charactername := "1a+4a+5a", constituents := [ 1, 4, 5 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p10B0.m1", "A5G1-p10B0.m2" ], 1, 10 ],
isPrimitive := true, maxnr := 3, p := 10, rankAction := 3,
repname := "A5G1-p10B0", repnr := 3, size := 60, stabilizer := "S3",
standardization := 1, transitivity := 1, type := "perm" )
## doc/tutorial.xml ( 495- 516)
gap> prginfo:= AtlasProgramInfo( "A5", "maxes", 1 ) ;
rec( groupname := "A5", identifier := [ "A5", "A5G1-max1W1", 1 ],
size := 12, standardization := 1, subgroupname := "A4",
version := "1" )
gap> prg:= AtlasProgram( prginfo.identifier ) ;
rec( groupname := "A5", identifier := [ "A5", "A5G1-max1W1", 1 ],
program := <straight line program>, size := 12,
standardization := 1, subgroupname := "A4", version := "1" )
gap> Display( prg.program ) ;
# input:
r:= [ g1, g2 ] ;
# program:
r[ 3]:= r[ 1]*r[ 2] ;
r[ 4]:= r[ 2]*r[ 1] ;
r[ 5]:= r[ 3]*r[ 3] ;
r[ 1]:= r[ 5]*r[ 4] ;
# return values:
[ r[ 1], r[ 2] ]
gap> ResultOfStraightLineProgram( prg.program, info2.generators ) ;
[ ( 1, 10)( 2, 3)( 4, 9)( 7, 8), ( 1, 2, 3)( 4, 6, 7)( 5, 8, 9) ]
## doc/tutorial.xml ( 538- 543)
gap> tbl:= CharacterTable( "M11" ) ;;
gap> modtbl:= tbl mod 2;;
gap> CharacterDegrees( modtbl ) ;
[ [ 1, 1 ], [ 10, 1 ], [ 16, 2 ], [ 44, 1 ] ]
## doc/tutorial.xml ( 559- 568)
gap> DisplayAtlasInfo( "M11", Characteristic, 2 ) ;
Representations for G = M11: (all refer to std. generators 1)
----------------------------
6: G <= GL( 10, 2) character 10a
7: G <= GL( 32, 2) character 16ab
8: G <= GL( 44, 2) character 44a
16: G <= GL( 16a, 4) character 16a
17: G <= GL( 16b, 4) character 16b
## doc/tutorial.xml ( 582- 592)
gap> info:= OneAtlasGeneratingSetInfo( "M11", Characteristic, 2,
> Dimension, 10 ) ;;
gap> gens:= AtlasGenerators( info.identifier ) ;;
gap> ccls:= AtlasProgram( "M11", gens.standardization, "classes" ) ;
rec( groupname := "M11", identifier := [ "M11", "M11G1-cclsW1", 1 ],
outputs := [ "1A", "2A", "3A", "4A", "5A", "6A", "8A", "8B", "11A",
"11B" ], program := <straight line program>,
standardization := 1, version := "1" )
gap> reps:= ResultOfStraightLineProgram( ccls.program, gens.generators ) ;;
## doc/tutorial.xml ( 604- 611)
gap> ord8prg:= RestrictOutputsOfSLP( ccls.program,
> Filtered( [ 1 .. 10 ], i -> ccls.outputs[i][ 1] = '8' ) ) ;
<straight line program>
gap> ord8reps:= ResultOfStraightLineProgram( ord8prg, gens.generators ) ;;
gap> List( ord8reps, m -> Position( reps, m ) ) ;
[ 7, 8 ]
## doc/tutorial.xml ( 619- 622)
gap> List( reps, Order ) = OrdersClassRepresentatives( tbl ) ;
true
## doc/tutorial.xml ( 637- 641)
gap> fus:= GetFusionMap( modtbl, tbl ) ;
[ 1, 3, 5, 9, 10 ]
gap> modreps:= reps{ fus } ;;
## doc/tutorial.xml ( 651- 656)
gap> char:= List( modreps, BrauerCharacterValue ) ;
[ 10, 1, 0, - 1, - 1 ]
gap> Position( Irr( modtbl ), char ) ;
2
## doc/tutorial.xml ( 673- 679)
gap> grp:= Group( gens.generators ) ;;
gap> v:= GF( 2)^ 10;;
gap> orbs:= Orbits( grp, AsList( v ) ) ;;
gap> List( orbs, Length ) ;
[ 1, 396, 55, 330, 66, 165, 11 ]
## doc/tutorial.xml ( 700- 702)
gap> gens:= AtlasGenerators( "M11", 6, 1 ) ;;
## doc/tutorial.xml ( 710- 716)
gap> id:= IdentityMat( 10, GF( 2) ) ;;
gap> sub1:= Subspace( v, NullspaceMat( gens.generators[ 1] - id ) ) ;;
gap> sub2:= Subspace( v, NullspaceMat( gens.generators[ 2] - id ) ) ;;
gap> fix:= Intersection( sub1, sub2 ) ;
<vector space of dimension 1 over GF( 2)>
## doc/tutorial.xml ( 725- 729)
gap> orb:= Orbit( grp, Basis( fix )[ 1] ) ;;
gap> act:= Action( grp, orb ) ;; Print( act, "\n" );
Group( [ ( 1, 2)( 4, 6)( 5, 8)( 7, 10), ( 1, 3, 5, 9)( 2, 4, 7, 11) ] )
## doc/tutorial.xml ( 741- 749)
gap> permgrp:= Group( AtlasGenerators( "M11", 1 ).generators ) ;;
gap> Print( permgrp, "\n" ) ;
Group( [ ( 2, 10)( 4, 11)( 5, 7)( 8, 9), ( 1, 4, 3, 8)( 2, 5, 6, 9) ] )
gap> permgrp = act ;
false
gap> IsConjugate( SymmetricGroup( 11), permgrp, act ) ;
true
## doc/tutorial.xml ( 764- 789)
gap> DisplayAtlasInfo( "G2(3)", IsStraightLineProgram ) ;
Programs for G = G2( 3): (all refer to std. generators 1)
-----------------------
- class repres.
- presentation
- repr. cyc. subg.
- std. gen. checker
- automorphisms:
2
- maxes (all 10):
1: U3( 3). 2
2: U3( 3). 2
3: ( 3^( 1+ 2)+x3^ 2): 2S4
4: ( 3^( 1+ 2)+x3^ 2): 2S4
5: L3( 3). 2
6: L3( 3). 2
7: L2( 8). 3
8: 2^ 3.L3( 2)
9: L2( 13)
10: 2^( 1+ 4)+: 3^ 2. 2
gap> prog:= AtlasProgram( "G2(3)", "automorphism", "2" ).program ;;
gap> info:= OneAtlasGeneratingSetInfo( "G2(3)", Dimension, 7 ) ;;
gap> gens:= AtlasGenerators( info ).generators ;;
gap> imgs:= ResultOfStraightLineProgram( prog, gens ) ;;
## doc/tutorial.xml ( 802- 806)
gap> g:= Group( gens ) ;;
gap> aut:= GroupHomomorphismByImagesNC( g, g, gens, imgs ) ;;
gap> SetIsBijective( aut, true ) ;
## doc/tutorial.xml ( 815- 819)
gap> aut:= GroupHomomorphismByImages( g, g, gens, imgs ) ;;
gap> IsBijective( aut ) ;
true
## doc/tutorial.xml ( 842- 847)
gap> max1:= AtlasProgram( "G2(3)", 1 ).program ;;
gap> mgens:= ResultOfStraightLineProgram( max1, gens ) ;;
gap> comp:= CompositionOfStraightLinePrograms( max1, prog ) ;;
gap> mimgs:= ResultOfStraightLineProgram( comp, gens ) ;;
## doc/tutorial.xml ( 862- 865)
gap> mimgs = List( mgens, x -> x^aut ) ;
true
## doc/tutorial.xml ( 896- 910)
gap> info:= OneAtlasGeneratingSetInfo( "M12", NrMovedPoints, 12 ) ;
rec( charactername := "1a+11a", constituents := [ 1, 2 ],
contents := "core", groupname := "M12", id := "a",
identifier := [ "M12", [ "M12G1-p12aB0.m1", "M12G1-p12aB0.m2" ], 1,
12 ], isPrimitive := true, maxnr := 1, p := 12, rankAction := 2,
repname := "M12G1-p12aB0", repnr := 1, size := 95040,
stabilizer := "M11", standardization := 1, transitivity := 5,
type := "perm" )
gap> gensM12:= AtlasGenerators( info.identifier ) ;;
gap> restM11:= AtlasProgram( "M12", "maxes", 1 ) ;;
gap> gensM11:= ResultOfStraightLineProgram( restM11.program,
> gensM12.generators ) ;
[ ( 3, 9)( 4, 12)( 5, 10)( 6, 8), ( 1, 4, 11, 5)( 2, 10, 8, 3) ]
## doc/tutorial.xml ( 922- 929)
gap> checkM11:= AtlasProgram( "M11", "check" ) ;
rec( groupname := "M11", identifier := [ "M11", "M11G1-check1", 1, 1 ]
, program := <straight line decision>, standardization := 1,
version := "1" )
gap> ResultOfStraightLineDecision( checkM11.program, gensM11 ) ;
true
## doc/tutorial.xml ( 938- 945)
gap> restL211:= AtlasProgram( "M11", "maxes", 2 ) ;;
gap> gensL211:= ResultOfStraightLineProgram( restL211.program, gensM11 ) ;
[ ( 3, 9)( 4, 12)( 5, 10)( 6, 8), ( 1, 11, 9)( 2, 12, 8)( 3, 6, 10) ]
gap> G:= Group( gensL211 ) ;; Size( G ); IsSimple( G );
660
true
## doc/tutorial.xml ( 951- 977)
gap> DisplayAtlasInfo( "M11", IsStraightLineProgram ) ;
Programs for G = M11: (all refer to std. generators 1)
---------------------
- presentation
- repr. cyc. subg.
- std. gen. finder
- class repres.:
(direct)
(composed)
- maxes (all 5):
1: A6. 2_ 3
1: A6. 2_ 3 (std. 1)
2: L2( 11)
2: L2( 11) (std. 1)
3: 3^ 2:Q8. 2
4: S5
4: S5 (std. 1)
5: 2.S4
- standardizations of maxes:
from 1st max., version 1 to A6. 2_ 3, std. 1
from 2nd max., version 1 to L2( 11), std. 1
from 4th max., version 1 to A5. 2, std. 1
- std. gen. checker:
(check)
(pres)
## doc/tutorial.xml ( 986- 990)
gap> restL211std:= AtlasProgram( "M11", "maxes", 2, 1 ) ;;
gap> ResultOfStraightLineProgram( restL211std.program, gensM11 ) ;
[ ( 3, 9)( 4, 12)( 5, 10)( 6, 8), ( 1, 11, 9)( 2, 12, 8)( 3, 6, 10) ]
## doc/tutorial.xml ( 1007- 1013)
gap> G:= MathieuGroup( 11 ) ;;
gap> gens:= GeneratorsOfGroup( G ) ;
[ ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), ( 3, 7, 11, 8)( 4, 10, 5, 6) ]
gap> ResultOfStraightLineDecision( checkM11.program, gens ) ;
false
## doc/tutorial.xml ( 1023- 1039)
gap> find:= AtlasProgram( "M11", "find" ) ;
rec( groupname := "M11", identifier := [ "M11", "M11G1-find1", 1, 1 ],
program := <black box program>, standardization := 1,
version := "1" )
gap> stdgens:= ResultOfBBoxProgram( find.program, Group( gens ) ) ;;
gap> List( stdgens, Order ) ;
[ 2, 4 ]
gap> ResultOfStraightLineDecision( checkM11.program, stdgens ) ;
true
gap> gensL211:= ResultOfStraightLineProgram( restL211.program, stdgens ) ;;
gap> List( gensL211, Order ) ;
[ 2, 3 ]
gap> G:= Group( gensL211 ) ;; Size( G ); IsSimple( G );
660
true
## doc/tutorial.xml ( 1070- 1078)
gap> tom:= TableOfMarks( "A5" ) ;
TableOfMarks( "A5" )
gap> info:= StandardGeneratorsInfo( tom ) ;
[ rec( ATLAS := true, description := "|a|=2, |b|=3, |ab|=5",
generators := "a, b",
script := [ [ 1, 2 ], [ 2, 3 ], [ 1, 1, 2, 1, 5 ] ],
standardization := 1 ) ]
## doc/tutorial.xml ( 1095- 1120)
gap> info:= OneAtlasGeneratingSetInfo( "A5", Ring, Integers, Dimension, 4 ) ;;
gap> stdgens:= AtlasGenerators( info.identifier ) ;
rec( charactername := "4a", constituents := [ 4 ], contents := "core",
dim := 4,
generators :=
[
[ [ 1, 0, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 1, 0, 0 ],
[ - 1, - 1, - 1, - 1 ] ],
[ [ 0, 1, 0, 0 ], [ 0, 0, 0, 1 ], [ 0, 0, 1, 0 ],
[ 1, 0, 0, 0 ] ] ], groupname := "A5", id := "",
identifier := [ "A5", "A5G1-Zr4B0.g", 1, 4 ],
repname := "A5G1-Zr4B0", repnr := 14, ring := Integers, size := 60,
standardization := 1, type := "matint" )
gap> orders:= OrdersTom( tom ) ;
[ 1, 2, 3, 4, 5, 6, 10, 12, 60 ]
gap> pos:= Position( orders, 4 ) ;
4
gap> sub:= RepresentativeTomByGeneratorsNC( tom, pos, stdgens.generators ) ;
<matrix group of size 4 with 2 generators>
gap> GeneratorsOfGroup( sub ) ;
[ [ [ 1, 0, 0, 0 ], [ - 1, - 1, - 1, - 1 ], [ 0, 0, 0, 1 ],
[ 0, 0, 1, 0 ] ],
[ [ 1, 0, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 1, 0, 0 ],
[ - 1, - 1, - 1, - 1 ] ] ]
## doc/tutorial.xml ( 1135- 1143)
gap> tom:= TableOfMarks( "M22" ) ;
TableOfMarks( "M22" )
gap> subord:= Size( UnderlyingGroup( tom ) ) / 770;
576
gap> ord:= OrdersTom( tom ) ;;
gap> tomstabs:= Filtered( [ 1 .. Length( ord ) ], i -> ord[i] = subord ) ;
[ 144 ]
## doc/tutorial.xml ( 1152- 1157)
gap> DisplayAtlasInfo( "M22", NrMovedPoints, 770 ) ;
Representations for G = M22: (all refer to std. generators 1)
----------------------------
12: G <= Sym( 770) rank 9, on cosets of (A4xA4): 4 < 2^ 4:A6
## doc/tutorial.xml ( 1166- 1172)
gap> maxtom:= MaximalSubgroupsTom( tom ) ;
[ [ 155, 154, 153, 152, 151, 150, 146, 145 ],
[ 22, 77, 176, 176, 231, 330, 616, 672 ] ]
gap> List( tomstabs, i -> List( maxtom[ 1], j -> ContainedTom( tom, i, j ) ) ) ;
[ [ 0, 10, 0, 0, 0, 0, 0, 0 ] ]
## doc/tutorial.xml ( 1191- 1197)
gap> g:= AtlasGroup( "M22", NrMovedPoints, 770 ) ;
<permutation group of size 443520 with 2 generators>
gap> allbl:= AllBlocks( g ) ;;
gap> List( allbl, Length ) ;
[ 10 ]
## doc/tutorial.xml ( 1206- 1214)
gap> stab:= Stabilizer( g, 1 ) ;;
gap> StructureDescription( stab : nice ) ;
"(A4 x A4) : C4"
gap> blocks:= Orbit( g, allbl[ 1], OnSets ) ;;
gap> act:= Action( g, blocks, OnSets ) ;;
gap> StructureDescription( Stabilizer( act, 1 ) ) ;
"(C2 x C2 x C2 x C2) : A6"
## doc/tutorial.xml ( 1228- 1235)
gap> DisplayAtlasInfo( "M22", NrMovedPoints, 462 ) ;
Representations for G = M22: (all refer to std. generators 1)
----------------------------
7: G <= Sym( 462a) rank 5, on cosets of 2^ 4:A5 < 2^ 4:A6
8: G <= Sym( 462b) rank 8, on cosets of 2^ 4:A5 < L3( 4), 2^ 4:S5
9: G <= Sym( 462c) rank 8, on cosets of 2^ 4:A5 < L3( 4), 2^ 4:A6
## doc/tutorial.xml ( 1250- 1260)
gap> tom:= TableOfMarks( "M22" ) ;
TableOfMarks( "M22" )
gap> genstom:= GeneratorsOfGroup( UnderlyingGroup( tom ) ) ;;
gap> checkM22:= AtlasProgram( "M22", "check" ) ;
rec( groupname := "M22", identifier := [ "M22", "M22G1-check1", 1, 1 ]
, program := <straight line decision>, standardization := 1,
version := "1" )
gap> ResultOfStraightLineDecision( checkM22.program, genstom ) ;
true
## doc/tutorial.xml ( 1269- 1273)
gap> ord:= OrdersTom( tom ) ;;
gap> tomstabs:= Filtered( [ 1 .. Length( ord ) ], i -> ord[i] = 960 ) ;
[ 147, 148, 149 ]
## doc/tutorial.xml ( 1284- 1318)
gap> atlasreps:= AllAtlasGeneratingSetInfos( "M22", NrMovedPoints, 462 ) ;
[ rec( charactername := "1a+21a+55a+154a+231a",
constituents := [ 1, 2, 5, 7, 9 ], contents := "core",
groupname := "M22", id := "a",
identifier :=
[ "M22", [ "M22G1-p462aB0.m1", "M22G1-p462aB0.m2" ], 1, 462 ],
isPrimitive := false, p := 462, rankAction := 5,
repname := "M22G1-p462aB0", repnr := 7, size := 443520,
stabilizer := "2^4:A5 < 2^4:A6", standardization := 1,
transitivity := 1, type := "perm" ),
rec( charactername := "1a+21a^2+55a+154a+210a",
constituents := [ 1, [ 2, 2 ], 5, 7, 8 ], contents := "core",
groupname := "M22", id := "b",
identifier :=
[ "M22", [ "M22G1-p462bB0.m1", "M22G1-p462bB0.m2" ], 1, 462 ],
isPrimitive := false, p := 462, rankAction := 8,
repname := "M22G1-p462bB0", repnr := 8, size := 443520,
stabilizer := "2^4:A5 < L3(4), 2^4:S5", standardization := 1,
transitivity := 1, type := "perm" ),
rec( charactername := "1a+21a^2+55a+154a+210a",
constituents := [ 1, [ 2, 2 ], 5, 7, 8 ], contents := "core",
groupname := "M22", id := "c",
identifier :=
[ "M22", [ "M22G1-p462cB0.m1", "M22G1-p462cB0.m2" ], 1, 462 ],
isPrimitive := false, p := 462, rankAction := 8,
repname := "M22G1-p462cB0", repnr := 9, size := 443520,
stabilizer := "2^4:A5 < L3(4), 2^4:A6", standardization := 1,
transitivity := 1, type := "perm" ) ]
gap> atlasreps:= List( atlasreps, AtlasGroup ) ;;
gap> tomstabreps:= List( atlasreps, G -> List( tomstabs,
> i -> RepresentativeTomByGenerators( tom, i, GeneratorsOfGroup( G ) ) ) ) ;;
gap> List( tomstabreps, x -> List( x, NrMovedPoints ) ) ;
[ [ 462, 462, 461 ], [ 460, 462, 462 ], [ 462, 461, 462 ] ]
## doc/tutorial.xml ( 1334- 1340)
gap> stabs:= List( atlasreps, G -> Stabilizer( G, 1 ) ) ;;
gap> List( stabs, IdGroup ) ;
[ [ 960, 11358 ], [ 960, 11357 ], [ 960, 11357 ] ]
gap> List( stabs, PerfectIdentification ) ;
[ [ 960, 2 ], [ 960, 1 ], [ 960, 1 ] ]
## doc/tutorial.xml ( 1350- 1357)
gap> maxtom:= MaximalSubgroupsTom( tom ) ;
[ [ 155, 154, 153, 152, 151, 150, 146, 145 ],
[ 22, 77, 176, 176, 231, 330, 616, 672 ] ]
gap> List( tomstabs, i -> List( maxtom[ 1], j -> ContainedTom( tom, i, j ) ) ) ;
[ [ 21, 0, 0, 0, 1, 0, 0, 0 ], [ 21, 6, 0, 0, 0, 0, 0, 0 ],
[ 0, 6, 0, 0, 0, 0, 0, 0 ] ]
## doc/tutorial.xml ( 1388- 1394)
gap> bl:= List( atlasreps, AllBlocks ) ;;
gap> List( bl, Length ) ;
[ 1, 3, 2 ]
gap> List( bl, l -> List( l, Length ) ) ;
[ [ 6 ], [ 21, 21, 2 ], [ 21, 6 ] ]
## doc/tutorial.xml ( 1421- 1424)
gap> List( atlasreps, RankAction ) ;
[ 5, 8, 8 ]
## doc/tutorial.xml ( 1437- 1447)
gap> t:= CharacterTable( "M22" ) ;;
gap> perms:= PermChars( t, 462 ) ;
[ Character( CharacterTable( "M22" ),
[ 462, 30, 3, 2, 2, 2, 3, 0, 0, 0, 0, 0 ] ),
Character( CharacterTable( "M22" ),
[ 462, 30, 12, 2, 2, 2, 0, 0, 0, 0, 0, 0 ] ) ]
gap> MatScalarProducts( t, Irr( t ), perms ) ;
[ [ 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0 ],
[ 1, 2, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0 ] ]
## doc/../gap/utils.gd ( 183- 205)
gap> AtlasClassNames( CharacterTable( "L3(4).3" ) ) ;
[ "1A", "2A", "3A", "4ABC", "5A", "5B", "7A", "7B", "3B", "3B'",
"3C", "3C'", "6B", "6B'", "15A", "15A'", "15B", "15B'", "21A",
"21A'", "21B", "21B'" ]
gap> AtlasClassNames( CharacterTable( "U3(5).2" ) ) ;
[ "1A", "2A", "3A", "4A", "5A", "5B", "5CD", "6A", "7AB", "8AB",
"10A", "2B", "4B", "6D", "8C", "10B", "12B", "20A", "20B" ]
gap> AtlasClassNames( CharacterTable( "L2(27).6" ) ) ;
[ "1A", "2A", "3AB", "7ABC", "13ABC", "13DEF", "14ABC", "2B", "4A",
"26ABC", "26DEF", "28ABC", "28DEF", "3C", "3C'", "6A", "6A'",
"9AB", "9A'B'", "6B", "6B'", "12A", "12A'" ]
gap> AtlasClassNames( CharacterTable( "L3(4).3.2_2" ) ) ;
[ "1A", "2A", "3A", "4ABC", "5AB", "7A", "7B", "3B", "3C", "6B",
"15A", "15B", "21A", "21B", "2C", "4E", "6E", "8D", "14A", "14B" ]
gap> AtlasClassNames( CharacterTable( "3.A6" ) ) ;
[ "1A_0", "1A_1", "1A_2", "2A_0", "2A_1", "2A_2", "3A_0", "3B_0",
"4A_0", "4A_1", "4A_2", "5A_0", "5A_1", "5A_2", "5B_0", "5B_1",
"5B_2" ]
gap> AtlasClassNames( CharacterTable( "2.A5.2" ) ) ;
[ "1A_0", "1A_1", "2A_0", "3A_0", "3A_1", "5AB_0", "5AB_1", "2B_0",
"4A_0", "4A_1", "6A_0", "6A_1" ]
## doc/../gap/utils.gd ( 251- 254)
gap> AtlasCharacterNames( CharacterTable( "A5" ) ) ;
[ "1a", "3a", "3b", "4a", "5a" ]
## doc/../gap/interfac.gd ( 462- 468)
gap> DisplayAtlasInfo( [ "M11", "A5" ] ) ;
group | # | maxes | cl | cyc | out | fnd | chk | prs
------+----+-------+----+-----+-----+-----+-----+----
M11 | 42 | 5 | + | + | | + | + | +
A5* | 18 | 3 | + | | | | + | +
## doc/../gap/interfac.gd ( 494- 499)
gap> DisplayAtlasInfo( [ "M11", "A5" ], NrMovedPoints, 11 ) ;
group | # | maxes | cl | cyc | out | fnd | chk | prs
------+---+-------+----+-----+-----+-----+-----+----
M11 | 1 | 5 | + | + | | + | + | +
## doc/../gap/interfac.gd ( 510- 522)
gap> DisplayAtlasInfo( "A5", IsPermGroup, true ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
1: G <= Sym( 5) 3-trans., on cosets of A4 ( 1st max.)
2: G <= Sym( 6) 2-trans., on cosets of D10 ( 2nd max.)
3: G <= Sym( 10) rank 3, on cosets of S3 ( 3rd max.)
gap> DisplayAtlasInfo( "A5", NrMovedPoints, [ 4 .. 9 ] ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
1: G <= Sym( 5) 3-trans., on cosets of A4 ( 1st max.)
2: G <= Sym( 6) 2-trans., on cosets of D10 ( 2nd max.)
## doc/../gap/interfac.gd ( 527- 546)
gap> DisplayAtlasInfo( "A5", Dimension, [ 1 .. 3 ] ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
8: G <= GL( 2a, 4) character 2a
9: G <= GL( 2b, 4) character 2b
10: G <= GL( 3, 5) character 3a
12: G <= GL( 3a, 9) character 3a
13: G <= GL( 3b, 9) character 3b
17: G <= GL( 3a,Field([Sqrt( 5)])) character 3a
18: G <= GL( 3b,Field([Sqrt( 5)])) character 3b
gap> DisplayAtlasInfo( "A5", Characteristic, 0 ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
14: G <= GL( 4,Z) character 4a
15: G <= GL( 5,Z) character 5a
16: G <= GL( 6,Z) character 3ab
17: G <= GL( 3a,Field([Sqrt( 5)])) character 3a
18: G <= GL( 3b,Field([Sqrt( 5)])) character 3b
## doc/../gap/interfac.gd ( 555- 563)
gap> DisplayAtlasInfo( "A5", Identifier, "a" ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
4: G <= GL( 4a, 2) character 4a
8: G <= GL( 2a, 4) character 2a
12: G <= GL( 3a, 9) character 3a
17: G <= GL( 3a,Field([Sqrt( 5)])) character 3a
## doc/../gap/interfac.gd ( 568- 603)
gap> DisplayAtlasInfo( "A5", NrMovedPoints, IsPrimeInt ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
1: G <= Sym( 5) 3-trans., on cosets of A4 ( 1st max.)
gap> DisplayAtlasInfo( "A5", Characteristic, IsOddInt ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
6: G <= GL( 4, 3) character 4a
7: G <= GL( 6, 3) character 3ab
10: G <= GL( 3, 5) character 3a
11: G <= GL( 5, 5) character 5a
12: G <= GL( 3a, 9) character 3a
13: G <= GL( 3b, 9) character 3b
gap> DisplayAtlasInfo( "A5", Dimension, IsPrimeInt ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
8: G <= GL( 2a, 4) character 2a
9: G <= GL( 2b, 4) character 2b
10: G <= GL( 3, 5) character 3a
11: G <= GL( 5, 5) character 5a
12: G <= GL( 3a, 9) character 3a
13: G <= GL( 3b, 9) character 3b
15: G <= GL( 5,Z) character 5a
17: G <= GL( 3a,Field([Sqrt( 5)])) character 3a
18: G <= GL( 3b,Field([Sqrt( 5)])) character 3b
gap> DisplayAtlasInfo( "A5", Ring, IsFinite and IsPrimeField ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
4: G <= GL( 4a, 2) character 4a
5: G <= GL( 4b, 2) character 2ab
6: G <= GL( 4, 3) character 4a
7: G <= GL( 6, 3) character 3ab
10: G <= GL( 3, 5) character 3a
11: G <= GL( 5, 5) character 5a
## doc/../gap/interfac.gd ( 613- 626)
gap> DisplayAtlasInfo( "A5", IsStraightLineProgram, true ) ;
Programs for G = A5: (all refer to std. generators 1)
--------------------
- class repres.*
- presentation
- maxes (all 3):
1: A4
2: D10
3: S3
- std. gen. checker:
(check)
(pres)
## doc/../gap/interfac.gd ( 799- 828)
gap> gens1:= AtlasGenerators( "A5", 1 ) ;
rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", generators := [ ( 1, 2)( 3, 4), ( 1, 3, 5) ],
groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ],
isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 60, stabilizer := "A4",
standardization := 1, transitivity := 3, type := "perm" )
gap> gens8:= AtlasGenerators( "A5", 8 ) ;
rec( charactername := "2a", constituents := [ 2 ], contents := "core",
dim := 2,
generators := [ [ [ Z( 2)^ 0, 0*Z( 2) ], [ Z( 2^ 2), Z( 2)^ 0 ] ],
[ [ 0*Z( 2), Z( 2)^ 0 ], [ Z( 2)^ 0, Z( 2)^ 0 ] ] ], groupname := "A5",
id := "a",
identifier := [ "A5", [ "A5G1-f4r2aB0.m1", "A5G1-f4r2aB0.m2" ], 1,
4 ], repname := "A5G1-f4r2aB0", repnr := 8, ring := GF( 2^ 2),
size := 60, standardization := 1, type := "matff" )
gap> gens17:= AtlasGenerators( "A5", 17 ) ;
rec( charactername := "3a", constituents := [ 2 ], contents := "core",
dim := 3,
generators :=
[ [ [ - 1, 0, 0 ], [ 0, - 1, 0 ], [ -E( 5)-E( 5)^ 4, -E( 5)-E( 5)^ 4, 1 ]
], [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ],
groupname := "A5", id := "a",
identifier := [ "A5", "A5G1-Ar3aB0.g", 1, 3 ],
polynomial := [ - 1, 1, 1 ], repname := "A5G1-Ar3aB0", repnr := 17,
ring := NF( 5,[ 1, 4 ]), size := 60, standardization := 1,
type := "matalg" )
## doc/../gap/interfac.gd ( 833- 850)
gap> gens1max2:= AtlasGenerators( "A5", 1, 2 ) ;
rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", generators := [ ( 1, 2)( 3, 4), ( 2, 3)( 4, 5) ],
groupname := "D10", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5, 2 ],
isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 10, stabilizer := "A4",
standardization := 1, transitivity := 3, type := "perm" )
gap> id:= gens1max2.identifier ;;
gap> gens1max2 = AtlasGenerators( id ) ;
true
gap> max2:= Group( gens1max2.generators ) ;;
gap> Size( max2 ) ;
10
gap> IdGroup( max2 ) = IdGroup( DihedralGroup( 10 ) ) ;
true
## doc/../gap/interfac.gd ( 1166- 1186)
gap> prog:= AtlasProgram( "A5", 2 ) ;
rec( groupname := "A5", identifier := [ "A5", "A5G1-max2W1", 1 ],
program := <straight line program>, size := 10,
standardization := 1, subgroupname := "D10", version := "1" )
gap> StringOfResultOfStraightLineProgram( prog.program, [ "a", "b" ] ) ;
"[ a, bbab ]"
gap> gens1:= AtlasGenerators( "A5", 1 ) ;
rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", generators := [ ( 1, 2)( 3, 4), ( 1, 3, 5) ],
groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ],
isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 60, stabilizer := "A4",
standardization := 1, transitivity := 3, type := "perm" )
gap> maxgens:= ResultOfStraightLineProgram( prog.program,
> gens1.generators ) ;
[ ( 1, 2)( 3, 4), ( 2, 3)( 4, 5) ]
gap> maxgens = gens1max2.generators ;
true
## doc/../gap/interfac.gd ( 1201- 1212)
gap> prog:= AtlasProgram( "J1", "cyclic" ) ;
rec( groupname := "J1", identifier := [ "J1", "J1G1-cycW1", 1 ],
outputs := [ "6A", "7A", "10B", "11A", "15B", "19A" ],
program := <straight line program>, standardization := 1,
version := "1" )
gap> gens:= GeneratorsOfGroup( FreeGroup( "x", "y" ) ) ;;
gap> ResultOfStraightLineProgram( prog.program, gens ) ;
[ (x*y)^ 2*((y*x)^ 2*y^ 2*x)^ 2*y^ 2, x*y, (x*(y*x*y)^ 2)^ 2*y,
(x*y*x*(y*x*y)^ 3*x*y^ 2)^ 2*x*y*x*(y*x*y)^ 2*y, x*y*x*(y*x*y)^ 2*y,
(x*y)^ 2*y ]
## doc/../gap/interfac.gd ( 903- 907)
gap> AtlasProgramInfo( "J1", "cyclic" ) ;
rec( groupname := "J1", identifier := [ "J1", "J1G1-cycW1", 1 ],
standardization := 1, version := "1" )
## doc/../gap/interfac.gd ( 1297- 1321)
gap> info:= OneAtlasGeneratingSetInfo( "A5" ) ;
rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ],
isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 60, stabilizer := "A4",
standardization := 1, transitivity := 3, type := "perm" )
gap> gens:= AtlasGenerators( info.identifier ) ;
rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", generators := [ ( 1, 2)( 3, 4), ( 1, 3, 5) ],
groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ],
isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 60, stabilizer := "A4",
standardization := 1, transitivity := 3, type := "perm" )
gap> info = OneAtlasGeneratingSetInfo( "A5", IsPermGroup, true ) ;
true
gap> info = OneAtlasGeneratingSetInfo( "A5", NrMovedPoints, "minimal" ) ;
true
gap> info = OneAtlasGeneratingSetInfo( "A5", NrMovedPoints, [ 1 .. 10 ] ) ;
true
gap> OneAtlasGeneratingSetInfo( "A5", NrMovedPoints, 20 ) ;
fail
## doc/../gap/interfac.gd ( 1331- 1415)
gap> info:= OneAtlasGeneratingSetInfo( "A5", IsMatrixGroup, true ) ;
rec( charactername := "4a", constituents := [ 4 ], contents := "core",
dim := 4, groupname := "A5", id := "a",
identifier := [ "A5", [ "A5G1-f2r4aB0.m1", "A5G1-f2r4aB0.m2" ], 1,
2 ], repname := "A5G1-f2r4aB0", repnr := 4, ring := GF( 2),
size := 60, standardization := 1, type := "matff" )
gap> gens:= AtlasGenerators( info.identifier ) ;
rec( charactername := "4a", constituents := [ 4 ], contents := "core",
dim := 4,
generators := [ <an immutable 4x4 matrix over GF2>,
<an immutable 4x4 matrix over GF2> ], groupname := "A5",
id := "a",
identifier := [ "A5", [ "A5G1-f2r4aB0.m1", "A5G1-f2r4aB0.m2" ], 1,
2 ], repname := "A5G1-f2r4aB0", repnr := 4, ring := GF( 2),
size := 60, standardization := 1, type := "matff" )
gap> info = OneAtlasGeneratingSetInfo( "A5", Dimension, 4 ) ;
true
gap> info = OneAtlasGeneratingSetInfo( "A5", Characteristic, 2 ) ;
true
gap> info2:= OneAtlasGeneratingSetInfo( "A5", Ring, GF( 2) ) ;;
gap> info.identifier = info2.identifier ;
true
gap> OneAtlasGeneratingSetInfo( "A5", Characteristic, [ 2, 5], Dimension, 2 ) ;
rec( charactername := "2a", constituents := [ 2 ], contents := "core",
dim := 2, groupname := "A5", id := "a",
identifier := [ "A5", [ "A5G1-f4r2aB0.m1", "A5G1-f4r2aB0.m2" ], 1,
4 ], repname := "A5G1-f4r2aB0", repnr := 8, ring := GF( 2^ 2),
size := 60, standardization := 1, type := "matff" )
gap> OneAtlasGeneratingSetInfo( "A5", Characteristic, [ 2, 5], Dimension, 1 ) ;
fail
gap> info:= OneAtlasGeneratingSetInfo( "A5", Characteristic, 0,
> Dimension, 4 ) ;
rec( charactername := "4a", constituents := [ 4 ], contents := "core",
dim := 4, groupname := "A5", id := "",
identifier := [ "A5", "A5G1-Zr4B0.g", 1, 4 ],
repname := "A5G1-Zr4B0", repnr := 14, ring := Integers, size := 60,
standardization := 1, type := "matint" )
gap> gens:= AtlasGenerators( info.identifier ) ;
rec( charactername := "4a", constituents := [ 4 ], contents := "core",
dim := 4,
generators :=
[
[ [ 1, 0, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 1, 0, 0 ],
[ - 1, - 1, - 1, - 1 ] ],
[ [ 0, 1, 0, 0 ], [ 0, 0, 0, 1 ], [ 0, 0, 1, 0 ],
[ 1, 0, 0, 0 ] ] ], groupname := "A5", id := "",
identifier := [ "A5", "A5G1-Zr4B0.g", 1, 4 ],
repname := "A5G1-Zr4B0", repnr := 14, ring := Integers, size := 60,
standardization := 1, type := "matint" )
gap> info = OneAtlasGeneratingSetInfo( "A5", Ring, Integers ) ;
true
gap> info2:= OneAtlasGeneratingSetInfo( "A5", Ring, CF( 37) ) ;;
gap> info = info2 ;
false
gap> Difference( RecNames( info2 ), RecNames( info ) ) ;
[ "givenRing" ]
gap> info2.givenRing ;
CF( 37)
gap> OneAtlasGeneratingSetInfo( "A5", Ring, Integers mod 77 ) ;
fail
gap> info:= OneAtlasGeneratingSetInfo( "A5", Ring, CF( 5), Dimension, 3 ) ;
rec( charactername := "3a", constituents := [ 2 ], contents := "core",
dim := 3, givenRing := CF( 5), groupname := "A5", id := "a",
identifier := [ "A5", "A5G1-Ar3aB0.g", 1, 3 ],
polynomial := [ - 1, 1, 1 ], repname := "A5G1-Ar3aB0", repnr := 17,
ring := NF( 5,[ 1, 4 ]), size := 60, standardization := 1,
type := "matalg" )
gap> gens:= AtlasGenerators( info ) ;
rec( charactername := "3a", constituents := [ 2 ], contents := "core",
dim := 3,
generators :=
[ [ [ - 1, 0, 0 ], [ 0, - 1, 0 ], [ -E( 5)-E( 5)^ 4, -E( 5)-E( 5)^ 4, 1 ]
], [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ],
givenRing := CF( 5), groupname := "A5", id := "a",
identifier := [ "A5", "A5G1-Ar3aB0.g", 1, 3 ],
polynomial := [ - 1, 1, 1 ], repname := "A5G1-Ar3aB0", repnr := 17,
ring := NF( 5,[ 1, 4 ]), size := 60, standardization := 1,
type := "matalg" )
gap> gens2:= AtlasGenerators( info.identifier ) ;;
gap> Difference( RecNames( gens ), RecNames( gens2 ) ) ;
[ "givenRing" ]
gap> OneAtlasGeneratingSetInfo( "A5", Ring, GF( 17) ) ;
fail
## doc/../gap/interfac.gd ( 1451- 1474)
gap> AllAtlasGeneratingSetInfos( "A5", IsPermGroup, true ) ;
[ rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ]
, isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 60,
stabilizer := "A4", standardization := 1, transitivity := 3,
type := "perm" ),
rec( charactername := "1a+5a", constituents := [ 1, 5 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p6B0.m1", "A5G1-p6B0.m2" ], 1, 6 ]
, isPrimitive := true, maxnr := 2, p := 6, rankAction := 2,
repname := "A5G1-p6B0", repnr := 2, size := 60,
stabilizer := "D10", standardization := 1, transitivity := 2,
type := "perm" ),
rec( charactername := "1a+4a+5a", constituents := [ 1, 4, 5 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p10B0.m1", "A5G1-p10B0.m2" ], 1,
10 ], isPrimitive := true, maxnr := 3, p := 10,
rankAction := 3, repname := "A5G1-p10B0", repnr := 3,
size := 60, stabilizer := "S3", standardization := 1,
transitivity := 1, type := "perm" ) ]
## doc/../gap/interfac.gd ( 1616- 1619)
gap> g:= AtlasGroup( "A5" ) ;
Group([ ( 1, 2)( 3, 4), ( 1, 3, 5) ])
## doc/../gap/interfac.gd ( 1627- 1639)
gap> info:= OneAtlasGeneratingSetInfo( "A5" ) ;
rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ],
isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 60, stabilizer := "A4",
standardization := 1, transitivity := 3, type := "perm" )
gap> AtlasGroup( info ) ;
Group([ ( 1, 2)( 3, 4), ( 1, 3, 5) ])
gap> AtlasGroup( info.identifier ) ;
Group([ ( 1, 2)( 3, 4), ( 1, 3, 5) ])
## doc/../gap/interfac.gd ( 1710- 1715)
gap> g:= AtlasSubgroup( "A5", NrMovedPoints, 5, 1 ) ;
Group([ ( 1, 5)( 2, 3), ( 1, 3, 5) ])
gap> NrMovedPoints( g ) ;
4
## doc/../gap/interfac.gd ( 1725- 1739)
gap> info:= OneAtlasGeneratingSetInfo( "A5" ) ;
rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ],
isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 60, stabilizer := "A4",
standardization := 1, transitivity := 3, type := "perm" )
gap> AtlasSubgroup( info, 1 ) ;
Group([ ( 1, 5)( 2, 3), ( 1, 3, 5) ])
gap> AtlasSubgroup( info.identifier, 1 ) ;
Group([ ( 1, 5)( 2, 3), ( 1, 3, 5) ])
gap> AtlasSubgroup( AtlasGroup( "A5" ), 1 ) ;
Group([ ( 1, 5)( 2, 3), ( 1, 3, 5) ])
## doc/../gap/interfac.gd ( 1512- 1520)
gap> AtlasRepInfoRecord( AtlasGroup( "A5" ) ) ;
rec( charactername := "1a+4a", constituents := [ 1, 4 ],
contents := "core", groupname := "A5", id := "",
identifier := [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ],
isPrimitive := true, maxnr := 1, p := 5, rankAction := 2,
repname := "A5G1-p5B0", repnr := 1, size := 60, stabilizer := "A4",
standardization := 1, transitivity := 3, type := "perm" )
## doc/../gap/interfac.gd ( 1566- 1574)
gap> AtlasRepInfoRecord( "A5" ) ;
rec( name := "A5", nrMaxes := 3, size := 60,
sizesMaxes := [ 12, 10, 6 ],
slpMaxes := [ [ 1 .. 3 ], [ [ 1 ], [ 1 ], [ 1 ] ] ],
structureMaxes := [ "A4", "D10", "S3" ] )
gap> AtlasRepInfoRecord( "J5" ) ;
rec( )
## doc/../gap/interfac.gd ( 1795- 1817)
gap> g:= MathieuGroup( 12 ) ;;
gap> gens:= GeneratorsOfGroup( g ) ;; # switch to 2 generators
gap> g:= Group( gens[ 1] * gens[ 3], gens[ 2] * gens[ 3] ) ;;
gap> EvaluatePresentation( g, "J0" ) ; # no pres. for group "J0"
fail
gap> relimgs:= EvaluatePresentation( g, "M11" ) ;;
gap> List( relimgs, Order ) ; # wrong group
[ 3, 1, 5, 4, 10 ]
gap> relimgs:= EvaluatePresentation( g, "M12" ) ;;
gap> List( relimgs, Order ) ; # generators are not standard
[ 3, 4, 5, 4, 4 ]
gap> g:= AtlasGroup( "M12" ) ;;
gap> relimgs:= EvaluatePresentation( g, "M12", 1 ) ;;
gap> List( relimgs, Order ) ; # right group, std. generators
[ 1, 1, 1, 1, 1 ]
gap> g:= AtlasGroup( "2.M12" ) ;;
gap> relimgs:= EvaluatePresentation( g, "M12", 1 ) ;;
gap> List( relimgs, Order ) ; # std. generators for extension
[ 1, 2, 1, 1, 2 ]
gap> Size( NormalClosure( g, SubgroupNC( g, relimgs ) ) ) ;
2
## doc/../gap/interfac.gd ( 1952- 1960)
gap> StandardGeneratorsData( MathieuGroup( 11 ), "J0" ) ;
fail
gap> StandardGeneratorsData( MathieuGroup( 11 ), "M12" ) ;
"timeout"
gap> repeat
> res:= StandardGeneratorsData( MathieuGroup( 12 ), "M11" ) ;
> until res = fail ;
## doc/../gap/interfac.gd ( 1968- 1982)
gap> gens:= GeneratorsOfGroup( MathieuGroup( 12 ) ) ;;
gap> std:= 1;;
gap> res:= StandardGeneratorsData( gens, "M12", std ) ;;
gap> Set( RecNames( res ) ) ;
[ "gapname", "givengens", "givengenstostdgens", "std", "stdgens" ]
gap> gens = res.givengens ;
true
gap> ResultOfStraightLineProgram( res.givengenstostdgens, gens )
> = res.stdgens ;
true
gap> evl:= EvaluatePresentation( res.stdgens, "M12", std ) ;;
gap> ForAll( evl, IsOne ) ;
true
## doc/../gap/interfac.gd ( 1993- 2007)
gap> g:= AtlasGroup( "2.M12", IsMatrixGroup, Characteristic, IsPosInt ) ;;
gap> gens:= Permuted( GeneratorsOfGroup( g ), ( 1, 2) ) ;;
gap> res:= StandardGeneratorsData( gens, "M12", std : projective ) ;;
gap> gens = res.givengens ;
true
gap> ResultOfStraightLineProgram( res.givengenstostdgens, gens )
> = res.stdgens ;
true
gap> evl:= EvaluatePresentation( res.stdgens, "M12", std ) ;;
gap> ForAll( evl, IsOne ) ;
false
gap> ForAll( evl, x -> IsCentral( g, x ) ) ;
true
## doc/../gap/brmindeg.g ( 29- 44)
gap> if IsBound( BrowseMinimalDegrees ) then
> down:= NCurses.keys.DOWN ;; DOWN:= NCurses.keys.NPAGE;;
> right:= NCurses.keys.RIGHT ;; END:= NCurses.keys.END;;
> enter:= NCurses.keys.ENTER ;; nop:= [ 14, 14, 14 ];;
> # just scroll in the table
> BrowseData.SetReplay( Concatenation( [ DOWN, DOWN, DOWN,
> right, right, right ], "sedddrrrddd", nop, nop, "Q" ) ) ;
> BrowseMinimalDegrees() ;;
> # restrict the table to the groups with minimal ordinary degree 6
> BrowseData.SetReplay( Concatenation( "scf6",
> [ down, down, right, enter, enter ] , nop, nop, "Q" ) ) ;
> BrowseMinimalDegrees() ;;
> BrowseData.SetReplay( false ) ;
> fi ;
## doc/../gap/brmindeg.g ( 55- 62)
gap> if IsBound( BrowseMinimalDegrees ) then
> # just scroll in the table
> BrowseData.SetReplay( Concatenation( [ DOWN, DOWN, DOWN, END ],
> "rrrrrrrrrrrrrr", nop, nop, "Q" ) ) ;
> BrowseMinimalDegrees( BibliographySporadicSimple.groupNamesJan05 ) ;;
> fi ;
## doc/../gap/brspor.g ( 163- 176)
gap> if IsBound( BrowseBibliographySporadicSimple ) then
> enter:= NCurses.keys.ENTER ;; nop:= [ 14, 14, 14 ];;
> BrowseData.SetReplay( Concatenation(
> # choose the application
> "/Bibliography of Sporadic Simple Groups", [ enter, enter ],
> # search in the title column for the Atlas of Finite Groups
> "scr/Atlas of finite groups", [ enter,
> # and quit
> nop, nop, nop, nop ], "Q" ) ) ;
> BrowseGapData() ;;
> BrowseData.SetReplay( false ) ;
> fi ;
## doc/extend.xml ( 126- 129)
gap> locallevel:= InfoLevel( InfoAtlasRep ) ;;
gap> SetInfoLevel( InfoAtlasRep, 1 ) ;
## doc/extend.xml ( 174- 191)
gap> prv:= DirectoryTemporary( "privdir" ) ;;
gap> FileString( Filename( prv, "C4G1-p4B0.m1" ),
> MeatAxeString( [ ( 1, 2, 3, 4) ], 4 ) ) ;;
gap> FileString( Filename( prv, "C4G1-max1W1" ),
> "inp 1\npwr 2 1 2\noup 1 2\n" ) ;;
gap> FileString( Filename( prv, "C4G1-XtestW1" ),
> "inp 1\npwr 2 1 2\noup 1 2\n" ) ;;
gap> FileString( Filename( prv, "C4G1-a2W1" ),
> "inp 1\npwr 3 1 2\noup 1 2\n" ) ;;
gap> FileString( Filename( prv, "C4G1-Ar1aB0.g" ),
> "return rec( generators:= [ [[E(4)]] ] );\n" );;
gap> points:= Elements( AlternatingGroup( 5 ) ) ;;
gap> FileString( Filename( prv, "A5G1-p60B0.m1" ),
> MeatAxeString( [ Permutation( ( 1, 2)( 3, 4), points, OnRight ) ], 60 ) ) ;;
gap> FileString( Filename( prv, "A5G1-p60B0.m2" ),
> MeatAxeString( [ Permutation( ( 1, 3, 5), points, OnRight ) ], 60 ) ) ;;
## doc/extend.xml ( 213- 228)
gap> FileString( Filename( prv, "toc.json" ), Concatenation( [ "{\n",
> "\"ID\ ":\"priv\ ",\n",
> "\"Data\ ":[\n",
> "[\"GNAN\ ",[\"C4\ ",\"C4\ "]],\n",
> "[\"GRS\ ",[\"C4\ ",4]],\n",
> "[\"MXN\ ",[\"C4\ ",1]],\n",
> "[\"MXO\ ",[\"C4\ ",[2]]],\n",
> "[\"MXS\ ",[\"C4\ ",[\"C2\ "]]],\n",
> "[\"RNG\ ",[\"C4G1-Ar1aB0\ ",\"CF( 4)\ ",",
> "[\"QuadraticField\ ",-1],[1,0,1]]],\n",
> "[\"API\ ",[\"C4G1-p4B0\ ",[1,4,\"imprim\ ",\"1 < C2\ "]]],\n",
> "[\"API\ ",[\"A5G1-p60B0\ ",[1,60,\"imprim\ ",\"1 < S3\ "]]]\n",
> "]\n",
> "}\n" ] ) ) ;;
## doc/extend.xml ( 236- 239)
gap> AtlasOfGroupRepresentationsNotifyData( prv, "priv", true ) ;
true
## doc/extend.xml ( 247- 328)
gap> DisplayAtlasInfo( [ "C4" ] ) ;
group | # | maxes | cl | cyc | out | fnd | chk | prs
------+---+-------+----+-----+-----+-----+-----+----
C4* | 2 | 1 | | | 2 | | |
gap> DisplayAtlasInfo( "C4" ) ;
Representations for G = C4: (all refer to std. generators 1)
---------------------------
1: G <= Sym( 4)* rank 4, on cosets of 1 < C2
2: G <= GL( 1a,CF( 4))*
Programs for G = C4: (all refer to std. generators 1)
--------------------
- automorphisms*:
2*
- maxes (all 1):
1*: C2
- other scripts*:
"test"*
gap> DisplayAtlasInfo( "C4", IsPermGroup, true ) ;
Representations for G = C4: (all refer to std. generators 1)
---------------------------
1: G <= Sym( 4)* rank 4, on cosets of 1 < C2
gap> DisplayAtlasInfo( "C4", IsMatrixGroup ) ;
Representations for G = C4: (all refer to std. generators 1)
---------------------------
2: G <= GL( 1a,CF( 4))*
gap> DisplayAtlasInfo( "C4", Dimension, 2 ) ;
gap> DisplayAtlasInfo( "A5", NrMovedPoints, 60 ) ;
Representations for G = A5: (all refer to std. generators 1)
---------------------------
4: G <= Sym( 60)* rank 60, on cosets of 1 < S3
gap> info:= OneAtlasGeneratingSetInfo( "C4" ) ;
rec( contents := "priv", groupname := "C4", id := "",
identifier := [ "C4", [ [ "priv", "C4G1-p4B0.m1" ] ], 1, 4 ],
isPrimitive := false, p := 4, rankAction := 4,
repname := "C4G1-p4B0", repnr := 1, size := 4,
stabilizer := "1 < C2", standardization := 1, transitivity := 1,
type := "perm" )
gap> AtlasGenerators( info.identifier ) ;
rec( contents := "priv", generators := [ ( 1, 2, 3, 4) ],
groupname := "C4", id := "",
identifier := [ "C4", [ [ "priv", "C4G1-p4B0.m1" ] ], 1, 4 ],
isPrimitive := false, p := 4, rankAction := 4,
repname := "C4G1-p4B0", repnr := 1, size := 4,
stabilizer := "1 < C2", standardization := 1, transitivity := 1,
type := "perm" )
gap> AtlasProgram( "C4", 1 ) ;
rec( groupname := "C4",
identifier := [ "C4", [ [ "priv", "C4G1-max1W1" ] ], 1 ],
program := <straight line program>, size := 2, standardization := 1,
subgroupname := "C2", version := "1" )
gap> AtlasProgram( "C4", "maxes", 1 ) ;
rec( groupname := "C4",
identifier := [ "C4", [ [ "priv", "C4G1-max1W1" ] ], 1 ],
program := <straight line program>, size := 2, standardization := 1,
subgroupname := "C2", version := "1" )
gap> AtlasProgram( "C4", "maxes", 2 ) ;
fail
gap> AtlasGenerators( "C4", 1 ) ;
rec( contents := "priv", generators := [ ( 1, 2, 3, 4) ],
groupname := "C4", id := "",
identifier := [ "C4", [ [ "priv", "C4G1-p4B0.m1" ] ], 1, 4 ],
isPrimitive := false, p := 4, rankAction := 4,
repname := "C4G1-p4B0", repnr := 1, size := 4,
stabilizer := "1 < C2", standardization := 1, transitivity := 1,
type := "perm" )
gap> AtlasGenerators( "C4", 2 ) ;
rec( contents := "priv", dim := 1, generators := [ [ [ E( 4) ] ] ],
groupname := "C4", id := "a",
identifier := [ "C4", [ [ "priv", "C4G1-Ar1aB0.g" ] ], 1, 1 ],
polynomial := [ 1, 0, 1 ], repname := "C4G1-Ar1aB0", repnr := 2,
ring := GaussianRationals, size := 4, standardization := 1,
type := "matalg" )
gap> AtlasGenerators( "C4", 3 ) ;
fail
gap> AtlasProgram( "C4", "other", "test" ) ;
rec( groupname := "C4",
identifier := [ "C4", [ [ "priv", "C4G1-XtestW1" ] ], 1 ],
program := <straight line program>, standardization := 1,
version := "1" )
## doc/extend.xml ( 337- 343)
gap> DisplayAtlasInfo( "contents", "priv" ) ;
group | # | maxes | cl | cyc | out | fnd | chk | prs
------+---+-------+----+-----+-----+-----+-----+----
A5* | 1 | | | | | | |
C4* | 2 | 1 | | | 2 | | |
## doc/extend.xml ( 352- 372)
gap> AGR.Test.Words( "priv" ) ;
true
gap> AGR.Test.FileHeaders( "priv" ) ;
true
gap> AGR.Test.Files( "priv" ) ;
true
gap> AGR.Test.BinaryFormat( "priv" ) ;
true
gap> AGR.Test.Primitivity( "priv" : TryToExtendData ) ;
true
gap> AGR.Test.Characters( "priv" : TryToExtendData ) ;
#I AGR.Test.Character:
#I add new info
[ "CHAR",[ "A5", "A5G1-p60B0",
0,[ 1,[ 2, 3],[ 3, 3],[ 4, 4],[ 5, 5]], "1a+3a^3b^3+4a^4+5a^5"]],
#I AGR.Test.Character:
#I add new info
[ "CHAR",[ "C4", "C4G1-p4B0", 0,[ 1, 2, 3, 4], "1abcd"]],
true
## doc/extend.xml ( 395- 409)
gap> AGR.CHAR( "A5", "A5G1-p60B0",
> 0,[ 1,[ 2, 3],[ 3, 3],[ 4, 4],[ 5, 5]], "1a+3a^3b^3+4a^4+5a^5", "priv" ) ;
gap> AGR.CHAR( "C4", "C4G1-p4B0", 0,[ 1, 2, 3, 4], "1abcd", "priv" ) ;
gap> AGR.Test.Characters( "priv" ) ;
true
gap> OneAtlasGeneratingSetInfo( "C4" ) ;
rec( charactername := "1abcd", constituents := [ 1, 2, 3, 4 ],
contents := "priv", groupname := "C4", id := "",
identifier := [ "C4", [ [ "priv", "C4G1-p4B0.m1" ] ], 1, 4 ],
isPrimitive := false, p := 4, rankAction := 4,
repname := "C4G1-p4B0", repnr := 1, size := 4,
stabilizer := "1 < C2", standardization := 1, transitivity := 1,
type := "perm" )
## doc/extend.xml ( 417- 442)
gap> Print( StringOfAtlasTableOfContents( "priv" ) ) ;
{
"ID": "priv",
"Data":[
[ "GNAN",[ "C4", "C4"]],
[ "GRS",[ "C4", 4]],
[ "MXN",[ "C4", 1]],
[ "MXO",[ "C4",[ 2]]],
[ "MXS",[ "C4",[ "C2"]]],
[ "RNG",[ "C4G1-Ar1aB0", "CF(4)",[ "QuadraticField",- 1],[ 1, 0, 1]]],
[ "API",[ "A5G1-p60B0",[ 1, 60, "imprim", "1 < S3"]]],
[ "API",[ "C4G1-p4B0",[ 1, 4, "imprim", "1 < C2"]]],
[ "CHAR",[ "A5", "A5G1-p60B0", 0,[ 1,[ 2, 3],[ 3, 3],[ 4, 4],[ 5, 5]], "1a+3a^3b^3+4\
a^ 4+ 5a^ 5"]],
[ "CHAR",[ "C4", "C4G1-p4B0", 0,[ 1, 2, 3, 4], "1abcd"]]
]
}
## doc/extend.xml ( 452- 486)
gap> Print( StringOfAtlasTableOfContents(
> rec( ID:= "priv", DataURL:= "http://someurl" ) ) ) ;
{
"ID": "priv",
"DataURL": "http://someurl",
"Data":[
[ "GNAN",[ "C4", "C4"]],
[ "GRS",[ "C4", 4]],
[ "MXN",[ "C4", 1]],
[ "MXO",[ "C4",[ 2]]],
[ "MXS",[ "C4",[ "C2"]]],
[ "TOC",[ "perm", "A5G1-p60B0.m",[ 118815263, 24584221]]],
[ "TOC",[ "matalg", "C4G1-Ar1aB0.g",[ 49815028]]],
[ "TOC",[ "otherscripts", "C4G1-XtestW1",[- 27672877]]],
[ "TOC",[ "out", "C4G1-a2W1",[ 126435524]]],
[ "TOC",[ "maxes", "C4G1-max1W1",[- 27672877]]],
[ "TOC",[ "perm", "C4G1-p4B0.m",[ 102601978]]],
[ "RNG",[ "C4G1-Ar1aB0", "CF(4)",[ "QuadraticField",- 1],[ 1, 0, 1]]],
[ "API",[ "A5G1-p60B0",[ 1, 60, "imprim", "1 < S3"]]],
[ "API",[ "C4G1-p4B0",[ 1, 4, "imprim", "1 < C2"]]],
[ "CHAR",[ "A5", "A5G1-p60B0", 0,[ 1,[ 2, 3],[ 3, 3],[ 4, 4],[ 5, 5]], "1a+3a^3b^3+4\
a^ 4+ 5a^ 5"]],
[ "CHAR",[ "C4", "C4G1-p4B0", 0,[ 1, 2, 3, 4], "1abcd"]]
]
}
## doc/extend.xml ( 497- 500)
gap> AtlasOfGroupRepresentationsForgetData( "priv" ) ;
gap> SetInfoLevel( InfoAtlasRep, locallevel ) ;
## doc/../gap/bbox.gd ( 551- 558)
gap> dec:= StraightLineDecision( [ [ [ 1, 1, 2, 1 ], 3 ],
> [ "Order", 1, 2 ], [ "Order", 2, 3 ], [ "Order", 3, 5 ] ] ) ;
<straight line decision>
gap> LinesOfStraightLineDecision( dec ) ;
[ [ [ 1, 1, 2, 1 ], 3 ], [ "Order", 1, 2 ], [ "Order", 2, 3 ],
[ "Order", 3, 5 ] ]
## doc/../gap/bbox.gd ( 581- 584)
gap> NrInputsOfStraightLineDecision( dec ) ;
2
## doc/../gap/scanmtx.gd ( 670- 685)
gap> str:= "inp 2\nchor 1 2\nchor 2 3\nmu 1 2 3\nchor 3 5";;
gap> prg:= ScanStraightLineDecision( str ) ;
rec( program := <straight line decision> )
gap> prg:= prg.program ;;
gap> Display( prg ) ;
# input:
r:= [ g1, g2 ] ;
# program:
if Order( r[ 1] ) <> 2 then return false ; fi;
if Order( r[ 2] ) <> 3 then return false ; fi;
r[ 3]:= r[ 1]*r[ 2] ;
if Order( r[ 3] ) <> 5 then return false ; fi;
# return value:
true
## doc/../gap/bbox.gd ( 648- 653)
gap> dec:= StraightLineDecision( [ ], 1 ) ;
<straight line decision>
gap> ResultOfStraightLineDecision( dec, [ () ] ) ;
true
## doc/../gap/bbox.gd ( 658- 669)
gap> dec:= StraightLineDecision( [ [ [ 1, 1, 2, 1 ], 3 ],
> [ "Order", 1, 2 ], [ "Order", 2, 3 ], [ "Order", 3, 5 ] ] ) ;
<straight line decision>
gap> LinesOfStraightLineDecision( dec ) ;
[ [ [ 1, 1, 2, 1 ], 3 ], [ "Order", 1, 2 ], [ "Order", 2, 3 ],
[ "Order", 3, 5 ] ]
gap> ResultOfStraightLineDecision( dec, [ (), () ] ) ;
false
gap> ResultOfStraightLineDecision( dec, [ ( 1, 2)( 3, 4), ( 1, 4, 5) ] ) ;
true
## doc/../gap/bbox.gd ( 762- 790)
gap> check:= AtlasProgram( "L2(8)", "check" ) ;
rec( groupname := "L2(8)",
identifier := [ "L2(8)", "L28G1-check1", 1, 1 ],
program := <straight line decision>, standardization := 1,
version := "1" )
gap> gens:= AtlasGenerators( "L2(8)", 1 ) ;
rec( charactername := "1a+8a", constituents := [ 1, 6 ],
contents := "core",
generators := [ ( 1, 2)( 3, 4)( 6, 7)( 8, 9), ( 1, 3, 2)( 4, 5, 6)( 7, 8, 9) ],
groupname := "L2(8)", id := "",
identifier := [ "L2(8)", [ "L28G1-p9B0.m1", "L28G1-p9B0.m2" ], 1, 9
], isPrimitive := true, maxnr := 1, p := 9, rankAction := 2,
repname := "L28G1-p9B0", repnr := 1, size := 504,
stabilizer := "2^3:7", standardization := 1, transitivity := 3,
type := "perm" )
gap> ResultOfStraightLineDecision( check.program, gens.generators ) ;
true
gap> gens:= AtlasGenerators( "L3(2)", 1 ) ;
rec( contents := "core", generators := [ ( 2, 4)( 3, 5), ( 1, 2, 3)( 5, 6, 7) ],
groupname := "L3(2)", id := "a",
identifier := [ "L3(2)", [ "L27G1-p7aB0.m1", "L27G1-p7aB0.m2" ], 1,
7 ], isPrimitive := true, maxnr := 1, p := 7, rankAction := 2,
repname := "L27G1-p7aB0", repnr := 1, size := 168,
stabilizer := "S4", standardization := 1, transitivity := 2,
type := "perm" )
gap> ResultOfStraightLineDecision( check.program, gens.generators ) ;
true
## doc/../gap/bbox.gd ( 978- 990)
gap> lines:= [ [ "Order", 1, 2 ], [ "Order", 2, 3 ],
> [ [ 1, 1, 2, 1 ], 3 ], [ "Order", 3, 5 ] ] ;;
gap> dec:= StraightLineDecision( lines, 2 ) ;
<straight line decision>
gap> bboxdec:= AsBBoxProgram( dec ) ;
<black box program>
gap> asdec:= AsStraightLineDecision( bboxdec ) ;
<straight line decision>
gap> LinesOfStraightLineDecision( asdec ) ;
[ [ "Order", 1, 2 ], [ "Order", 2, 3 ], [ [ 1, 1, 2, 1 ], 3 ],
[ "Order", 3, 5 ] ]
## doc/../gap/bbox.gd ( 828- 850)
gap> dec:= StraightLineDecision( [ [ [ 1, 1, 2, 1 ], 3 ],
> [ "Order", 1, 2 ], [ "Order", 2, 3 ], [ "Order", 3, 5 ] ] ) ;
<straight line decision>
gap> prog:= StraightLineProgramFromStraightLineDecision( dec ) ;
<straight line program>
gap> Display( prog ) ;
# input:
r:= [ g1, g2 ] ;
# program:
r[ 3]:= r[ 1]*r[ 2] ;
r[ 4]:= r[ 1]^ 2;
r[ 5]:= r[ 2]^ 3;
r[ 6]:= r[ 3]^ 5;
# return values:
[ r[ 4], r[ 5], r[ 6] ]
gap> StringOfResultOfStraightLineProgram( prog, [ "a", "b" ] ) ;
"[ a^2, b^3, (ab)^5 ]"
gap> gens:= GeneratorsOfGroup( FreeGroup( "a", "b" ) ) ;
[ a, b ]
gap> ResultOfStraightLineProgram( prog, gens ) ;
[ a^ 2, b^ 3, (a*b)^ 5 ]
## doc/../gap/bbox.gd ( 188- 219)
gap> findstr:= "\
> set V 0\n\
> lbl START1\n\
> rand 1\n\
> ord 1 A\n\
> incr V\n\
> if V gt 100 then timeout\n\
> if A notin 1 2 3 5 then fail\n\
> if A noteq 2 then jmp START1\n\
> lbl START2\n\
> rand 2\n\
> ord 2 B\n\
> incr V\n\
> if V gt 100 then timeout\n\
> if B notin 1 2 3 5 then fail\n\
> if B noteq 3 then jmp START2\n\
> # The elements 1 and 2 have the orders 2 and 3, respectively.\n\
> set X 0\n\
> lbl CONJ\n\
> incr X\n\
> if X gt 100 then timeout\n\
> rand 3\n\
> cjr 2 3\n\
> mu 1 2 4 # ab\n\
> ord 4 C\n\
> if C notin 2 3 5 then fail\n\
> if C noteq 5 then jmp CONJ\n\
> oup 2 1 2";;
gap> find:= ScanBBoxProgram( findstr ) ;
rec( program := <black box program> )
## doc/../gap/bbox.gd ( 224- 232)
gap> checkstr:= "\
> chor 1 2\n\
> chor 2 3\n\
> mu 1 2 3\n\
> chor 3 5";;
gap> check:= ScanBBoxProgram( checkstr ) ;
rec( program := <black box program> )
## doc/../gap/bbox.gd ( 328- 348)
gap> g:= AlternatingGroup( 5 ) ;;
gap> res:= RunBBoxProgram( find.program, g, [], rec() ) ;;
gap> IsBound( res.gens ) ; IsBound( res.result );
true
false
gap> List( res.gens, Order ) ;
[ 2, 3 ]
gap> Order( Product( res.gens ) ) ;
5
gap> res:= RunBBoxProgram( check.program, "dummy", res.gens, rec() ) ;;
gap> IsBound( res.gens ) ; IsBound( res.result );
false
true
gap> res.result ;
true
gap> othergens:= GeneratorsOfGroup( g ) ;;
gap> res:= RunBBoxProgram( check.program, "dummy", othergens, rec() ) ;;
gap> res.result ;
false
## doc/../gap/bbox.gd ( 386- 398)
gap> g:= AlternatingGroup( 5 ) ;;
gap> res:= ResultOfBBoxProgram( find.program, g ) ;;
gap> List( res, Order ) ;
[ 2, 3 ]
gap> Order( Product( res ) ) ;
5
gap> res:= ResultOfBBoxProgram( check.program, res ) ;
true
gap> othergens:= GeneratorsOfGroup( g ) ;;
gap> res:= ResultOfBBoxProgram( check.program, othergens ) ;
false
## doc/../gap/bbox.gd ( 884- 908)
gap> f:= FreeGroup( "x", "y" ) ;; gens:= GeneratorsOfGroup( f );;
gap> slp:= StraightLineProgram( [ [ 1, 2, 2, 3], [ 3,- 1] ], 2 ) ;
<straight line program>
gap> ResultOfStraightLineProgram( slp, gens ) ;
y^- 3*x^- 2
gap> bboxslp:= AsBBoxProgram( slp ) ;
<black box program>
gap> ResultOfBBoxProgram( bboxslp, gens ) ;
[ y^- 3*x^- 2 ]
gap> lines:= [ [ "Order", 1, 2 ], [ "Order", 2, 3 ],
> [ [ 1, 1, 2, 1 ], 3 ], [ "Order", 3, 5 ] ] ;;
gap> dec:= StraightLineDecision( lines, 2 ) ;
<straight line decision>
gap> ResultOfStraightLineDecision( dec, [ ( 1, 2)( 3, 4), ( 1, 3, 5) ] ) ;
true
gap> ResultOfStraightLineDecision( dec, [ ( 1, 2)( 3, 4), ( 1, 3, 4) ] ) ;
false
gap> bboxdec:= AsBBoxProgram( dec ) ;
<black box program>
gap> ResultOfBBoxProgram( bboxdec, [ ( 1, 2)( 3, 4), ( 1, 3, 5) ] ) ;
true
gap> ResultOfBBoxProgram( bboxdec, [ ( 1, 2)( 3, 4), ( 1, 3, 4) ] ) ;
false
## doc/../gap/bbox.gd ( 937- 950)
gap> Display( AsStraightLineProgram( bboxslp ) ) ;
# input:
r:= [ g1, g2 ] ;
# program:
r[ 3]:= r[ 1]^ 2;
r[ 4]:= r[ 2]^ 3;
r[ 5]:= r[ 3]*r[ 4] ;
r[ 3]:= r[ 5]^- 1;
# return values:
[ r[ 3] ]
gap> AsStraightLineProgram( bboxdec ) ;
fail
## doc/../gap/mindeg.gd ( 192- 203)
gap> MinimalRepresentationInfo( "A5", NrMovedPoints ) ;
rec(
source := [ "computed (alternating group)",
"computed (char. table)", "computed (subgroup tables)",
"computed (subgroup tables, known repres.)",
"computed (table of marks)" ], value := 5 )
gap> MinimalRepresentationInfo( "A5", Characteristic, 2 ) ;
rec( source := [ "computed (char. table)" ], value := 2 )
gap> MinimalRepresentationInfo( "A5", Size, 2 ) ;
rec( source := [ "computed (char. table)" ], value := 4 )
## doc/../gap/mindeg.gd ( 336- 355)
gap> SetMinimalRepresentationInfo( "A5", "NrMovedPoints", 5,
> "computed (alternating group)" ) ;
true
gap> SetMinimalRepresentationInfo( "A5", [ "Characteristic", 0 ], 3,
> "computed (char. table)" ) ;
true
gap> SetMinimalRepresentationInfo( "A5", [ "Characteristic", 2 ], 2,
> "computed (char. table)" ) ;
true
gap> SetMinimalRepresentationInfo( "A5", [ "Size", 2 ], 4,
> "computed (char. table)" ) ;
true
gap> SetMinimalRepresentationInfo( "A5", [ "Size", 4 ], 2,
> "computed (char. table)" ) ;
true
gap> SetMinimalRepresentationInfo( "A5", [ "Characteristic", 3 ], 3,
> "computed (char. table)" ) ;
true
## doc/../gap/json.g ( 128- 137)
gap> l:= [ [ 1 ] ] ;; l[2]:= l[1];; l;
[ [ 1 ], [ 1 ] ]
gap> new:= AGR.GapObjectOfJsonText( AGR.JsonText( l ) ).value ;
[ [ 1 ], [ 1 ] ]
gap> Add( l[ 1], 2 ) ; l;
[ [ 1, 2 ], [ 1, 2 ] ]
gap> Add( new[ 1], 2 ) ; new;
[ [ 1, 2 ], [ 1 ] ]
## doc/../gap/json.g ( 142- 144)
gap> l:= [] ;; l[1]:= l;;
## doc/../gap/json.g ( 298- 314)
gap> AGR.JsonText( [] ) ;
"[]"
gap> AGR.JsonText( "" ) ;
"\"\ ""
gap> AGR.JsonText( "abc\ndef\cghi" ) ;
"\"abc\\ndef\\u0003ghi\ ""
gap> AGR.JsonText( rec() ) ;
"{}"
gap> AGR.JsonText( [ , 2 ] ) ;
fail
gap> str:= [ '\303', '\266' ] ;; # umlaut o
gap> json:= AGR.JsonText( str ) ;; List( json, IntChar );
[ 34, 195, 182, 34 ]
gap> AGR.JsonText( str, "ASCII" ) ;
"\"\\u00F6\ ""
## doc/../gap/json.g ( 422- 427)
gap> AGR.GapObjectOfJsonText( "{ \"a\ ": 1 }" ) ;
rec( status := true, value := rec( a := 1 ) )
gap> AGR.GapObjectOfJsonText( "{ \"a\ ": x }" ) ;
rec( errpos := 8, status := false )
## doc/../gap/scanmtx.gd ( 332- 351)
gap> mat:= [ [ 1, - 1 ], [ 0, 1 ] ] * Z( 3)^ 0;;
gap> str:= MeatAxeString( mat, 3 ) ;
"1 3 2 2\n12\n01\n"
gap> mat = ScanMeatAxeFile( str, "string" ) ;
true
gap> str:= MeatAxeString( mat, 9 ) ;
"1 9 2 2\n12\n01\n"
gap> mat = ScanMeatAxeFile( str, "string" ) ;
true
gap> perms:= [ ( 1, 2, 3)( 5, 6) ] ;;
gap> str:= MeatAxeString( perms, 6 ) ;
"12 1 6 1\n2\n3\n1\n4\n6\n5\n"
gap> perms = ScanMeatAxeFile( str, "string" ) ;
true
gap> str:= MeatAxeString( perms, 8 ) ;
"12 1 8 1\n2\n3\n1\n4\n6\n5\n7\n8\n"
gap> perms = ScanMeatAxeFile( str, "string" ) ;
true
## doc/../gap/scanmtx.gd ( 357- 375)
gap> perm:= ( 1, 2, 4) ;;
gap> str:= MeatAxeString( perm, 3, [ 5, 6 ] ) ;
"2 3 5 6\n2\n4\n3\n1\n5\n"
gap> mat:= ScanMeatAxeFile( str, "string" ) ;; Print( mat, "\n" );
[ [ 0*Z( 3), Z( 3)^ 0, 0*Z( 3), 0*Z( 3), 0*Z( 3), 0*Z( 3) ],
[ 0*Z( 3), 0*Z( 3), 0*Z( 3), Z( 3)^ 0, 0*Z( 3), 0*Z( 3) ],
[ 0*Z( 3), 0*Z( 3), Z( 3)^ 0, 0*Z( 3), 0*Z( 3), 0*Z( 3) ],
[ Z( 3)^ 0, 0*Z( 3), 0*Z( 3), 0*Z( 3), 0*Z( 3), 0*Z( 3) ],
[ 0*Z( 3), 0*Z( 3), 0*Z( 3), 0*Z( 3), Z( 3)^ 0, 0*Z( 3) ] ]
gap> pref:= UserPreference( "AtlasRep", "WriteMeatAxeFilesOfMode2" ) ;;
gap> SetUserPreference( "AtlasRep", "WriteMeatAxeFilesOfMode2", true ) ;
gap> MeatAxeString( mat, 3 ) = str ;
true
gap> SetUserPreference( "AtlasRep", "WriteMeatAxeFilesOfMode2", false ) ;
gap> MeatAxeString( mat, 3 ) ;
"1 3 5 6\n010000\n000100\n001000\n100000\n000010\n"
gap> SetUserPreference( "AtlasRep", "WriteMeatAxeFilesOfMode2", pref ) ;
## doc/../gap/scanmtx.gd ( 113- 118)
gap> FFList( GF( 4) ) ;
[ 0*Z( 2), Z( 2)^ 0, Z( 2^ 2), Z( 2^ 2)^ 2 ]
gap> IsBound( FFLists[ 4] ) ;
true
## doc/../gap/scanmtx.gd ( 424- 438)
gap> tmpdir:= DirectoryTemporary() ;;
gap> mat:= Filename( tmpdir, "mat" ) ;;
gap> q:= 4;;
gap> mats:= GeneratorsOfGroup( GL( 10,q) ) ;;
gap> CMtxBinaryFFMatOrPerm( mats[ 1], q, Concatenation( mat, "1" ) ) ;
gap> CMtxBinaryFFMatOrPerm( mats[ 2], q, Concatenation( mat, "2" ) ) ;
gap> prm:= Filename( tmpdir, "prm" ) ;;
gap> n:= 200;;
gap> perms:= GeneratorsOfGroup( SymmetricGroup( n ) ) ;;
gap> CMtxBinaryFFMatOrPerm( perms[ 1], n, Concatenation( prm, "1" ) ) ;
gap> CMtxBinaryFFMatOrPerm( perms[ 2], n, Concatenation( prm, "2" ) ) ;
gap> CMtxBinaryFFMatOrPerm( perms[ 1], n, Concatenation( prm, "1a" ), 0 ) ;
gap> CMtxBinaryFFMatOrPerm( perms[ 2], n, Concatenation( prm, "2b" ), 1 ) ;
## doc/../gap/scanmtx.gd ( 465- 478)
gap> FFMatOrPermCMtxBinary( Concatenation( mat, "1" ) ) = mats[ 1] ;
true
gap> FFMatOrPermCMtxBinary( Concatenation( mat, "2" ) ) = mats[ 2] ;
true
gap> FFMatOrPermCMtxBinary( Concatenation( prm, "1" ) ) = perms[ 1] ;
true
gap> FFMatOrPermCMtxBinary( Concatenation( prm, "2" ) ) = perms[ 2] ;
true
gap> FFMatOrPermCMtxBinary( Concatenation( prm, "1a" ) ) = perms[ 1] ;
true
gap> FFMatOrPermCMtxBinary( Concatenation( prm, "2b" ) ) = perms[ 2] ;
true
## doc/../gap/scanmtx.gd ( 733- 782)
gap> str:= "inp 2\nmu 1 2 3\nmu 3 1 2\niv 2 1\noup 2 1 2";;
gap> prg:= ScanStraightLineProgram( str, "string" ) ;
rec( program := <straight line program> )
gap> prg:= prg.program ;;
gap> Display( prg ) ;
# input:
r:= [ g1, g2 ] ;
# program:
r[ 3]:= r[ 1]*r[ 2] ;
r[ 2]:= r[ 3]*r[ 1] ;
r[ 1]:= r[ 2]^- 1;
# return values:
[ r[ 1], r[ 2] ]
gap> StringOfResultOfStraightLineProgram( prg, [ "a", "b" ] ) ;
"[ (aba)^-1, aba ]"
gap> AtlasStringOfProgram( prg ) ;
"inp 2\nmu 1 2 3\nmu 3 1 2\niv 2 1\noup 2\n"
gap> prg:= StraightLineProgram( "(a^2b^3)^-1", [ "a", "b" ] ) ;
<straight line program>
gap> Print( AtlasStringOfProgram( prg ) ) ;
inp 2
pwr 2 1 4
pwr 3 2 5
mu 4 5 3
iv 3 4
oup 1 4
gap> prg:= StraightLineProgram( [ [ 2, 3], [ [ 3, 1, 1, 4], [ 1, 2, 3, 1] ] ], 2 ) ;
<straight line program>
gap> Print( AtlasStringOfProgram( prg ) ) ;
inp 2
pwr 3 2 3
pwr 4 1 5
mu 3 5 4
pwr 2 1 6
mu 6 3 5
oup 2 4 5
gap> Print( AtlasStringOfProgram( prg, "mtx" ) ) ;
# inputs are expected in 1 2
zsm pwr3 2 3
zsm pwr4 1 5
zmu 3 5 4
zsm pwr2 1 6
zmu 6 3 5
echo "outputs are in 4 5"
gap> str:= "inp 2\nchor 1 2\nchor 2 3\nmu 1 2 3\nchor 3 5";;
gap> prg:= ScanStraightLineDecision( str ) ;;
gap> AtlasStringOfProgram( prg.program ) ;
"inp 2\nchor 1 2\nchor 2 3\nmu 1 2 3\nchor 3 5\n"
## doc/../gap/access.gd ( 148- 159)
gap> format:= [ [ [ IsChar, "G", IsDigitChar ],
> [ "p", IsDigitChar, AGR.IsLowerAlphaOrDigitChar,
> "B", IsDigitChar, ".m", IsDigitChar ] ],
> [ ParseBackwards, ParseForwards ] ] ;;
gap> AGR.ParseFilenameFormat( "A6G1-p10B0.m1", format ) ;
[ "A6", "G", 1, "p", 10, "", "B", 0, ".m", 1 ]
gap> AGR.ParseFilenameFormat( "A6G1-p15aB0.m1", format ) ;
[ "A6", "G", 1, "p", 15, "a", "B", 0, ".m", 1 ]
gap> AGR.ParseFilenameFormat( "A6G1-f2r16B0.m1", format ) ;
fail
## doc/../gap/utils.gd ( 391- 426)
gap> id:= [ "A5", [ "A5G1-p5B0.m1", "A5G1-p5B0.m2" ], 1, 5 ] ;;
gap> AtlasRepIdentifier( id ) = id ;
true
gap> id:= [ "L2(8)", "L28G1-check1", 1, 1 ] ;;
gap> AtlasRepIdentifier( id ) = id ;
true
gap> oldid:= [ [ "priv", "C4" ], [ "C4G1-p4B0.m1" ], 1, 4 ] ;;
gap> newid:= AtlasRepIdentifier( oldid ) ;
[ "C4", [ [ "priv", "C4G1-p4B0.m1" ] ], 1, 4 ]
gap> oldid = AtlasRepIdentifier( newid, "old" ) ;
true
gap> oldid:= [ [ "priv", "C4" ], "C4G1-max1W1", 1 ] ;;
gap> newid:= AtlasRepIdentifier( oldid ) ;
[ "C4", [ [ "priv", "C4G1-max1W1" ] ], 1 ]
gap> oldid = AtlasRepIdentifier( newid, "old" ) ;
true
gap> oldid:= [ [ "priv", "C4" ], "C4G1-Ar1aB0.g", 1, 1 ] ;;
gap> newid:= AtlasRepIdentifier( oldid ) ;
[ "C4", [ [ "priv", "C4G1-Ar1aB0.g" ] ], 1, 1 ]
gap> oldid = AtlasRepIdentifier( newid, "old" ) ;
true
gap> oldid:= [ [ "priv", "C4" ], "C4G1-XtestW1", 1 ] ;;
gap> newid:= AtlasRepIdentifier( oldid ) ;
[ "C4", [ [ "priv", "C4G1-XtestW1" ] ], 1 ]
gap> oldid = AtlasRepIdentifier( newid, "old" ) ;
true
gap> oldid:= [ [ "mfer", "2.M12" ],
> [ "2M12G1-p264aB0.m1", "2M12G1-p264aB0.m2" ], 1, 264 ] ;;
gap> newid:= AtlasRepIdentifier( oldid ) ;
[ "2.M12",
[ [ "mfer", "2M12G1-p264aB0.m1" ], [ "mfer", "2M12G1-p264aB0.m2" ] ]
, 1, 264 ]
gap> oldid = AtlasRepIdentifier( newid, "old" ) ;
true
## doc/technica.xml ( 284- 287)
gap> SetUserPreference( "AtlasRep", "DisplayFunction", origpref ) ;
gap> SetInfoLevel( InfoAtlasRep, globallevel ) ;
##
gap> if IsBound( BrowseData ) then
> data:= BrowseData.defaults.dynamic.replayDefaults ;
> data.replayInterval:= oldinterval ;
> fi ;
##
gap> STOP_TEST( "docxpl.tst" ) ;
gap> SizeScreen( save ) ;;
#############################################################################
##
#E
[Dauer der Verarbeitung: 0.21 Sekunden, vorverarbeitet 2026-10-25]
|
2026-11-04
|