This file is indexed.

/usr/share/gap/pkg/ctbllib/doc/chap5.html is in gap-character-tables 1r2p2.dfsg.0-3.

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
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GAP (CTblLib) - Chapter 5: Functions for Character Table Constructions</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap5"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap4.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap6.html">[Next Chapter]</a>&nbsp;  </div>

<p><a id="X7B915AD178236991" name="X7B915AD178236991"></a></p>
<div class="ChapSects"><a href="chap5.html#X7B915AD178236991">5 <span class="Heading">Functions for Character Table Constructions</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap5.html#X7F82104A7B1F3C9B">5.1 <span class="Heading">Character Tables of Groups of Structure <span class="SimpleMath">M.G.A</span></span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X78F82DD67E083B88">5.1-1 PossibleCharacterTablesOfTypeMGA</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X83BE977185ADC24B">5.1-2 BrauerTableOfTypeMGA</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7899AA12836EEF8F">5.1-3 PossibleActionsForTypeMGA</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap5.html#X8758A57879299398">5.2 <span class="Heading">Character Tables of Groups of Structure <span class="SimpleMath">G.S_3</span></span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7E06095E7CB3316D">5.2-1 <span class="Heading">CharacterTableOfTypeGS3</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X82FC6C377BEF0139">5.2-2 PossibleActionsForTypeGS3</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap5.html#X7A9672B2799C23D4">5.3 <span class="Heading">Character Tables of Groups of Structure <span class="SimpleMath">G.2^2</span></span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7CACDDED7A8C1CF9">5.3-1 <span class="Heading">PossibleCharacterTablesOfTypeGV4</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7CCD5A2979883144">5.3-2 PossibleActionsForTypeGV4</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap5.html#X7D2E0AC386AED227">5.4 <span class="Heading">Character Tables of Groups of Structure <span class="SimpleMath">2^2.G</span></span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7E7043A5857B9240">5.4-1 <span class="Heading">PossibleCharacterTablesOfTypeV4G</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X8536F9027F097C79">5.4-2 <span class="Heading">BrauerTableOfTypeV4G</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap5.html#X7B7282A37F293B36">5.5 <span class="Heading">Character Tables of Subdirect Products of Index Two</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7D0207B07B48FD06">5.5-1 CharacterTableOfIndexTwoSubdirectProduct</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X8714D24B802DA949">5.5-2 ConstructIndexTwoSubdirectProduct</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X8254CA95814DF613">5.5-3 ConstructIndexTwoSubdirectProductInfo</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap5.html#X841CB81B835E50DE">5.6 <span class="Heading">Brauer Tables of Extensions by <span class="SimpleMath">p</span>-regular Automorphisms
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7AF3EA6C783FCFF9">5.6-1 IBrOfExtensionBySingularAutomorphism</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap5.html#X844C69217B80537A">5.7 <span class="Heading">Character Tables of Coprime Central Extensions</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X82CEF31D7815C53D">5.7-1 CharacterTableOfCommonCentralExtension</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap5.html#X874C19D079CE0BE0">5.8 <span class="Heading">Construction Functions used in the Character Table Library</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7A948B397B5BC0AD">5.8-1 ConstructMGA</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X84DE92E579BA7171">5.8-2 ConstructMGAInfo</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X80F14D1C86CF1E9C">5.8-3 ConstructGS3</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7C1CE54A864936E0">5.8-4 ConstructV4G</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X8726ADCC7BCEA96F">5.8-5 ConstructProj</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7EF9996082140544">5.8-6 ConstructDirectProduct</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X781EAFEB80EC1ED8">5.8-7 ConstructCentralProduct</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X84F6BB30845D75E1">5.8-8 ConstructSubdirect</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7F26BEC67B744999">5.8-9 ConstructWreathSymmetric</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7F6A9FE57C77D778">5.8-10 ConstructIsoclinic</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7D3F0AC2825C8CA1">5.8-11 ConstructPermuted</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X85FE8954830F85A0">5.8-12 ConstructAdjusted</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X803FE1FF82790290">5.8-13 ConstructFactor</a></span>
</div></div>
</div>

<h3>5 <span class="Heading">Functions for Character Table Constructions</span></h3>

<p>The functions described in this chapter deal with the construction of character tables from other character tables. So they fit to the functions in Section <span class="RefLink">Reference: Constructing Character Tables from Others</span>. But since they are used in situations that are typical for the <strong class="pkg">GAP</strong> Character Table Library, they are described here.</p>

<p>An important ingredient of the constructions is the description of the action of a group automorphism on the classes by a permutation. In practice, these permutations are usually chosen from the group of table automorphisms of the character table in question, see <code class="func">AutomorphismsOfTable</code> (<span class="RefLink">Reference: AutomorphismsOfTable</span>).</p>

<p>Section <a href="chap5.html#X7F82104A7B1F3C9B"><span class="RefLink">5.1</span></a> deals with groups of the structure <span class="SimpleMath">M.G.A</span>, where the upwards extension <span class="SimpleMath">G.A</span> acts suitably on the central extension <span class="SimpleMath">M.G</span>. Section <a href="chap5.html#X8758A57879299398"><span class="RefLink">5.2</span></a> deals with groups that have a factor group of type <span class="SimpleMath">S_3</span>. Section <a href="chap5.html#X7A9672B2799C23D4"><span class="RefLink">5.3</span></a> deals with upward extensions of a group by a Klein four group. Section <a href="chap5.html#X7D2E0AC386AED227"><span class="RefLink">5.4</span></a> deals with downward extensions of a group by a Klein four group. Section <a href="chap5.html#X841CB81B835E50DE"><span class="RefLink">5.6</span></a> describes the construction of certain Brauer tables. Section <a href="chap5.html#X844C69217B80537A"><span class="RefLink">5.7</span></a> deals with special cases of the construction of character tables of central extensions from known character tables of suitable factor groups. Section <a href="chap5.html#X874C19D079CE0BE0"><span class="RefLink">5.8</span></a> documents the functions used to encode certain tables in the <strong class="pkg">GAP</strong> Character Table Library.</p>

<p>Examples can be found in <a href="chapBib.html#biBCCE">[Breb]</a> and <a href="chapBib.html#biBAuto">[Bree]</a>.</p>

<p><a id="X7F82104A7B1F3C9B" name="X7F82104A7B1F3C9B"></a></p>

<h4>5.1 <span class="Heading">Character Tables of Groups of Structure <span class="SimpleMath">M.G.A</span></span></h4>

<p>For the functions in this section, let <span class="SimpleMath">H</span> be a group with normal subgroups <span class="SimpleMath">N</span> and <span class="SimpleMath">M</span> such that <span class="SimpleMath">H/N</span> is cyclic, <span class="SimpleMath">M ≤ N</span> holds, and such that each irreducible character of <span class="SimpleMath">N</span> that does not contain <span class="SimpleMath">M</span> in its kernel induces irreducibly to <span class="SimpleMath">H</span>. (This is satisfied for example if <span class="SimpleMath">N</span> has prime index in <span class="SimpleMath">H</span> and <span class="SimpleMath">M</span> is a group of prime order that is central in <span class="SimpleMath">N</span> but not in <span class="SimpleMath">H</span>.) Let <span class="SimpleMath">G = N/M</span> and <span class="SimpleMath">A = H/N</span>, so <span class="SimpleMath">H</span> has the structure <span class="SimpleMath">M.G.A</span>. For some examples, see <a href="chapBib.html#biBBre11">[Bre11]</a>.</p>

<p><a id="X78F82DD67E083B88" name="X78F82DD67E083B88"></a></p>

