/usr/share/gap/lib/ringsc.gd is in gap-libs 4r8p6-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | #############################################################################
##
#W ringsc.gd GAP library Alexander Hulpke
##
##
#Y Copyright (C) 2008 The GAP Group
##
## This file contains declarations for elements of rings, given as Z-modules
## with structure constants for multiplication. Is is based on algsc.gd
##
#############################################################################
##
#C IsSCRingObj( <obj> )
#C IsSCRingObjCollection( <obj> )
#C IsSCRingObjFamily( <obj> )
##
## S.~c. ring elements may have inverses, in order to allow `One' and
## `Inverse' we make them scalars.
##
DeclareCategory( "IsSCRingObj", IsScalar );
DeclareCategoryCollections( "IsSCRingObj" );
DeclareCategoryCollections( "IsSCRingObjCollection" );
DeclareCategoryCollections( "IsSCRingObjCollColl" );
DeclareCategoryFamily( "IsSCRingObj" );
DeclareSynonym("IsSubringSCRing",IsRing and IsSCRingObjCollection);
#############################################################################
##
#F RingByStructureConstants( <moduli>, <sctable>[, <nameinfo>] )
##
## <#GAPDoc Label="RingByStructureConstants">
## <ManSection>
## <Func Name="RingByStructureConstants" Arg='moduli, sctable[, nameinfo]'/>
##
## <Description>
## returns a ring <M>R</M> whose additive group is described by the list
## <A>moduli</A>,
## with multiplication defined by the structure constants table
## <A>sctable</A>.
## The optional argument <A>nameinfo</A> can be used to prescribe names for
## the elements of the canonical generators of <M>R</M>;
## it can be either a string <A>name</A>
## (then <A>name</A><C>1</C>, <A>name</A><C>2</C> etc. are chosen)
## or a list of strings which are then chosen.
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareGlobalFunction( "RingByStructureConstants" );
#############################################################################
##
#F StandardGeneratorsSubringSCRing( <S> )
##
## for a subring <S> of an SC ring <R> this command returns a list of length 3.
## The first entry are generators for <S> as addive group, given with
## respect to the additive group basis for <R> and being in hermite normal
## form. The second entries are pivot positions for these generators. The third
## entry are the generators as actual ring elements.
DeclareAttribute("StandardGeneratorsSubringSCRing",IsSubringSCRing);
#############################################################################
##
#A Subrings( <R> )
##
## <#GAPDoc Label="Subrings">
## <ManSection>
## <Attr Name="Subrings" Arg='R'/>
##
## <Description>
## for a finite ring <A>R</A> this function returns a list of all
## subrings of <A>R</A>.
## <Example><![CDATA[
## gap> Subrings(SmallRing(8,37));
## [ <ring with 1 generators>, <ring with 1 generators>,
## <ring with 1 generators>, <ring with 1 generators>,
## <ring with 1 generators>, <ring with 1 generators>,
## <ring with 2 generators>, <ring with 2 generators>,
## <ring with 2 generators>, <ring with 2 generators>,
## <ring with 3 generators> ]
## ]]></Example>
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareAttribute("Subrings",IsRing);
#############################################################################
##
#A Ideals( <R> )
##
## <#GAPDoc Label="Ideals">
## <ManSection>
## <Attr Name="Ideals" Arg='R'/>
##
## <Description>
## for a finite ring <A>R</A> this function returns a list of all
## ideals of <A>R</A>.
## <Example><![CDATA[
## gap> Ideals(SmallRing(8,37));
## [ <ring with 1 generators>, <ring with 1 generators>,
## <ring with 1 generators>, <ring with 2 generators>,
## <ring with 3 generators> ]
## ]]></Example>
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareAttribute("Ideals",IsRing);
#############################################################################
##
#F NumberSmallRings( <s> )
##
## <#GAPDoc Label="NumberSmallRings">
## <ManSection>
## <Func Name="NumberSmallRings" Arg='s'/>
##
## <Description>
## returns the number of (nonisomorphic) rings of order <M>s</M>
## stored in the library of small rings.
## <Example><![CDATA[
## gap> List([1..15],NumberSmallRings);
## [ 1, 2, 2, 11, 2, 4, 2, 52, 11, 4, 2, 22, 2, 4, 4 ]
## ]]></Example>
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareGlobalFunction("NumberSmallRings");
#############################################################################
##
#F SmallRing( <s>,<n> )
##
## <#GAPDoc Label="SmallRing">
## <ManSection>
## <Func Name="SmallRing" Arg='s n'/>
##
## <Description>
## returns the <M>n</M>-th ring of order <M>s</M> from a library of
## rings of small order (up to isomorphism).
## <Example><![CDATA[
## gap> R:=SmallRing(8,37);
## <ring with 3 generators>
## gap> ShowMultiplicationTable(R);
## * | 0*a c b b+c a a+c a+b a+b+c
## ------+------------------------------------------------
## 0*a | 0*a 0*a 0*a 0*a 0*a 0*a 0*a 0*a
## c | 0*a 0*a 0*a 0*a 0*a 0*a 0*a 0*a
## b | 0*a 0*a 0*a 0*a b b b b
## b+c | 0*a 0*a 0*a 0*a b b b b
## a | 0*a c b b+c a+b a+b+c a a+c
## a+c | 0*a c b b+c a+b a+b+c a a+c
## a+b | 0*a c b b+c a a+c a+b a+b+c
## a+b+c | 0*a c b b+c a a+c a+b a+b+c
## ]]></Example>
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareGlobalFunction("SmallRing");
#############################################################################
##
#F DirectSum( <R>{, <S>} )
#O DirectSumOp( <list>, <expl> )
##
## <#GAPDoc Label="DirectSum">
## <ManSection>
## <Func Name="DirectSum" Arg='R{, S}'/>
## <Oper Name="DirectSumOp" Arg='list, expl'/>
##
## <Description>
## These functions construct the direct sum of the rings given as
## arguments.
## <C>DirectSum</C> takes an arbitrary positive number of arguments
## and calls the operation <C>DirectSumOp</C>, which takes exactly two
## arguments, namely a nonempty list of rings and one of these rings.
## (This somewhat strange syntax allows the method selection to choose
## a reasonable method for special cases.)
## <Example><![CDATA[
## gap> DirectSum(SmallRing(5,1),SmallRing(5,1));
## <ring with 2 generators>
## ]]></Example>
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareGlobalFunction( "DirectSum" );
DeclareOperation( "DirectSumOp", [ IsList, IsRing ] );
DeclareAttribute( "DirectSumInfo", IsGroup, "mutable" );
|