/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"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap4.html">[Previous Chapter]</a> <a href="chap6.html">[Next Chapter]</a> </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"> </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"> </span><a href="chap5.html#X78F82DD67E083B88">5.1-1 PossibleCharacterTablesOfTypeMGA</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X83BE977185ADC24B">5.1-2 BrauerTableOfTypeMGA</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X7899AA12836EEF8F">5.1-3 PossibleActionsForTypeMGA</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap5.html#X7E06095E7CB3316D">5.2-1 <span class="Heading">CharacterTableOfTypeGS3</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X82FC6C377BEF0139">5.2-2 PossibleActionsForTypeGS3</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap5.html#X7CACDDED7A8C1CF9">5.3-1 <span class="Heading">PossibleCharacterTablesOfTypeGV4</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X7CCD5A2979883144">5.3-2 PossibleActionsForTypeGV4</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap5.html#X7E7043A5857B9240">5.4-1 <span class="Heading">PossibleCharacterTablesOfTypeV4G</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </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"> </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"> </span><a href="chap5.html#X7D0207B07B48FD06">5.5-1 CharacterTableOfIndexTwoSubdirectProduct</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X8714D24B802DA949">5.5-2 ConstructIndexTwoSubdirectProduct</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X8254CA95814DF613">5.5-3 ConstructIndexTwoSubdirectProductInfo</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap5.html#X7AF3EA6C783FCFF9">5.6-1 IBrOfExtensionBySingularAutomorphism</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap5.html#X82CEF31D7815C53D">5.7-1 CharacterTableOfCommonCentralExtension</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap5.html#X7A948B397B5BC0AD">5.8-1 ConstructMGA</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X84DE92E579BA7171">5.8-2 ConstructMGAInfo</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X80F14D1C86CF1E9C">5.8-3 ConstructGS3</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X7C1CE54A864936E0">5.8-4 ConstructV4G</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X8726ADCC7BCEA96F">5.8-5 ConstructProj</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X7EF9996082140544">5.8-6 ConstructDirectProduct</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X781EAFEB80EC1ED8">5.8-7 ConstructCentralProduct</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X84F6BB30845D75E1">5.8-8 ConstructSubdirect</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X7F26BEC67B744999">5.8-9 ConstructWreathSymmetric</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X7F6A9FE57C77D778">5.8-10 ConstructIsoclinic</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X7D3F0AC2825C8CA1">5.8-11 ConstructPermuted</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap5.html#X85FE8954830F85A0">5.8-12 ConstructAdjusted</a></span>
<span class="ContSS"><br /><span class="nocss"> </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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap4.html">[Previous Chapter]</a> <a href="chap6.html">[Next Chapter]</a> </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>
|