<h5>5.1-1 PossibleCharacterTablesOfTypeMGA</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PossibleCharacterTablesOfTypeMGA</code>( <var class="Arg">tblMG</var>, <var class="Arg">tblG</var>, <var class="Arg">tblGA</var>, <var class="Arg">orbs</var>, <var class="Arg">identifier</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <span class="SimpleMath">H</span>, <span class="SimpleMath">N</span>, and <span class="SimpleMath">M</span> be as described at the beginning of the section.</p>

<p>Let <var class="Arg">tblMG</var>, <var class="Arg">tblG</var>, <var class="Arg">tblGA</var> be the ordinary character tables of the groups <span class="SimpleMath">M.G = N</span>, <span class="SimpleMath">G</span>, and <span class="SimpleMath">G.A = H/M</span>, respectively, and <var class="Arg">orbs</var> be the list of orbits on the class positions of <var class="Arg">tblMG</var> that is induced by the action of <span class="SimpleMath">H</span> on <span class="SimpleMath">M.G</span>. Furthermore, let the class fusions from <var class="Arg">tblMG</var> to <var class="Arg">tblG</var> and from <var class="Arg">tblG</var> to <var class="Arg">tblGA</var> be stored on <var class="Arg">tblMG</var> and <var class="Arg">tblG</var>, respectively (see <code class="func">StoreFusion</code> (<span class="RefLink">Reference: StoreFusion</span>)).</p>

<p><code class="func">PossibleCharacterTablesOfTypeMGA</code> returns a list of records describing all possible ordinary character tables for groups <span class="SimpleMath">H</span> that are compatible with the arguments. Note that in general there may be several possible groups <span class="SimpleMath">H</span>, and it may also be that "character tables" are constructed for which no group exists.</p>

<p>Each of the records in the result has the following components.</p>


<dl>
<dt><strong class="Mark"><code class="code">table</code></strong></dt>
<dd><p>a possible ordinary character table for <span class="SimpleMath">H</span>, and</p>

</dd>
<dt><strong class="Mark"><code class="code">MGfusMGA</code></strong></dt>
<dd><p>the fusion map from <var class="Arg">tblMG</var> into the table stored in <code class="code">table</code>.</p>

</dd>
</dl>
<p>The possible tables differ w. r. t. some power maps, and perhaps element orders and table automorphisms; in particular, the <code class="code">MGfusMGA</code> component is the same in all records.</p>

<p>The returned tables have the <code class="func">Identifier</code> (<span class="RefLink">Reference: Identifier (for character tables)</span>) value <var class="Arg">identifier</var>. The classes of these tables are sorted as follows. First come the classes contained in <span class="SimpleMath">M.G</span>, sorted compatibly with the classes in <var class="Arg">tblMG</var>, then the classes in <span class="SimpleMath">H ∖ M.G</span> follow, in the same ordering as the classes of <span class="SimpleMath">G.A ∖ G</span>.</p>

<p><a id="X83BE977185ADC24B" name="X83BE977185ADC24B"></a></p>

<h5>5.1-2 BrauerTableOfTypeMGA</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BrauerTableOfTypeMGA</code>( <var class="Arg">modtblMG</var>, <var class="Arg">modtblGA</var>, <var class="Arg">ordtblMGA</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <span class="SimpleMath">H</span>, <span class="SimpleMath">N</span>, and <span class="SimpleMath">M</span> be as described at the beginning of the section, let <var class="Arg">modtblMG</var> and <var class="Arg">modtblGA</var> be the <span class="SimpleMath">p</span>-modular character tables of the groups <span class="SimpleMath">N</span> and <span class="SimpleMath">H/M</span>, respectively, and let <var class="Arg">ordtblMGA</var> be the <span class="SimpleMath">p</span>-modular Brauer table of <span class="SimpleMath">H</span>, for some prime integer <span class="SimpleMath">p</span>. Furthermore, let the class fusions from the ordinary character table of <var class="Arg">modtblMG</var> to <var class="Arg">ordtblMGA</var> and from <var class="Arg">ordtblMGA</var> to the ordinary character table of <var class="Arg">modtblGA</var> be stored.</p>

<p><code class="func">BrauerTableOfTypeMGA</code> returns the <span class="SimpleMath">p</span>-modular character table of <span class="SimpleMath">H</span>.</p>

<p><a id="X7899AA12836EEF8F" name="X7899AA12836EEF8F"></a></p>

<h5>5.1-3 PossibleActionsForTypeMGA</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PossibleActionsForTypeMGA</code>( <var class="Arg">tblMG</var>, <var class="Arg">tblG</var>, <var class="Arg">tblGA</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let the arguments be as described for <code class="func">PossibleCharacterTablesOfTypeMGA</code> (<a href="chap5.html#X78F82DD67E083B88"><span class="RefLink">5.1-1</span></a>). <code class="func">PossibleActionsForTypeMGA</code> returns the set of orbit structures <span class="SimpleMath"></span> on the class positions of <var class="Arg">tblMG</var> that can be induced by the action of <span class="SimpleMath">H</span> on the classes of <span class="SimpleMath">M.G</span> in the sense that <span class="SimpleMath"></span> is the set of orbits of a table automorphism of <var class="Arg">tblMG</var> (see <code class="func">AutomorphismsOfTable</code> (<span class="RefLink">Reference: AutomorphismsOfTable</span>)) that is compatible with the stored class fusions from <var class="Arg">tblMG</var> to <var class="Arg">tblG</var> and from <var class="Arg">tblG</var> to <var class="Arg">tblGA</var>. Note that the number of such orbit structures can be smaller than the number of the underlying table automorphisms.</p>

<p>Information about the progress is reported if the info level of <code class="func">InfoCharacterTable</code> (<span class="RefLink">Reference: InfoCharacterTable</span>) is at least <span class="SimpleMath">1</span> (see <code class="func">SetInfoLevel</code> (<span class="RefLink">Reference: SetInfoLevel</span>)).</p>

<p><a id="X8758A57879299398" name="X8758A57879299398"></a></p>

<h4>5.2 <span class="Heading">Character Tables of Groups of Structure <span class="SimpleMath">G.S_3</span></span></h4>

<p><a id="X7E06095E7CB3316D" name="X7E06095E7CB3316D"></a></p>

<h5>5.2-1 <span class="Heading">CharacterTableOfTypeGS3</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; CharacterTableOfTypeGS3</code>( <var class="Arg">tbl</var>, <var class="Arg">tbl2</var>, <var class="Arg">tbl3</var>, <var class="Arg">aut</var>, <var class="Arg">identifier</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; CharacterTableOfTypeGS3</code>( <var class="Arg">modtbl</var>, <var class="Arg">modtbl2</var>, <var class="Arg">modtbl3</var>, <var class="Arg">ordtbls3</var>, <var class="Arg">identifier</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <span class="SimpleMath">H</span> be a group with a normal subgroup <span class="SimpleMath">G</span> such that <span class="SimpleMath">H/G ≅ S_3</span>, the symmetric group on three points, and let <span class="SimpleMath">G.2</span> and <span class="SimpleMath">G.3</span> be preimages of subgroups of order <span class="SimpleMath">2</span> and <span class="SimpleMath">3</span>, respectively, under the natural projection onto this factor group.</p>

<p>In the first form, let <var class="Arg">tbl</var>, <var class="Arg">tbl2</var>, <var class="Arg">tbl3</var> be the ordinary character tables of the groups <span class="SimpleMath">G</span>, <span class="SimpleMath">G.2</span>, and <span class="SimpleMath">G.3</span>, respectively, and <var class="Arg">aut</var> be the permutation of classes of <var class="Arg">tbl3</var> induced by the action of <span class="SimpleMath">H</span> on <span class="SimpleMath">G.3</span>. Furthermore assume that the class fusions from <var class="Arg">tbl</var> to <var class="Arg">tbl2</var> and <var class="Arg">tbl3</var> are stored on <var class="Arg">tbl</var> (see <code class="func">StoreFusion</code> (<span class="RefLink">Reference: StoreFusion</span>)). In particular, the two class fusions must be compatible in the sense that the induced action on the classes of <var class="Arg">tbl</var> describes an action of <span class="SimpleMath">S_3</span>.</p>

<p>In the second form, let <var class="Arg">modtbl</var>, <var class="Arg">modtbl2</var>, <var class="Arg">modtbl3</var> be the <span class="SimpleMath">p</span>-modular character tables of the groups <span class="SimpleMath">G</span>, <span class="SimpleMath">G.2</span>, and <span class="SimpleMath">G.3</span>, respectively, and <var class="Arg">ordtbls3</var> be the ordinary character table of <span class="SimpleMath">H</span>.</p>

<p><code class="func">CharacterTableOfTypeGS3</code> returns a record with the following components.</p>


<dl>
<dt><strong class="Mark"><code class="code">table</code></strong></dt>
<dd><p>the ordinary or <span class="SimpleMath">p</span>-modular character table of <span class="SimpleMath">H</span>, respectively,</p>

</dd>
<dt><strong class="Mark"><code class="code">tbl2fustbls3</code></strong></dt>
<dd><p>the fusion map from <var class="Arg">tbl2</var> into the table of <span class="SimpleMath">H</span>, and</p>

</dd>
<dt><strong class="Mark"><code class="code">tbl3fustbls3</code></strong></dt>
<dd><p>the fusion map from <var class="Arg">tbl3</var> into the table of <span class="SimpleMath">H</span>.</p>

</dd>
</dl>
<p>The returned table of <span class="SimpleMath">H</span> has the <code class="func">Identifier</code> (<span class="RefLink">Reference: Identifier (for character tables)</span>) value <var class="Arg">identifier</var>. The classes of the table of <span class="SimpleMath">H</span> are sorted as follows. First come the classes contained in <span class="SimpleMath">G.3</span>, sorted compatibly with the classes in <var class="Arg">tbl3</var>, then the classes in <span class="SimpleMath">H ∖ G.3</span> follow, in the same ordering as the classes of <span class="SimpleMath">G.2 ∖ G</span>.</p>

<p>In fact the code is applicable in the more general case that <span class="SimpleMath">H/G</span> is a Frobenius group <span class="SimpleMath">F = K C</span> with abelian kernel <span class="SimpleMath">K</span> and cyclic complement <span class="SimpleMath">C</span> of prime order, see <a href="chapBib.html#biBAuto">[Bree]</a>. Besides <span class="SimpleMath">F = S_3</span>, e. g., the case <span class="SimpleMath">F = A_4</span> is interesting.</p>

<p><a id="X82FC6C377BEF0139" name="X82FC6C377BEF0139"></a></p>

<h5>5.2-2 PossibleActionsForTypeGS3</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PossibleActionsForTypeGS3</code>( <var class="Arg">tbl</var>, <var class="Arg">tbl2</var>, <var class="Arg">tbl3</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let the arguments be as described for <code class="func">CharacterTableOfTypeGS3</code> (<a href="chap5.html#X7E06095E7CB3316D"><span class="RefLink">5.2-1</span></a>). <code class="func">PossibleActionsForTypeGS3</code> returns the set of those table automorphisms (see <code class="func">AutomorphismsOfTable</code> (<span class="RefLink">Reference: AutomorphismsOfTable</span>)) of <var class="Arg">tbl3</var> that can be induced by the action of <span class="SimpleMath">H</span> on the classes of <var class="Arg">tbl3</var>.</p>

<p>Information about the progress is reported if the info level of <code class="func">InfoCharacterTable</code> (<span class="RefLink">Reference: InfoCharacterTable</span>) is at least <span class="SimpleMath">1</span> (see <code class="func">SetInfoLevel</code> (<span class="RefLink">Reference: SetInfoLevel</span>)).</p>

<p><a id="X7A9672B2799C23D4" name="X7A9672B2799C23D4"></a></p>

<h4>5.3 <span class="Heading">Character Tables of Groups of Structure <span class="SimpleMath">G.2^2</span></span></h4>

<p>The following functions are thought for constructing the possible ordinary character tables of a group of structure <span class="SimpleMath">G.2^2</span> from the known tables of the three normal subgroups of type <span class="SimpleMath">G.2</span>.</p>

<p><a id="X7CACDDED7A8C1CF9" name="X7CACDDED7A8C1CF9"></a></p>

<h5>5.3-1 <span class="Heading">PossibleCharacterTablesOfTypeGV4</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PossibleCharacterTablesOfTypeGV4</code>( <var class="Arg">tblG</var>, <var class="Arg">tblsG2</var>, <var class="Arg">acts</var>, <var class="Arg">identifier</var>[, <var class="Arg">tblGfustblsG2</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PossibleCharacterTablesOfTypeGV4</code>( <var class="Arg">modtblG</var>, <var class="Arg">modtblsG2</var>, <var class="Arg">ordtblGV4</var>[, <var class="Arg">ordtblsG2fusordtblG4</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <span class="SimpleMath">H</span> be a group with a normal subgroup <span class="SimpleMath">G</span> such that <span class="SimpleMath">H/G</span> is a Klein four group, and let <span class="SimpleMath">G.2_1</span>, <span class="SimpleMath">G.2_2</span>, and <span class="SimpleMath">G.2_3</span> be the three subgroups of index two in <span class="SimpleMath">H</span> that contain <span class="SimpleMath">G</span>.</p>

<p>In the first version, let <var class="Arg">tblG</var> be the ordinary character table of <span class="SimpleMath">G</span>, let <var class="Arg">tblsG2</var> be a list containing the three character tables of the groups <span class="SimpleMath">G.2_i</span>, and let <var class="Arg">acts</var> be a list of three permutations describing the action of <span class="SimpleMath">H</span> on the conjugacy classes of the corresponding tables in <var class="Arg">tblsG2</var>. If the class fusions from <var class="Arg">tblG</var> into the tables in <var class="Arg">tblsG2</var> are not stored on <var class="Arg">tblG</var> (for example, because the three tables are equal) then the three maps must be entered in the list <var class="Arg">tblGfustblsG2</var>.</p>

<p>In the second version, let <var class="Arg">modtblG</var> be the <span class="SimpleMath">p</span>-modular character table of <span class="SimpleMath">G</span>, <var class="Arg">modtblsG</var> be the list of <span class="SimpleMath">p</span>-modular Brauer tables of the groups <span class="SimpleMath">G.2_i</span>, and <var class="Arg">ordtblGV4</var> be the ordinary character table of <span class="SimpleMath">H</span>. In this case, the class fusions from the ordinary character tables of the groups <span class="SimpleMath">G.2_i</span> to <var class="Arg">ordtblGV4</var> can be entered in the list <var class="Arg">ordtblsG2fusordtblG4</var>.</p>

<p><code class="func">PossibleCharacterTablesOfTypeGV4</code> returns a list of records describing all possible (ordinary or <span class="SimpleMath">p</span>-modular) character tables for groups <span class="SimpleMath">H</span> that are compatible with the arguments. Note that in general there may be several possible groups <span class="SimpleMath">H</span>, and it may also be that "character tables" are constructed for which no group exists. Each of the records in the result has the following components.</p>


<dl>
<dt><strong class="Mark"><code class="code">table</code></strong></dt>
<dd><p>a possible (ordinary or <span class="SimpleMath">p</span>-modular) character table for <span class="SimpleMath">H</span>, and</p>

</dd>
<dt><strong class="Mark"><code class="code">G2fusGV4</code></strong></dt>
<dd><p>the list of fusion maps from the tables in <var class="Arg">tblsG2</var> into the <code class="code">table</code> component.</p>

</dd>
</dl>
<p>The possible tables differ w.r.t. the irreducible characters and perhaps the table automorphisms; in particular, the <code class="code">G2fusGV4</code> component is the same in all records.</p>

<p>The returned tables have the <code class="func">Identifier</code> (<span class="RefLink">Reference: Identifier (for character tables)</span>) value <var class="Arg">identifier</var>. The classes of these tables are sorted as follows. First come the classes contained in <span class="SimpleMath">G</span>, sorted compatibly with the classes in <var class="Arg">tblG</var>, then the outer classes in the tables in <var class="Arg">tblsG2</var> follow, in the same ordering as in these tables.</p>

<p><a id="X7CCD5A2979883144" name="X7CCD5A2979883144"></a></p>

<h5>5.3-2 PossibleActionsForTypeGV4</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PossibleActionsForTypeGV4</code>( <var class="Arg">tblG</var>, <var class="Arg">tblsG2</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let the arguments be as described for <code class="func">PossibleCharacterTablesOfTypeGV4</code> (<a href="chap5.html#X7CACDDED7A8C1CF9"><span class="RefLink">5.3-1</span></a>). <code class="func">PossibleActionsForTypeGV4</code> returns the list of those triples <span class="SimpleMath">[ π_1, π_2, π_3 ]</span> of permutations for which a group <span class="SimpleMath">H</span> may exist that contains <span class="SimpleMath">G.2_1</span>, <span class="SimpleMath">G.2_2</span>, <span class="SimpleMath">G.2_3</span> as index <span class="SimpleMath">2</span> subgroups which intersect in the index <span class="SimpleMath">4</span> subgroup <span class="SimpleMath">G</span>.</p>

<p>Information about the progress is reported if the level of <code class="func">InfoCharacterTable</code> (<span class="RefLink">Reference: InfoCharacterTable</span>) is at least <span class="SimpleMath">1</span> (see <code class="func">SetInfoLevel</code> (<span class="RefLink">Reference: SetInfoLevel</span>)).</p>

<p><a id="X7D2E0AC386AED227" name="X7D2E0AC386AED227"></a></p>

<h4>5.4 <span class="Heading">Character Tables of Groups of Structure <span class="SimpleMath">2^2.G</span></span></h4>

<p>The following functions are thought for constructing the possible ordinary or Brauer character tables of a group of structure <span class="SimpleMath">2^2.G</span> from the known tables of the three factor groups modulo the normal order two subgroups in the central Klein four group.</p>

<p>Note that in the ordinary case, only a list of possibilities can be computed whereas in the modular case, where the ordinary character table is assumed to be known, the desired table is uniquely determined.</p>

<p><a id="X7E7043A5857B9240" name="X7E7043A5857B9240"></a></p>

<h5>5.4-1 <span class="Heading">PossibleCharacterTablesOfTypeV4G</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PossibleCharacterTablesOfTypeV4G</code>( <var class="Arg">tblG</var>, <var class="Arg">tbls2G</var>, <var class="Arg">id</var>[, <var class="Arg">fusions</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PossibleCharacterTablesOfTypeV4G</code>( <var class="Arg">tblG</var>, <var class="Arg">tbl2G</var>, <var class="Arg">aut</var>, <var class="Arg">id</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <span class="SimpleMath">H</span> be a group with a central subgroup <span class="SimpleMath">N</span> of type <span class="SimpleMath">2^2</span>, and let <span class="SimpleMath">Z_1</span>, <span class="SimpleMath">Z_2</span>, <span class="SimpleMath">Z_3</span> be the order <span class="SimpleMath">2</span> subgroups of <span class="SimpleMath">N</span>.</p>

<p>In the first form, let <var class="Arg">tblG</var> be the ordinary character table of <span class="SimpleMath">H/N</span>, and <var class="Arg">tbls2G</var> be a list of length three, the entries being the ordinary character tables of the groups <span class="SimpleMath">H/Z_i</span>. In the second form, let <var class="Arg">tbl2G</var> be the ordinary character table of <span class="SimpleMath">H/Z_1</span> and <var class="Arg">aut</var> be a permutation; here it is assumed that the groups <span class="SimpleMath">Z_i</span> are permuted under an automorphism <span class="SimpleMath">σ</span> of order <span class="SimpleMath">3</span> of <span class="SimpleMath">H</span>, and that <span class="SimpleMath">σ</span> induces the permutation <var class="Arg">aut</var> on the classes of <var class="Arg">tblG</var>.</p>

<p>The class fusions onto <var class="Arg">tblG</var> are assumed to be stored on the tables in <var class="Arg">tbls2G</var> or <var class="Arg">tbl2G</var>, respectively, except if they are explicitly entered via the optional argument <var class="Arg">fusions</var>.</p>

<p><code class="func">PossibleCharacterTablesOfTypeV4G</code> returns the list of all possible character tables for <span class="SimpleMath">H</span> in this situation. The returned tables have the <code class="func">Identifier</code> (<span class="RefLink">Reference: Identifier (for character tables)</span>) value <var class="Arg">id</var>.</p>

<p><a id="X8536F9027F097C79" name="X8536F9027F097C79"></a></p>

<h5>5.4-2 <span class="Heading">BrauerTableOfTypeV4G</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BrauerTableOfTypeV4G</code>( <var class="Arg">ordtblV4G</var>, <var class="Arg">modtbls2G</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BrauerTableOfTypeV4G</code>( <var class="Arg">ordtblV4G</var>, <var class="Arg">modtbl2G</var>, <var class="Arg">aut</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <span class="SimpleMath">H</span> be a group with a central subgroup <span class="SimpleMath">N</span> of type <span class="SimpleMath">2^2</span>, and let <var class="Arg">ordtblV4G</var> be the ordinary character table of <span class="SimpleMath">H</span>. Let <span class="SimpleMath">Z_1</span>, <span class="SimpleMath">Z_2</span>, <span class="SimpleMath">Z_3</span> be the order <span class="SimpleMath">2</span> subgroups of <span class="SimpleMath">N</span>. In the first form, let <var class="Arg">modtbls2G</var> be the list of the <span class="SimpleMath">p</span>-modular Brauer tables of the factor groups <span class="SimpleMath">H/Z_1</span>, <span class="SimpleMath">H/Z_2</span>, and <span class="SimpleMath">H/Z_3</span>, for some prime integer <span class="SimpleMath">p</span>. In the second form, let <var class="Arg">modtbl2G</var> be the <span class="SimpleMath">p</span>-modular Brauer table of <span class="SimpleMath">H/Z_1</span> and <var class="Arg">aut</var> be a permutation; here it is assumed that the groups <span class="SimpleMath">Z_i</span> are permuted under an automorphism <span class="SimpleMath">σ</span> of order <span class="SimpleMath">3</span> of <span class="SimpleMath">H</span>, and that <span class="SimpleMath">σ</span> induces the permutation <var class="Arg">aut</var> on the classes of the ordinary character table of <span class="SimpleMath">H</span> that is stored in <var class="Arg">ordtblV4G</var>.</p>

<p>The class fusions from <var class="Arg">ordtblV4G</var> to the ordinary character tables of the tables in <var class="Arg">modtbls2G</var> or <var class="Arg">modtbl2G</var> are assumed to be stored.</p>

<p><code class="func">BrauerTableOfTypeV4G</code> returns the <span class="SimpleMath">p</span>-modular character table of <span class="SimpleMath">H</span>.</p>

<p><a id="X7B7282A37F293B36" name="X7B7282A37F293B36"></a></p>

<h4>5.5 <span class="Heading">Character Tables of Subdirect Products of Index Two</span></h4>

<p>The following function is thought for constructing the (ordinary or Brauer) character tables of certain subdirect products from the known tables of the factor groups and normal subgroups involved.</p>

<p><a id="X7D0207B07B48FD06" name="X7D0207B07B48FD06"></a></p>

<h5>5.5-1 CharacterTableOfIndexTwoSubdirectProduct</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; CharacterTableOfIndexTwoSubdirectProduct</code>( <var class="Arg">tblH1</var>, <var class="Arg">tblG1</var>, <var class="Arg">tblH2</var>, <var class="Arg">tblG2</var>, <var class="Arg">identifier</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a record containing the character table of the subdirect product <span class="SimpleMath">G</span> that is described by the first four arguments.</p>

<p>Let <var class="Arg">tblH1</var>, <var class="Arg">tblG1</var>, <var class="Arg">tblH2</var>, <var class="Arg">tblG2</var> be the character tables of groups <span class="SimpleMath">H_1</span>, <span class="SimpleMath">G_1</span>, <span class="SimpleMath">H_2</span>, <span class="SimpleMath">G_2</span>, such that <span class="SimpleMath">H_1</span> and <span class="SimpleMath">H_2</span> have index two in <span class="SimpleMath">G_1</span> and <span class="SimpleMath">G_2</span>, respectively, and such that the class fusions corresponding to these embeddings are stored on <var class="Arg">tblH1</var> and <var class="Arg">tblH1</var>, respectively.</p>

<p>In this situation, the direct product of <span class="SimpleMath">G_1</span> and <span class="SimpleMath">G_2</span> contains a unique subgroup <span class="SimpleMath">G</span> of index two that contains the direct product of <span class="SimpleMath">H_1</span> and <span class="SimpleMath">H_2</span> but does not contain any of the groups <span class="SimpleMath">G_1</span>, <span class="SimpleMath">G_2</span>.</p>

<p>The function <code class="func">CharacterTableOfIndexTwoSubdirectProduct</code> returns a record with the following components.</p>


<dl>
<dt><strong class="Mark"><code class="code">table</code></strong></dt>
<dd><p>the character table of <span class="SimpleMath">G</span>,</p>

</dd>
<dt><strong class="Mark"><code class="code">H1fusG</code></strong></dt>
<dd><p>the class fusion from <var class="Arg">tblH1</var> into the table of <span class="SimpleMath">G</span>, and</p>

</dd>
<dt><strong class="Mark"><code class="code">H2fusG</code></strong></dt>
<dd><p>the class fusion from <var class="Arg">tblH2</var> into the table of <span class="SimpleMath">G</span>.</p>

</dd>
</dl>
<p>If the first four arguments are <em>ordinary</em> character tables then the fifth argument <var class="Arg">identifier</var> must be a string; this is used as the <code class="func">Identifier</code> (<span class="RefLink">Reference: Identifier (for character tables)</span>) value of the result table.</p>

<p>If the first four arguments are <em>Brauer</em> character tables for the same characteristic then the fifth argument must be the ordinary character table of the desired subdirect product.</p>

<p><a id="X8714D24B802DA949" name="X8714D24B802DA949"></a></p>

<h5>5.5-2 ConstructIndexTwoSubdirectProduct</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructIndexTwoSubdirectProduct</code>( <var class="Arg">tbl</var>, <var class="Arg">tblH1</var>, <var class="Arg">tblG1</var>, <var class="Arg">tblH2</var>, <var class="Arg">tblG2</var>, <var class="Arg">permclasses</var>, <var class="Arg">permchars</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">ConstructIndexTwoSubdirectProduct</code> constructs the irreducible characters of the ordinary character table <var class="Arg">tbl</var> of the subdirect product of index two in the direct product of <var class="Arg">tblG1</var> and <var class="Arg">tblG2</var>, which contains the direct product of <var class="Arg">tblH1</var> and <var class="Arg">tblH2</var> but does not contain any of the direct factors <var class="Arg">tblG1</var>, <var class="Arg">tblG2</var>. W. r. t. the default ordering obtained from that given by <code class="func">CharacterTableDirectProduct</code> (<span class="RefLink">Reference: CharacterTableDirectProduct</span>), the columns and the rows of the matrix of irreducibles are permuted with the permutations <var class="Arg">permclasses</var> and <var class="Arg">permchars</var>, respectively.</p>

<p><a id="X8254CA95814DF613" name="X8254CA95814DF613"></a></p>

<h5>5.5-3 ConstructIndexTwoSubdirectProductInfo</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructIndexTwoSubdirectProductInfo</code>( <var class="Arg">tbl</var>[, <var class="Arg">tblH1</var>, <var class="Arg">tblG1</var>, <var class="Arg">tblH2</var>, <var class="Arg">tblG2</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a list of constriction descriptions, or a construction description, or <code class="keyw">fail</code>.</p>

<p>Called with one argument <var class="Arg">tbl</var>, an ordinary character table of the group <span class="SimpleMath">G</span>, say, <code class="func">ConstructIndexTwoSubdirectProductInfo</code> analyzes the possibilities to construct <var class="Arg">tbl</var> from character tables of subgroups <span class="SimpleMath">H_1</span>, <span class="SimpleMath">H_2</span> and factor groups <span class="SimpleMath">G_1</span>, <span class="SimpleMath">G_2</span>, using <code class="func">CharacterTableOfIndexTwoSubdirectProduct</code> (<a href="chap5.html#X7D0207B07B48FD06"><span class="RefLink">5.5-1</span></a>). The return value is a list of records with the following components.</p>


<dl>
<dt><strong class="Mark"><code class="code">kernels</code></strong></dt>
<dd><p>the list of class positions of <span class="SimpleMath">H_1</span>, <span class="SimpleMath">H_2</span> in <var class="Arg">tbl</var>,</p>

</dd>
<dt><strong class="Mark"><code class="code">kernelsizes</code></strong></dt>
<dd><p>the list of orders of <span class="SimpleMath">H_1</span>, <span class="SimpleMath">H_2</span>,</p>

</dd>
<dt><strong class="Mark"><code class="code">factors</code></strong></dt>
<dd><p>the list of <code class="func">Identifier</code> (<span class="RefLink">Reference: Identifier (for character tables)</span>) values of the <strong class="pkg">GAP</strong> library tables of the factors <span class="SimpleMath">G_2</span>, <span class="SimpleMath">G_1</span> of <span class="SimpleMath">G</span> by <span class="SimpleMath">H_1</span>, <span class="SimpleMath">H_2</span>; if no such table is available then the entry is <code class="keyw">fail</code>, and</p>

</dd>
<dt><strong class="Mark"><code class="code">subgroups</code></strong></dt>
<dd><p>the list of <code class="func">Identifier</code> (<span class="RefLink">Reference: Identifier (for character tables)</span>) values of the <strong class="pkg">GAP</strong> library tables of the subgroups <span class="SimpleMath">H_2</span>, <span class="SimpleMath">H_1</span> of <span class="SimpleMath">G</span>; if no such tables are available then the entries are <code class="keyw">fail</code>.</p>

</dd>
</dl>
<p>If the returned list is empty then either <var class="Arg">tbl</var> does not have the desired structure as a subdirect product, <em>or</em> <var class="Arg">tbl</var> is in fact a nontrivial direct product.</p>

<p>Called with five arguments, the ordinary character tables of <span class="SimpleMath">G</span>, <span class="SimpleMath">H_1</span>, <span class="SimpleMath">G_1</span>, <span class="SimpleMath">H_2</span>, <span class="SimpleMath">G_2</span>, <code class="func">ConstructIndexTwoSubdirectProductInfo</code> returns a list that can be used as the <code class="func">ConstructionInfoCharacterTable</code> (<a href="chap3.html#X851118377D1D6EC9"><span class="RefLink">3.7-4</span></a>) value for the character table of <span class="SimpleMath">G</span> from the other four character tables using <code class="func">CharacterTableOfIndexTwoSubdirectProduct</code> (<a href="chap5.html#X7D0207B07B48FD06"><span class="RefLink">5.5-1</span></a>); if this is not possible then <code class="keyw">fail</code> is returned.</p>

<p><a id="X841CB81B835E50DE" name="X841CB81B835E50DE"></a></p>

<h4>5.6 <span class="Heading">Brauer Tables of Extensions by <span class="SimpleMath">p</span>-regular Automorphisms
</span></h4>

<p>As for the construction of Brauer character tables from known tables, the functions <code class="func">PossibleCharacterTablesOfTypeMGA</code> (<a href="chap5.html#X78F82DD67E083B88"><span class="RefLink">5.1-1</span></a>), <code class="func">CharacterTableOfTypeGS3</code> (<a href="chap5.html#X7E06095E7CB3316D"><span class="RefLink">5.2-1</span></a>), and <code class="func">PossibleCharacterTablesOfTypeGV4</code> (<a href="chap5.html#X7CACDDED7A8C1CF9"><span class="RefLink">5.3-1</span></a>) work for both ordinary and Brauer tables. The following function is designed specially for Brauer tables.</p>

<p><a id="X7AF3EA6C783FCFF9" name="X7AF3EA6C783FCFF9"></a></p>

<h5>5.6-1 IBrOfExtensionBySingularAutomorphism</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IBrOfExtensionBySingularAutomorphism</code>( <var class="Arg">modtbl</var>, <var class="Arg">act</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <var class="Arg">modtbl</var> be a <span class="SimpleMath">p</span>-modular Brauer table of the group <span class="SimpleMath">G</span>, say, and suppose that the group <span class="SimpleMath">H</span>, say, is an upward extension of <span class="SimpleMath">G</span> by an automorphism of order <span class="SimpleMath">p</span>.</p>

<p>The second argument <var class="Arg">act</var> describes the action of this automorphism. It can be either a permutation of the columns of <var class="Arg">modtbl</var>, or a list of the <span class="SimpleMath">H</span>-orbits on the columns of <var class="Arg">modtbl</var>, or the ordinary character table of <span class="SimpleMath">H</span> such that the class fusion from the ordinary table of <var class="Arg">modtbl</var> into this table is stored. In all these cases, <code class="func">IBrOfExtensionBySingularAutomorphism</code> returns the values lists of the irreducible <span class="SimpleMath">p</span>-modular Brauer characters of <span class="SimpleMath">H</span>.</p>

<p>Note that the table head of the <span class="SimpleMath">p</span>-modular Brauer table of <span class="SimpleMath">H</span>, in general without the <code class="func">Irr</code> (<span class="RefLink">Reference: Irr</span>) attribute, can be obtained by applying <code class="func">CharacterTableRegular</code> (<span class="RefLink">Reference: CharacterTableRegular</span>) to the ordinary character table of <span class="SimpleMath">H</span>, but <code class="func">IBrOfExtensionBySingularAutomorphism</code> can be used also if the ordinary character table of <span class="SimpleMath">H</span> is not known, and just the <span class="SimpleMath">p</span>-modular character table of <span class="SimpleMath">G</span> and the action of <span class="SimpleMath">H</span> on the classes of <span class="SimpleMath">G</span> are given.</p>

<p><a id="X844C69217B80537A" name="X844C69217B80537A"></a></p>

<h4>5.7 <span class="Heading">Character Tables of Coprime Central Extensions</span></h4>

<p><a id="X82CEF31D7815C53D" name="X82CEF31D7815C53D"></a></p>

<h5>5.7-1 CharacterTableOfCommonCentralExtension</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; CharacterTableOfCommonCentralExtension</code>( <var class="Arg">tblG</var>, <var class="Arg">tblmG</var>, <var class="Arg">tblnG</var>, <var class="Arg">id</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <var class="Arg">tblG</var> be the ordinary character table of a group <span class="SimpleMath">G</span>, say, and let <var class="Arg">tblmG</var> and <var class="Arg">tblnG</var> be the ordinary character tables of central extensions <span class="SimpleMath">m.G</span> and <span class="SimpleMath">n.G</span> of <span class="SimpleMath">G</span> by cyclic groups of prime orders <span class="SimpleMath">m</span> and <span class="SimpleMath">n</span>, respectively, with <span class="SimpleMath">m not= n</span>. We assume that the factor fusions from <var class="Arg">tblmG</var> and <var class="Arg">tblnG</var> to <var class="Arg">tblG</var> are stored on the tables. <code class="func">CharacterTableOfCommonCentralExtension</code> returns a record with the following components.</p>


<dl>
<dt><strong class="Mark"><code class="code">tblmnG</code></strong></dt>
<dd><p>the character table <span class="SimpleMath">t</span>, say, of the corresponding central extension of <span class="SimpleMath">G</span> by a cyclic group of order <span class="SimpleMath">m n</span> that factors through <span class="SimpleMath">m.G</span> and <span class="SimpleMath">n.G</span>; the <code class="func">Identifier</code> (<span class="RefLink">Reference: Identifier (for character tables)</span>) value of this table is <var class="Arg">id</var>,</p>

</dd>
<dt><strong class="Mark"><code class="code">IsComplete</code></strong></dt>
<dd><p><code class="keyw">true</code> if the <code class="func">Irr</code> (<span class="RefLink">Reference: Irr</span>) value is stored in <span class="SimpleMath">t</span>, and <code class="keyw">false</code> otherwise,</p>

</dd>
<dt><strong class="Mark"><code class="code">irreducibles</code></strong></dt>
<dd><p>the list of irreducibles of <span class="SimpleMath">t</span> that are known; it contains the inflated characters of the factor groups <span class="SimpleMath">m.G</span> and <span class="SimpleMath">n.G</span>, plus those irreducibles that were found in tensor products of characters of these groups.</p>

</dd>
</dl>
<p>Note that the conjugacy classes and the power maps of <span class="SimpleMath">t</span> are uniquely determined by the input data. Concerning the irreducible characters, we try to extract them from the tensor products of characters of the given factor groups by reducing with known irreducibles and applying the LLL algorithm (see <code class="func">ReducedClassFunctions</code> (<span class="RefLink">Reference: ReducedClassFunctions</span>) and <code class="func">LLL</code> (<span class="RefLink">Reference: LLL</span>)).</p>

<p><a id="X874C19D079CE0BE0" name="X874C19D079CE0BE0"></a></p>

<h4>5.8 <span class="Heading">Construction Functions used in the Character Table Library</span></h4>

<p>The following functions are used in the <strong class="pkg">GAP</strong> Character Table Library, for encoding table constructions via the mechanism that is based on the attribute <code class="func">ConstructionInfoCharacterTable</code> (<a href="chap3.html#X851118377D1D6EC9"><span class="RefLink">3.7-4</span></a>). All construction functions take as their first argument a record that describes the table to be constructed, and the function adds only those components that are not yet contained in this record.</p>

<p><a id="X7A948B397B5BC0AD" name="X7A948B397B5BC0AD"></a></p>

<h5>5.8-1 ConstructMGA</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructMGA</code>( <var class="Arg">tbl</var>, <var class="Arg">subname</var>, <var class="Arg">factname</var>, <var class="Arg">plan</var>, <var class="Arg">perm</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">ConstructMGA</code> constructs the irreducible characters of the ordinary character table <var class="Arg">tbl</var> of a group <span class="SimpleMath">m.G.a</span> where the automorphism <span class="SimpleMath">a</span> (a group of prime order) of <span class="SimpleMath">m.G</span> acts nontrivially on the central subgroup <span class="SimpleMath">m</span> of <span class="SimpleMath">m.G</span>. <var class="Arg">subname</var> is the name of the subgroup <span class="SimpleMath">m.G</span> which is a (not necessarily cyclic) central extension of the (not necessarily simple) group <span class="SimpleMath">G</span>, <var class="Arg">factname</var> is the name of the factor group <span class="SimpleMath">G.a</span>. Then the faithful characters of <var class="Arg">tbl</var> are induced from <span class="SimpleMath">m.G</span>.</p>

<p><var class="Arg">plan</var> is a list, each entry being a list containing positions of characters of <span class="SimpleMath">m.G</span> that form an orbit under the action of <span class="SimpleMath">a</span> (the induction of characters is encoded this way).</p>

<p><var class="Arg">perm</var> is the permutation that must be applied to the list of characters that is obtained on appending the faithful characters to the inflated characters of the factor group. A nonidentity permutation occurs for example for groups of structure <span class="SimpleMath">12.G.2</span> that are encoded via the subgroup <span class="SimpleMath">12.G</span> and the factor group <span class="SimpleMath">6.G.2</span>, where the faithful characters of <span class="SimpleMath">4.G.2</span> shall precede those of <span class="SimpleMath">6.G.2</span>, as in the <strong class="pkg">Atlas</strong>.</p>

<p>Examples where <code class="func">ConstructMGA</code> is used to encode library tables are the tables of <span class="SimpleMath">3.F_{3+}.2</span> (subgroup <span class="SimpleMath">3.F_{3+}</span>, factor group <span class="SimpleMath">F_{3+}.2</span>) and <span class="SimpleMath">12_1.U_4(3).2_2</span> (subgroup <span class="SimpleMath">12_1.U_4(3)</span>, factor group <span class="SimpleMath">6_1.U_4(3).2_2</span>).</p>

<p><a id="X84DE92E579BA7171" name="X84DE92E579BA7171"></a></p>

<h5>5.8-2 ConstructMGAInfo</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructMGAInfo</code>( <var class="Arg">tblmGa</var>, <var class="Arg">tblmG</var>, <var class="Arg">tblGa</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <var class="Arg">tblmGa</var> be the ordinary character table of a group of structure <span class="SimpleMath">m.G.a</span> where the factor group of prime order <span class="SimpleMath">a</span> acts nontrivially on the normal subgroup of order <span class="SimpleMath">m</span> that is central in <span class="SimpleMath">m.G</span>, <var class="Arg">tblmG</var> be the character table of <span class="SimpleMath">m.G</span>, and <var class="Arg">tblGa</var> be the character table of the factor group <span class="SimpleMath">G.a</span>.</p>

<p><code class="func">ConstructMGAInfo</code> returns the list that is to be stored in the library version of <var class="Arg">tblmGa</var>: the first entry is the string <code class="code">"ConstructMGA"</code>, the remaining four entries are the last four arguments for the call to <code class="func">ConstructMGA</code> (<a href="chap5.html#X7A948B397B5BC0AD"><span class="RefLink">5.8-1</span></a>).</p>

<p><a id="X80F14D1C86CF1E9C" name="X80F14D1C86CF1E9C"></a></p>

<h5>5.8-3 ConstructGS3</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructGS3</code>( <var class="Arg">tbls3</var>, <var class="Arg">tbl2</var>, <var class="Arg">tbl3</var>, <var class="Arg">ind2</var>, <var class="Arg">ind3</var>, <var class="Arg">ext</var>, <var class="Arg">perm</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructGS3Info</code>( <var class="Arg">tbl2</var>, <var class="Arg">tbl3</var>, <var class="Arg">tbls3</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">ConstructGS3</code> constructs the irreducibles of an ordinary character table <var class="Arg">tbls3</var> of type <span class="SimpleMath">G.S_3</span> from the tables with names <var class="Arg">tbl2</var> and <var class="Arg">tbl3</var>, which correspond to the groups <span class="SimpleMath">G.2</span> and <span class="SimpleMath">G.3</span>, respectively. <var class="Arg">ind2</var> is a list of numbers referring to irreducibles of <var class="Arg">tbl2</var>. <var class="Arg">ind3</var> is a list of pairs, each referring to irreducibles of <var class="Arg">tbl3</var>. <var class="Arg">ext</var> is a list of pairs, each referring to one irreducible character of <var class="Arg">tbl2</var> and one of <var class="Arg">tbl3</var>. <var class="Arg">perm</var> is a permutation that must be applied to the irreducibles after the construction.</p>

<p><code class="func">ConstructGS3Info</code> returns a record with the components <code class="code">ind2</code>, <code class="code">ind3</code>, <code class="code">ext</code>, <code class="code">perm</code>, and <code class="code">list</code>, as are needed for <code class="func">ConstructGS3</code>.</p>

<p><a id="X7C1CE54A864936E0" name="X7C1CE54A864936E0"></a></p>

<h5>5.8-4 ConstructV4G</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructV4G</code>( <var class="Arg">tbl</var>, <var class="Arg">facttbl</var>, <var class="Arg">aut</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <var class="Arg">tbl</var> be the character table of a group of type <span class="SimpleMath">2^2.G</span> where an outer automorphism of order <span class="SimpleMath">3</span> permutes the three involutions in the central <span class="SimpleMath">2^2</span>. Let <var class="Arg">aut</var> be the permutation of classes of <var class="Arg">tbl</var> induced by that automorphism, and <var class="Arg">facttbl</var> be the name of the character table of the factor group <span class="SimpleMath">2.G</span>. Then <code class="func">ConstructV4G</code> constructs the irreducible characters of <var class="Arg">tbl</var> from that information.</p>

<p><a id="X8726ADCC7BCEA96F" name="X8726ADCC7BCEA96F"></a></p>

<h5>5.8-5 ConstructProj</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructProj</code>( <var class="Arg">tbl</var>, <var class="Arg">irrinfo</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructProjInfo</code>( <var class="Arg">tbl</var>, <var class="Arg">kernel</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">ConstructProj</code> constructs the irreducible characters of the record encoding the ordinary character table <var class="Arg">tbl</var> from projective characters of tables of factor groups, which are stored in the <code class="func">ProjectivesInfo</code> (<a href="chap3.html#X82DC2E7779322DA8"><span class="RefLink">3.7-2</span></a>) value of the smallest factor; the information about the name of this factor and the projectives to take is stored in <var class="Arg">irrinfo</var>.</p>

<p><code class="func">ConstructProjInfo</code> takes an ordinary character table <var class="Arg">tbl</var> and a list <var class="Arg">kernel</var> of class positions of a cyclic kernel of order dividing <span class="SimpleMath">12</span>, and returns a record with the components</p>


<dl>
<dt><strong class="Mark"><code class="code">tbl</code></strong></dt>
<dd><p>a character table that is permutation isomorphic with <var class="Arg">tbl</var>, and sorted such that classes that differ only by multiplication with elements in the classes of <var class="Arg">kernel</var> are consecutive,</p>

</dd>
<dt><strong class="Mark"><code class="code">projectives</code></strong></dt>
<dd><p>a record being the entry for the <code class="code">projectives</code> list of the table of the factor of <var class="Arg">tbl</var> by <var class="Arg">kernel</var>, describing this part of the irreducibles of <var class="Arg">tbl</var>, and</p>

</dd>
<dt><strong class="Mark"><code class="code">info</code></strong></dt>
<dd><p>the value of <var class="Arg">irrinfo</var>.</p>

</dd>
</dl>
<p><a id="X7EF9996082140544" name="X7EF9996082140544"></a></p>

<h5>5.8-6 ConstructDirectProduct</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructDirectProduct</code>( <var class="Arg">tbl</var>, <var class="Arg">factors</var>[, <var class="Arg">permclasses</var>, <var class="Arg">permchars</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>The direct product of the library character tables described by the list <var class="Arg">factors</var> of table names is constructed using <code class="func">CharacterTableDirectProduct</code> (<span class="RefLink">Reference: CharacterTableDirectProduct</span>), and all its components that are not yet stored on <var class="Arg">tbl</var> are added to <var class="Arg">tbl</var>.</p>

<p>The <code class="func">ComputedClassFusions</code> (<span class="RefLink">Reference: ComputedClassFusions</span>) value of <var class="Arg">tbl</var> is enlarged by the factor fusions from the direct product to the factors.</p>

<p>If the optional arguments <var class="Arg">permclasses</var>, <var class="Arg">permchars</var> are given then the classes and characters of the result are sorted accordingly.</p>

<p><var class="Arg">factors</var> must have length at least two; use <code class="func">ConstructPermuted</code> (<a href="chap5.html#X7D3F0AC2825C8CA1"><span class="RefLink">5.8-11</span></a>) in the case of only one factor.</p>

<p><a id="X781EAFEB80EC1ED8" name="X781EAFEB80EC1ED8"></a></p>

<h5>5.8-7 ConstructCentralProduct</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructCentralProduct</code>( <var class="Arg">tbl</var>, <var class="Arg">factors</var>, <var class="Arg">Dclasses</var>[, <var class="Arg">permclasses</var>, <var class="Arg">permchars</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>The library table <var class="Arg">tbl</var> is completed with help of the table obtained by taking the direct product of the tables with names in the list <var class="Arg">factors</var>, and then factoring out the normal subgroup that is given by the list <var class="Arg">Dclasses</var> of class positions.</p>

<p>If the optional arguments <var class="Arg">permclasses</var>, <var class="Arg">permchars</var> are given then the classes and characters of the result are sorted accordingly.</p>

<p><a id="X84F6BB30845D75E1" name="X84F6BB30845D75E1"></a></p>

<h5>5.8-8 ConstructSubdirect</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructSubdirect</code>( <var class="Arg">tbl</var>, <var class="Arg">factors</var>, <var class="Arg">choice</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>The library table <var class="Arg">tbl</var> is completed with help of the table obtained by taking the direct product of the tables with names in the list <var class="Arg">factors</var>, and then taking the table consisting of the classes in the list <var class="Arg">choice</var>.</p>

<p>Note that in general, the restriction to the classes of a normal subgroup is not sufficient for describing the irreducible characters of this normal subgroup.</p>

<p><a id="X7F26BEC67B744999" name="X7F26BEC67B744999"></a></p>

<h5>5.8-9 ConstructWreathSymmetric</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructWreathSymmetric</code>( <var class="Arg">tbl</var>, <var class="Arg">subname</var>, <var class="Arg">n</var>[, <var class="Arg">permclasses</var>, <var class="Arg">permchars</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>The wreath product of the library character table with identifier value <var class="Arg">subname</var> with the symmetric group on <var class="Arg">n</var> points is constructed using <code class="func">CharacterTableWreathSymmetric</code> (<span class="RefLink">Reference: CharacterTableWreathSymmetric</span>), and all its components that are not yet stored on <var class="Arg">tbl</var> are added to <var class="Arg">tbl</var>.</p>

<p>If the optional arguments <var class="Arg">permclasses</var>, <var class="Arg">permchars</var> are given then the classes and characters of the result are sorted accordingly.</p>

<p><a id="X7F6A9FE57C77D778" name="X7F6A9FE57C77D778"></a></p>

<h5>5.8-10 ConstructIsoclinic</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructIsoclinic</code>( <var class="Arg">tbl</var>, <var class="Arg">factors</var>[, <var class="Arg">nsg</var>[, <var class="Arg">centre</var>]][, <var class="Arg">permclasses</var>, <var class="Arg">permchars</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>constructs first the direct product of library tables as given by the list <var class="Arg">factors</var> of admissible character table names, and then constructs the isoclinic table of the result using <code class="func">CharacterTableIsoclinic</code> (<span class="RefLink">Reference: CharacterTableIsoclinic</span>). The arguments <var class="Arg">nsg</var> and <var class="Arg">centre</var>, if present, are passed to <code class="func">CharacterTableIsoclinic</code> (<span class="RefLink">Reference: CharacterTableIsoclinic</span>).</p>

<p>If the optional arguments <var class="Arg">permclasses</var>, <var class="Arg">permchars</var> are given then the classes and characters of the result are sorted accordingly.</p>

<p><a id="X7D3F0AC2825C8CA1" name="X7D3F0AC2825C8CA1"></a></p>

<h5>5.8-11 ConstructPermuted</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructPermuted</code>( <var class="Arg">tbl</var>, <var class="Arg">libnam</var>[, <var class="Arg">permclasses</var>, <var class="Arg">permchars</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>The library table <var class="Arg">tbl</var> is computed from the library table with the name <var class="Arg">libnam</var>, by permuting the classes and the characters by the permutations <var class="Arg">permclasses</var> and <var class="Arg">permchars</var>, respectively.</p>

<p>So <var class="Arg">tbl</var> and the library table with the name <var class="Arg">libnam</var> are permutation equivalent. With the more general function <code class="func">ConstructAdjusted</code> (<a href="chap5.html#X85FE8954830F85A0"><span class="RefLink">5.8-12</span></a>), one can derive character tables that are not necessarily permutation equivalent, by additionally replacing some defining data.</p>

<p>The two permutations are optional. If they are missing then the lists of irreducible characters and the power maps of the two character tables coincide. However, different class fusions may be stored on the two tables. This is used for example in situations where a group has several classes of isomorphic maximal subgroups whose class fusions are different; different character tables (with different identifiers) are stored for the different classes, each with appropriate class fusions, and all these tables except the one for the first class of subgroups can be derived from this table via <code class="func">ConstructPermuted</code>.</p>

<p><a id="X85FE8954830F85A0" name="X85FE8954830F85A0"></a></p>

<h5>5.8-12 ConstructAdjusted</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructAdjusted</code>( <var class="Arg">tbl</var>, <var class="Arg">libnam</var>, <var class="Arg">pairs</var>[, <var class="Arg">permclasses</var>, <var class="Arg">permchars</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>The defining attribute values of the library table <var class="Arg">tbl</var> are given by the attribute values described by the list <var class="Arg">pairs</var> and –for those attributes which do not appear in <var class="Arg">pairs</var>– by the attribute values of the library table with the name <var class="Arg">libnam</var>, whose classes and characters have been permuted by the optional permutations <var class="Arg">permclasses</var> and <var class="Arg">permchars</var>, respectively.</p>

<p>This construction can be used to derive a character table from another library table (the one with the name <var class="Arg">libnam</var>) that is <em>not</em> permutation equivalent to this table. For example, it may happen that the character tables of a split and a nonsplit extension differ only by some power maps and element orders. In this case, one can encode one of the tables via <code class="func">ConstructAdjusted</code>, by prescribing just the power maps in the list <var class="Arg">pairs</var>.</p>

<p>If no replacement of components is needed then one should better use <code class="func">ConstructPermuted</code> (<a href="chap5.html#X7D3F0AC2825C8CA1"><span class="RefLink">5.8-11</span></a>), because the system can then exploit the fact that the two tables are permutation equivalent.</p>

<p><a id="X803FE1FF82790290" name="X803FE1FF82790290"></a></p>

<h5>5.8-13 ConstructFactor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConstructFactor</code>( <var class="Arg">tbl</var>, <var class="Arg">libnam</var>, <var class="Arg">kernel</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>The library table <var class="Arg">tbl</var> is completed with help of the library table with name <var class="Arg">libnam</var>, by factoring out the classes in the list <var class="Arg">kernel</var>.</p>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap4.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap6.html">[Next Chapter]</a>&nbsp;  </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>