CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
<Chapter><Heading> <M>FpG</M>-modules</Heading>
2
3
<Table Align="|l|" >
4
5
<Row>
6
<Item>
7
<Index> CompositionSeriesOfFpGModules</Index>
8
<C>CompositionSeriesOfFpGModules(M) </C>
9
<P/>
10
11
Inputs an <M>FpG</M>-module <M>M</M> and
12
returns a list of <M>FpG</M>-modules that constitute a composition series for <M>M</M>.
13
</Item>
14
</Row>
15
16
17
<Row>
18
<Item>
19
<Index> DirectSumOfFpGModules</Index>
20
<C>DirectSumOfFpGModules(M,N) </C>
21
<C>DirectSumOfFpGModules([ M[1], M[2], ..., M[k] ])) </C>
22
<P/>
23
24
Inputs two <M>FpG</M>-modules <M>M</M> and <M>N</M>
25
with common group and characteristic. It returns the direct sum of
26
<M>M</M> and <M>N</M> as an <M>FpG</M>-Module.
27
<P/>
28
Alternatively, the function can input a list of <M>FpG</M>-modules
29
with common group <M>G</M>. It returns the direct sum of the list.
30
</Item>
31
</Row>
32
33
<Row>
34
<Item>
35
<Index> FpGModule</Index>
36
<C>FpGModule(A,P) </C>
37
<C>FpGModule(A,G,p) </C>
38
<P/>
39
40
Inputs a <M>p</M>-group <M>P</M> and a matrix <M>A</M>
41
whose rows have length a multiple of the order of <M>G</M>.
42
It returns the <Quoted>canonical</Quoted>
43
<M>FpG</M>-module generated by the rows of <M>A</M>.
44
45
<P/>
46
A small non-prime-power group <M>G</M> can also be input, provided the characteristic <M>p</M> is entered as a third input variable.
47
</Item>
48
</Row>
49
50
<Row>
51
<Item>
52
<Index> FpGModuleDualBasis</Index>
53
<C>FpGModuleDualBasis(M) </C>
54
<P/>
55
56
Inputs an <M>FpG</M>-module <M>M</M>. It returns a record
57
<M>R</M> with two components:
58
<List>
59
<Item><M>R.freeModule</M> is the free module <M>FG</M> of rank one.</Item>
60
<Item><M>R.basis</M> is a list representing an <M>F</M>-basis
61
for the module <M>Hom_{FG}(M,FG)</M>. Each term in the
62
list is a matrix <M>A</M> whose rows are vectors in <M>FG</M>
63
such that <M>M!.generators[i] \longrightarrow A[i]</M>
64
extends to a module homomorphism <M>M \longrightarrow FG</M>.
65
</Item>
66
</List>
67
</Item>
68
</Row>
69
70
<Row>
71
<Item>
72
<Index> FpGModuleHomomorphism</Index>
73
<C>FpGModuleHomomorphism(M,N,A) </C>
74
<C>FpGModuleHomomorphismNC(M,N,A) </C>
75
<P/>
76
77
Inputs <M>FpG</M>-modules <M>M</M> and <M>N</M> over a common <M>p</M>-group <M>G</M>.
78
Also inputs a list <M>A</M> of vectors in the vector space spanned by
79
<M>N!.matrix</M>. It tests that the function
80
<P/>
81
<M> M!.generators[i] \longrightarrow A[i]</M>
82
<P/>
83
extends to a homomorphism of <M>FpG</M>-modules and,
84
if the test is passed, returns the corresponding <M>FpG</M>-module
85
homomorphism. If the test is failed it returns fail.
86
<P/>
87
The "NC" version of the function assumes that the input
88
defines a homomorphism and simply returns the <M>FpG</M>-module homomorphism.
89
</Item>
90
</Row>
91
<Row>
92
<Item>
93
<Index>DesuspensionFpGModule</Index>
94
<C> DesuspensionFpGModule(M,n)</C>
95
<C>DesuspensionFpGModule(R,n) </C>
96
<P/>
97
98
Inputs a positive integer <M>n</M> and and FpG-module <M>M</M>. It returns an
99
FpG-module <M>D^nM</M> which is mathematically related to <M>M</M> via
100
an exact sequence
101
<M> 0 \longrightarrow D^nM \longrightarrow R_n \longrightarrow \ldots
102
\longrightarrow R_0 \longrightarrow M \longrightarrow 0</M> where <M>R_\ast</M>
103
is a free resolution.
104
(If <M>G=Group(M)</M> is of prime-power order then the resolution is minimal.)
105
106
<P/>
107
Alternatively, the function can input a positive integer <M>n</M>
108
and at least <M>n</M> terms of a free
109
resolution <M>R</M> of <M>M</M>.
110
111
</Item>
112
</Row>
113
<Row>
114
<Item>
115
<Index> RadicalOfFpGModule</Index>
116
<C>RadicalOfFpGModule(M) </C>
117
<P/>
118
119
Inputs an <M>FpG</M>-module <M>M</M> with <M>G</M> a <M>p</M>-group, and returns the Radical of
120
<M>M</M> as an <M>FpG</M>-module. (Ig <M>G</M> is not a <M>p</M>-group then a submodule of the radical is returned.
121
</Item>
122
</Row>
123
124
<Row>
125
<Item>
126
<Index> RadicalSeriesOfFpGModule</Index>
127
<C>RadicalSeriesOfFpGModule(M) </C>
128
<P/>
129
130
Inputs an <M>FpG</M>-module <M>M</M> and
131
returns a list of <M>FpG</M>-modules that constitute the radical
132
series for <M>M</M>.
133
</Item>
134
</Row>
135
136
137
138
<Row>
139
<Item>
140
<Index> GeneratorsOfFpGModule</Index>
141
<C>GeneratorsOfFpGModule(M) </C>
142
<P/>
143
144
Inputs an <M>FpG</M>-module <M>M</M> and returns a matrix whose
145
rows correspond to a minimal generating set for <M>M</M>.
146
</Item>
147
</Row>
148
<Row>
149
<Item>
150
<Index> ImageOfFpGModuleHomomorphism</Index>
151
<C>ImageOfFpGModuleHomomorphism(f) </C>
152
<P/>
153
154
Inputs an <M>FpG</M>-module homomorphism <M>f:M \longrightarrow N</M>
155
and returns its image <M>f(M)</M> as an <M>FpG</M>-module.
156
</Item>
157
</Row>
158
159
160
<Row>
161
<Item>
162
<Index> GroupAlgebraAsFpGModule</Index>
163
<C>GroupAlgebraAsFpGModule(G) </C>
164
<P/>
165
166
Inputs a <M>p</M>-group <M>G</M> and
167
returns its mod <M>p</M> group algebra as an <M>FpG</M>-module.
168
</Item>
169
</Row>
170
171
172
173
174
<Row>
175
<Item>
176
<Index> IntersectionOfFpGModules</Index>
177
<C>IntersectionOfFpGModules(M,N) </C>
178
<P/>
179
180
Inputs two <M>FpG</M>-modules <M>M, N</M> arising as submodules in a
181
common free module <M>(FG)^n</M> where <M>G</M> is a finite group and
182
<M>F</M> the field of <M>p</M>-elements. It returns the <M>FpG</M>-module
183
arising as the intersection of <M>M</M> and <M>N</M>.
184
</Item>
185
</Row>
186
187
<Row>
188
<Item>
189
<Index> IsFpGModuleHomomorphismData</Index>
190
<C>IsFpGModuleHomomorphismData(M,N,A) </C>
191
<P/>
192
193
Inputs <M>FpG</M>-modules <M>M</M> and <M>N</M> over a common <M>p</M>-group <M>G</M>.
194
Also inputs a list <M>A</M> of vectors in the vector space spanned by
195
<M>N!.matrix</M>. It returns true if the function
196
<P/>
197
<M> M!.generators[i] \longrightarrow A[i]</M>
198
<P/>
199
extends to a homomorphism of <M>FpG</M>-modules. Otherwise it
200
returns false.
201
</Item>
202
</Row>
203
204
<Row>
205
<Item>
206
<Index> MaximalSubmoduleOfFpGModule</Index>
207
<C>MaximalSubmoduleOfFpGModule(M) </C>
208
<P/>
209
210
Inputs an <M>FpG</M>-module <M>M</M> and
211
returns one maximal <M>FpG</M>-submodule of <M>M</M>.
212
</Item>
213
</Row>
214
215
216
<Row>
217
<Item>
218
<Index> MaximalSubmodulesOfFpGModule</Index>
219
<C>MaximalSubmodulesOfFpGModule(M) </C>
220
<P/>
221
222
Inputs an <M>FpG</M>-module <M>M</M> and
223
returns the list of maximal <M>FpG</M>-submodules of <M>M</M>.
224
</Item>
225
</Row>
226
227
228
229
<Row>
230
<Item>
231
<Index> MultipleOfFpGModule </Index>
232
<C>MultipleOfFpGModule(w,M) </C>
233
<P/>
234
235
Inputs an <M>FpG</M>-module <M>M</M> and a list
236
<M>w:=[g_1 , ..., g_t]</M> of elements in the group <M>G=M!.group</M>.
237
The list <M>w</M> can be thought of as representing the element
238
<M>w=g_1 + \ldots + g_t</M> in the group algebra <M>FG</M>,
239
and the function returns a semi-echelon matrix <M>B</M>
240
which is a basis for the vector subspace <M>wM</M> .
241
</Item>
242
</Row>
243
<Row>
244
<Item>
245
<Index> ProjectedFpGModule</Index>
246
<C>ProjectedFpGModule(M,k) </C>
247
<P/>
248
249
Inputs an <M>FpG</M>-module <M>M</M> of ambient dimension <M>n|G|</M>,
250
and an integer <M>k</M> between <M>1</M> and <M>n</M>. The module
251
<M>M</M> is a submodule of the free module <M>(FG)^n</M> . Let
252
<M>M_k</M> denote the intersection of <M>M</M> with the last <M>k</M>
253
summands of <M>(FG)^n</M> .
254
The function returns the image of the
255
projection of <M>M_k</M> onto the <M>k</M>-th summand of <M>(FG)^n</M> . This
256
image is returned an <M>FpG</M>-module with
257
ambient dimension <M>|G|</M>.
258
</Item>
259
</Row>
260
<Row>
261
<Item>
262
<Index> RandomHomomorphismOfFpGModules</Index>
263
<C>RandomHomomorphismOfFpGModules(M,N) </C>
264
<P/>
265
266
Inputs two <M>FpG</M>-modules <M>M</M> and <M>N</M> over a common group
267
<M>G</M>. It returns a random matrix <M>A</M> whose rows are vectors in
268
<M>N</M> such that the function
269
<P/>
270
<M> M!.generators[i] \longrightarrow A[i]</M>
271
<P/>
272
extends to a homomorphism <M>M \longrightarrow N</M> of <M>FpG</M>-modules.
273
(There is a problem with this function at present.)
274
</Item>
275
</Row>
276
<Row>
277
<Item>
278
<Index> Rank </Index>
279
<C>Rank(f) </C>
280
<P/>
281
282
Inputs an <M>FpG</M>-module homomorphism <M>f:M \longrightarrow N</M>
283
and returns the dimension of the image of <M>f</M> as a vector
284
space over the field <M>F</M> of <M>p</M> elements.
285
</Item>
286
</Row>
287
<Row>
288
<Item>
289
<Index> SumOfFpGModules</Index>
290
<C>SumOfFpGModules(M,N) </C>
291
<P/>
292
293
Inputs two <M>FpG</M>-modules <M>M, N</M> arising as submodules in
294
a common free module <M>(FG)^n</M> where <M>G</M> is a finite group
295
and <M>F</M> the field of <M>p</M>-elements. It returns the
296
<M>FpG</M>-Module arising as the sum of <M>M</M> and <M>N</M>.
297
</Item>
298
</Row>
299
<Row>
300
<Item>
301
<Index> SumOp</Index>
302
<C>SumOp(f,g) </C>
303
<P/>
304
305
Inputs two <M>FpG</M>-module homomorphisms <M>f,g:M \longrightarrow N</M>
306
with common sorce and common target. It returns the sum <M>f+g:M \longrightarrow N</M> . (This operation is also available using "+".
307
</Item>
308
</Row>
309
310
<Row>
311
<Item>
312
<Index> VectorsToFpGModuleWords</Index>
313
<C>VectorsToFpGModuleWords(M,L) </C>
314
<P/>
315
316
317
Inputs an <M>FpG</M>-module <M>M</M> and a list
318
<M>L=[v_1,\ldots ,v_k]</M> of vectors in <M>M</M>.
319
It returns a list <M>L'= [x_1,...,x_k]</M> . Each
320
<M>x_j=[[W_1,G_1],...,[W_t,G_t]]</M>
321
is a list of integer pairs corresponding to an expression of
322
<M>v_j</M> as a word
323
<P/>
324
<M> v_j = g_1*w_1 + g_2*w_1 + ... + g_t*w_t </M>
325
326
<P/>
327
where
328
329
<P/>
330
331
<M>g_i=Elements(M!.group)[G_i]</M>
332
<P/>
333
<M>w_i=GeneratorsOfFpGModule(M)[W_i]</M>
334
.
335
336
337
</Item>
338
</Row>
339
340
</Table>
341
</Chapter>
342
343
344
345