Additionally it provides an alternative representation of (virtual) characters.
The MOC 3 code of a 5 digit number in MOC 2 code is given by the following list. (Note that the code must contain only lower case letters.)
ABCD for 0ABCD a for 10000 b for 10001 k for 20001 c for 10002 l for 20002 d for 10003 m for 20003 e for 10004 n for 20004 f for 10005 o for 20005 g for 10006 p for 20006 h for 10007 q for 20007 i for 10008 r for 20008 j for 10009 s for 20009 tAB for 100AB uAB for 200AB vABCD for 1ABCD wABCD for 2ABCD yABC for 30ABC z for 31000
Note that any long number in MOC 2 format is divided into packages of length 4, the beginning (!) filled with leading zeros if necessary. Such a number with decimals d1, d2, ¼, d4n+k is the sequence
|
MAKElb11( listofns ) F
MAKElb11 prints field information for all number fields with conductor
n where the positive integer n is in the list listofns.
The output of MAKElb11 is used by the MOC system.
MAKElb11( [ 3 .. 189 ] ) will print something very similar to
Richard Parker's file lb11.
gap> MAKElb11( [ 3, 4 ] ); 3 2 0 1 0 4 2 0 1 0
MOCTable( gaptbl ) F
MOCTable( gaptbl, basicset ) F
MOCTable returns the MOC table record of the GAP character table
gaptbl.
The first form can be used only if gaptbl is an ordinary ( G\.0) table.
For Brauer ( G\.p) tables one has to specify a basic set basicset of
ordinary irreducibles.
basicset must be a list of positions of the basic set characters in the
Irr list of the ordinary table of gaptbl.
The result is a record that contains the information of gaptbl
in a format similar to the MOC 3 format.
This record can e.g. easily be printed out or be used to print out
characters using MOCString (see MOCString).
The components of the result are
identifier MOCTable(name) where name is the Identifier
value of gaptbl,
GAPtbl
prime 30105 in MOC),
centralizers 30130)
orders 30140)
fieldbases fieldbases is equal to the value of label 30110
in MOC.
cycsubgps cycsubgps[i] = j means that class i of the GAP table
belongs to the j-th cyclic subgroup of the GAP table,
repcycsub repcycsub[j] = i means that class i of the GAP table
is the representative of the j-th cyclic subgroup of the
GAP table.
Note that the representatives of GAP table and MOC table
need not agree!
galconjinfo 30160)
30170 30230 power map/embedding
information.)
In 30170 only a list of lists (one for each cyclic subgroup)
of all these values is stored, it will not be used by GAP.
tensinfo 30210 in MOC).
For a field with vector space basis (v1,v2,¼,vn)
the tensor product information of a cyclic subgroup in MOC
(as computed by fct) is either 1 (for rational classes)
or a sequence
|
|
|
tensinfo component is
a list of lists, each containing exactly the sequence mentioned
above.
invmap 30220 in MOC.
powerinfo [ 2 .. 19 ];
note that the necessary power maps must be stored on gaptbl
to compute this component.
(label 30230 in MOC)
30900 MOCString( moctbl ) F
MOCString( moctbl, chars ) F
Let moctbl be a MOC table record as returned by MOCTable
(see MOCTable).
MOCString returns a string describing the MOC 3 format of moctbl.
If the second argument chars is specified, it must be a list of MOC
format characters as returned by MOCChars (see MOCChars).
In this case, these characters are stored under label 30900.
If the second argument is missing then the basic set of ordinary
irreducibles is stored under this label.
gap> moca5:= MOCTable( CharacterTable( "A5" ) );
rec( identifier := "MOCTable(A5)", prime := 0, fields := [ ],
GAPtbl := CharacterTable( "A5" ), cycsubgps := [ 1, 2, 3, 4, 4 ],
repcycsub := [ 1, 2, 3, 4 ], galconjinfo := [ 1, 1, 2, 1, 3, 1, 4, 1, 4, 2 ]
, centralizers := [ 60, 4, 3, 5 ], orders := [ 1, 2, 3, 5 ],
fieldbases := [ CanonicalBasis( Rationals ), CanonicalBasis( Rationals ),
CanonicalBasis( Rationals ),
Basis( NF(5,[ 1, 4 ]), [ 1, E(5)+E(5)^4 ] ) ],
30170 := [ [ ], [ 2, 2, 1, 1 ], [ 3, 3, 1, 1 ], [ 4, 5, 1, 1 ] ],
tensinfo :=
[ [ 1 ], [ 1 ], [ 1 ], [ 2, 1, 1, 1, 1, 2, 2, 0, 1, 1, 2, 1, 2, 1, -1, 2,
2, 0 ] ],
invmap := [ [ 1, 1, 0 ], [ 1, 2, 0 ], [ 1, 3, 0 ], [ 1, 4, 0, 1, 5, 0 ] ],
powerinfo :=
[ , [ [ 1, 1, 0 ], [ 1, 1, 0 ], [ 1, 3, 0 ], [ 1, 4, -1, 5, 0, -1, 5, 0 ]
],
[ [ 1, 1, 0 ], [ 1, 2, 0 ], [ 1, 1, 0 ], [ 1, 4, -1, 5, 0, -1, 5, 0 ] ],
, [ [ 1, 1, 0 ], [ 1, 2, 0 ], [ 1, 3, 0 ], [ 1, 1, 0, 0 ] ],,
[ [ 1, 1, 0 ], [ 1, 2, 0 ], [ 1, 3, 0 ], [ 1, 4, -1, 5, 0, -1, 5, 0 ] ],
,,, [ [ 1, 1, 0 ], [ 1, 2, 0 ], [ 1, 3, 0 ], [ 1, 4, 0, 1, 5, 0 ] ],,
[ [ 1, 1, 0 ], [ 1, 2, 0 ], [ 1, 3, 0 ], [ 1, 4, -1, 5, 0, -1, 5, 0 ] ],
,,,
[ [ 1, 1, 0 ], [ 1, 2, 0 ], [ 1, 3, 0 ], [ 1, 4, -1, 5, 0, -1, 5, 0 ] ],
, [ [ 1, 1, 0 ], [ 1, 2, 0 ], [ 1, 3, 0 ], [ 1, 4, 0, 1, 5, 0 ] ] ],
30900 := [ [ 1, 1, 1, 1, 0 ], [ 3, -1, 0, 0, -1 ], [ 3, -1, 0, 1, 1 ],
[ 4, 0, 1, -1, 0 ], [ 5, 1, -1, 0, 0 ] ] )
gap> str:= MOCString( moca5 );;
gap> str{[1..70]};
"y100y105ay110fey130t60edfy140bcdfy150bbbfcabbey160bbcbdbebecy170ccbbdd"
gap> moca5mod3:= MOCTable( CharacterTable( "A5" ) mod 3, [ 1 .. 4 ] );;
gap> MOCString( moca5mod3 ){ [ 1 .. 70 ] };
"y100y105dy110edy130t60efy140bcfy150bbfcabbey160bbcbdbdcy170ccbbdfbby21"
ScanMOC( list ) F
returns a record containing the information encoded in the list list.
The components of the result are the labels that occur in list.
If list is in MOC 2 format (10000-format),
the names of components are 30000-numbers;
if it is in MOC 3 format the names of components have yABC-format.
GAPChars( tbl, mocchars ) F
Let tbl be a character table or a MOC table record,
and mocchars either a list of MOC format characters
(as returned by MOCChars (see MOCChars)
or a list of positive integers such as a record component encoding
characters, in a record produced by ScanMOC (see ScanMOC).
GAPChars returns translations of mocchars to GAP character values
lists.
MOCChars( tbl, gapchars ) F
Let tbl be a character table or a MOC table record,
and gapchars a list of (GAP format) characters.
MOCChars returns translations of gapchars to MOC format.
gap> scan:= ScanMOC( str );
rec( y105 := [ 0 ], y110 := [ 5, 4 ], y130 := [ 60, 4, 3, 5 ],
y140 := [ 1, 2, 3, 5 ], y150 := [ 1, 1, 1, 5, 2, 0, 1, 1, 4 ],
y160 := [ 1, 1, 2, 1, 3, 1, 4, 1, 4, 2 ],
y170 := [ 2, 2, 1, 1, 3, 3, 1, 1, 4, 5, 1, 1 ],
y210 := [ 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 0, 1, 1, 2, 1, 2, 1, -1, 2, 2, 0 ],
y220 := [ 1, 1, 0, 1, 2, 0, 1, 3, 0, 1, 4, 0, 1, 5, 0 ],
y230 := [ 2, 1, 1, 0, 1, 1, 0, 1, 3, 0, 1, 4, -1, 5, 0, -1, 5, 0 ],
y050 := [ 19, 1, 1, 0, 1, 2, 0, 1, 3, 0, 1, 4, 0, 1, 5, 0 ],
y900 := [ 1, 1, 1, 1, 0, 3, -1, 0, 0, -1, 3, -1, 0, 1, 1, 4, 0, 1, -1, 0,
5, 1, -1, 0, 0 ] )
gap> gapchars:= GAPChars( moca5, scan.y900 );
[ [ 1, 1, 1, 1, 1 ], [ 3, -1, 0, -E(5)-E(5)^4, -E(5)^2-E(5)^3 ],
[ 3, -1, 0, -E(5)^2-E(5)^3, -E(5)-E(5)^4 ], [ 4, 0, 1, -1, -1 ],
[ 5, 1, -1, 0, 0 ] ]
gap> mocchars:= MOCChars( moca5, gapchars );
[ [ 1, 1, 1, 1, 0 ], [ 3, -1, 0, 0, -1 ], [ 3, -1, 0, 1, 1 ],
[ 4, 0, 1, -1, 0 ], [ 5, 1, -1, 0, 0 ] ]
gap> Concatenation( mocchars ) = scan.y900;
true
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual