Quelle chap3.html
Sprache: HTML
|
|
| products/sources/formale Sprachen/GAP/pkg/ctbllib/doc/chap3.html |
 |
<?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 3: The User Interface to the GAP Character Table Library</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="chap3" 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="chap7.html">7</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="chap2.html">[Previous Chapter]</a> <a href="chap4.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap3_mj.html">[MathJax on]</a></p>
<p><a id="X7EB517EB7A50A58F" name="X7EB517EB7A50A58F"></a></p>
<div class="ChapSects"><a href="chap3.html#X7EB517EB7A50A58F">3 <span class="Heading">The User Interface to the <strong class="pkg">GAP</strong> Character Table Library</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7A5EECF8853A05A0">3.1 <span class="Heading">Accessing Data of the <strong class="pkg">CTblLib</strong> Package</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X818A9DE5799A4809">3.1-1 <span class="Heading">Admissible Names for Character Tables in <strong class="pkg">CTblLib</strong>
</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X86C06F408706F27A">3.1-2 CharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7E42C22278DA4048">3.1-3 BrauerTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7C091641852BB6FE">3.1-4 AllCharacterTableNames</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7EC4A57E8393D75C">3.1-5 OneCharacterTableName</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X845DEEE282D4F1EB">3.1-6 NameOfEquivalentLibraryCharacterTable</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7EED71B4827BEBFA">3.2 <span class="Heading">The Interface to the <strong class="pkg">TomLib</strong> Package</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X8400C0397CA2FA3C">3.2-1 TableOfMarks</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X87110C1584D09BE4">3.2-2 CharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7A82CB487DBDDC53">3.2-3 FusionCharTableTom</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7B1AAED68753B1BE">3.2-4 FusionToTom</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X8435BFE878FFFDAB">3.2-5 NameOfLibraryCharacterTable</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X83D85EB2792D9D22">3.3 <span class="Heading">The Interface to <strong class="pkg">GAP</strong>'s Group Libraries
</ span>
< div class= "ContSSBlock">
< span class= "ContSS">< br />< span class= "nocss"> </ span><a href= "chap3.html#X78DCD38B7D96D8A4">3 .3-1 GroupInfoForCharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X87CFDC8081767CA4">3.3-2 KnowsSomeGroupInfo</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X78B7A5DB87B5285C">3.3-3 CharacterTableForGroupInfo</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X804D2AC37E0D4755">3.3-4 GroupForGroupInfo</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X83B9EFB47CE0A617">3.3-5 GroupForTom</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X8032EF83823B1D88">3.3-6 AtlasStabilizer</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7AADD757809DFDD5">3.3-7 IsNontrivialDirectProduct</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7C1F6C01852D7933">3.4 <span class="Heading">Unipotent Characters of Finite Groups of Lie Type</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X79F645F278C27F23">3.4-1 UnipotentCharacter</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X803FD7F87AFBBDE4">3.4-2 DeligneLusztigNames</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X84B9D8EF84EB4145">3.4-3 DeligneLusztigName</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X78A05C0A82E23048">3.4-4 KnowsDeligneLusztigNames</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7900893987A89915">3.5 <span class="Heading"><strong class="pkg">Browse</strong> Applications Provided by
<strong class="pkg">CTblLib</strong></span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X8684C73E844E7033">3.5-1 DisplayCTblLibInfo</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7A038A267CD17032">3.5-2 BrowseCTblLibInfo</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X83FDD44E7E0AE885">3.5-3 BrowseCommonIrrationalities</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X87CA74CF7B533CC6">3.5-4 BrowseCTblLibDifferences</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X8135745381E1C0E2">3.5-5 BrowseAtlasContents</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X810789F77F20C839">3.5-6 DisplayAtlasContents</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X86AC6408815EF122">3.5-7 BrowseAtlasMap</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X875A6BB485A49976">3.5-8 DisplayAtlasMap</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X79DC72707B08A701">3.5-9 BrowseAtlasTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X79E3F783818FE75A">3.5-10 BrowseAtlasImprovements</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7E5CFB187E313B11">3.6 <span class="Heading">Duplicates of Library Character Tables</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7FD4A9DF7CBAA418">3.6-1 IsDuplicateTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X860F49407882658F">3.6-2 IdentifierOfMainTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7C83435B78DE62F6">3.6-3 IdentifiersOfDuplicateTables</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7CCFEC998135F6FA">3.7 <span class="Heading">Attributes for Library Character Tables</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X8150E63F7DBDF252">3.7-1 Maxes</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X82DC2E7779322DA8">3.7-2 ProjectivesInfo</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X82A008987DB887C2">3.7-3 ExtensionInfoCharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X851118377D1D6EC9">3.7-4 ConstructionInfoCharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X871562FD7F982C12">3.7-5 InfoText</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X867813EB79DC6953">3.7-6 IsAtlasCharacterTable</a></span>
</div></div>
</div>
<h3>3 <span class="Heading">The User Interface to the <strong class="pkg">GAP</strong> Character Table Library</span></h3>
<p><a id="X7A5EECF8853A05A0" name="X7A5EECF8853A05A0"></a></p>
<h4>3.1 <span class="Heading">Accessing Data of the <strong class="pkg">CTblLib</strong> Package</span></h4>
<p><a id="X818A9DE5799A4809" name="X818A9DE5799A4809"></a></p>
<h5>3.1-1 <span class="Heading">Admissible Names for Character Tables in <strong class="pkg">CTblLib</strong>
</span></h5>
<p>When you access a character table from the <strong class="pkg">GAP</strong> Character Table Library, this table is specified by an admissible name.</p>
<p>Admissible names for the <em>ordinary character table</em> <span class="SimpleMath">tbl</span> of the group <span class="SimpleMath">G</span> are</p>
<ul>
<li><p>an <strong class="pkg">Atlas</strong> like name if <span class="SimpleMath">tbl</span> is an <strong class="pkg">Atlas</strong> table (see Section <a href="chap4.html#X7F44BD4B79473085"><span class="RefLink">4.3</span></a>), for example <code class="code">"M22"</code> for the table of the Mathieu group <span class="SimpleMath">M_22</span>, <code class="code">"L2(13).2"</code> for <span class="SimpleMath">L_2(13):2</span>, and <code class="code">"12_1.U4(3).2_1"</code> for <span class="SimpleMath">12_1.U_4(3).2_1</span>.</p>
<p>(The difference to the name printed in the <strong class="pkg">Atlas</strong> is that subscripts and superscripts are omitted except if they are used to qualify integer values, and double dots are replaced by a single dot.)</p>
</li>
<li><p>the names that were admissible for tables of <span class="SimpleMath">G</span> in the <strong class="pkg">CAS</strong> system if the <strong class="pkg">CAS</strong> table library contained a table of <span class="SimpleMath">G</span>, for example <code class="code">sl42</code> for the table of the alternating group <span class="SimpleMath">A_8</span>.</p>
<p>(But note that the ordering of rows and columns of the <strong class="pkg">GAP</strong> table may be different from that in <strong class="pkg">CAS</strong>, see Section <a href="chap4.html#X7BC3F0B0814D5B67"><span class="RefLink">4.4</span></a>.)</p>
</li>
<li><p>some <q>relative</q> names, as follows.</p>
<ul>
<li><p>If <span class="SimpleMath">G</span> is the <span class="SimpleMath">n</span>-th maximal subgroup (in decreasing group order) of a group whose library table <span class="SimpleMath">subtbl</span> is available in <strong class="pkg">GAP</strong> and stores the <code class="func">Maxes</code> (<a href="chap3.html#X8150E63F7DBDF252"><span class="RefLink">3.7-1</span></a>) value, and if <code class="code">name</code> is an admissible name for <span class="SimpleMath">subtbl</span> then <code class="code">name</code>M<span class="SimpleMath">n</span> is admissible for <span class="SimpleMath">tbl</span>. For example, the name <code class="code">"J3M2"</code> can be used to access the second maximal subgroup of the sporadic simple Janko group <span class="SimpleMath">J_3</span> which has the admissible name <code class="code">"J3"</code>.</p>
</li>
<li><p>If <span class="SimpleMath">G</span> is a nontrivial Sylow <span class="SimpleMath">p</span> normalizer in a sporadic simple group with admissible name <code class="code">name</code> –where nontrivial means that <span class="SimpleMath">G</span> is not isomorphic to a subgroup of <span class="SimpleMath">p:(p-1)</span>– then <code class="code">name</code>N<span class="SimpleMath">p</span> is an admissible name of <span class="SimpleMath">tbl</span>. For example, the name <code class="code">"J4N11"</code> can be used to access the table of the Sylow <span class="SimpleMath">11</span> normalizer in the sporadic simple Janko group <span class="SimpleMath">J_4</span>.</p>
</li>
<li><p>In a few cases, the table of the Sylow <span class="SimpleMath">p</span>-subgroup of <span class="SimpleMath">G</span> is accessible via the name <code class="code">name</code>Syl<span class="SimpleMath">p</span> where <code class="code">name</code> is an admissible name of the table of <span class="SimpleMath">G</span>. For example, <code class="code">"A11Syl2"</code> is an admissible name for the table of the Sylow <span class="SimpleMath">2</span>-subgroup of the alternating group <span class="SimpleMath">A_11</span>.</p>
</li>
<li><p>In a few cases, the table of an element centralizer in <span class="SimpleMath">G</span> is accessible via the name <code class="code">name</code>C<span class="SimpleMath">cl</span> where <code class="code">name</code> is an admissible name of the table of <span class="SimpleMath">G</span>. For example, <code class="code">"M11C2"</code> is an admissible name for the table of an involution centralizer in the Mathieu group <span class="SimpleMath">M_11</span>.</p>
</li>
</ul>
</li>
</ul>
<p>The recommended way to access a <em>Brauer table</em> is via applying the <code class="keyw">mod</code> operator to the ordinary table and the desired characteristic (see <code class="func">BrauerTable</code> (<a href="../../../doc/ref/chap71.html#X8476B25A79D7A7FC"><span class="RefLink">Reference: BrauerTable</span></a>) and Section <a href="../../../doc/ref/chap71.html#X7CADCBC9824CB624"><span class="RefLink">Reference: Operators for Character Tables</span></a>), so it is not necessary to define admissible names of Brauer tables.</p>
<p>A <em>generic character table</em> (see Section <a href="chap4.html#X81E3F9A384365282"><span class="RefLink">4.2</span></a>) is accessible only by the name given by its <code class="func">Identifier</code> (<a href="../../../doc/ref/chap71.html#X79C40EE97890202F"><span class="RefLink">Reference: Identifier for character tables</span></a>) value.</p>
<p><a id="X86C06F408706F27A" name="X86C06F408706F27A"></a></p>
<h5>3.1-2 CharacterTable</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CharacterTable</code>( <var class="Arg">tblname</var>[, <var class="Arg">para1</var>[, <var class="Arg">para2</var>]] )</td><td class="tdright">( method )</td></tr></table></div>
<p>If the only argument is a string <var class="Arg">tblname</var> and if this is an admissible name (see <a href="chap3.html#X818A9DE5799A4809"><span class="RefLink">3.1-1</span></a>) of a library character table then <code class="func">CharacterTable</code> returns this library table, otherwise <code class="keyw">fail</code>.</p>
<p>If <code class="func">CharacterTable</code> is called with more than one argument then the first must be a string <var class="Arg">tblname</var> specifying a series of groups which is implemented via a generic character table, for example <code class="code">"Symmetric"</code> for symmetric groups; the remaining arguments specialize the desired member of the series (see Section <a href="chap4.html#X81E3F9A384365282"><span class="RefLink">4.2</span></a> for a list of available generic tables). If no generic table with name <var class="Arg">tblname</var> is available or if the parameters are not admissible then <code class="func">CharacterTable</code> returns <code class="keyw">fail</code>.</p>
<p>A call of <code class="func">CharacterTable</code> may cause that some library files are read and that some table objects are constructed from the data stored in these files, so fetching a library table may take more time than one expects.</p>
<p>Case is not significant for <var class="Arg">tblname</var>. For example, both <code class="code">"suzm3"</code> and <code class="code">"SuzM3"</code> can be entered in order to access the character table of the third class of maximal subgroups of the sporadic simple Suzuki group.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s5:= CharacterTable( "A5.2" );</span>
CharacterTable( "A5.2" )
<span class="GAPprompt">gap></span> <span class="GAPinput">sym5:= CharacterTable( "Symmetric", 5 );</span>
CharacterTable( "Sym(5)" )
<span class="GAPprompt">gap></span> <span class="GAPinput">TransformingPermutationsCharacterTables( s5, sym5 );</span>
rec( columns := (2,3,4,7,5), group := Group(()),
rows := (1,7,3,4,6,5,2) )
</pre></div>
<p>The above two tables are tables of the symmetric group on five letters; the first is in <strong class="pkg">Atlas</strong> format (see Section <a href="chap4.html#X7F44BD4B79473085"><span class="RefLink">4.3</span></a>), the second is constructed from the generic table for symmetric groups (see <a href="chap4.html#X81E3F9A384365282"><span class="RefLink">4.2</span></a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">CharacterTable( "J5" );</span>
fail
<span class="GAPprompt">gap></span> <span class="GAPinput">CharacterTable( "A5" ) mod 2;</span>
BrauerTable( "A5", 2 )
</pre></div>
<p><a id="X7E42C22278DA4048" name="X7E42C22278DA4048"></a></p>
<h5>3.1-3 BrauerTable</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ BrauerTable</code>( <var class="Arg">tblname</var>, <var class="Arg">p</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Called with a string <var class="Arg">tblname</var> and a prime integer <var class="Arg">p</var>, <code class="func">BrauerTable</code> returns the <var class="Arg">p</var>-modular character table of the ordinary character table with admissible name <var class="Arg">tblname</var>, if such an ordinary character table exists and if <strong class="pkg">GAP</strong> can compute its <var class="Arg">p</var>-modular table. Otherwise <code class="keyw">fail</code> is returned.</p>
<p>The default method delegates to <code class="func">BrauerTable</code> (<a href="../../../doc/ref/chap71.html#X8476B25A79D7A7FC"><span class="RefLink">Reference: BrauerTable for a character table, and a prime integer</span></a>) with arguments the <code class="func">CharacterTable</code> (<a href="chap3.html#X86C06F408706F27A"><span class="RefLink">3.1-2</span></a>) value of <var class="Arg">tblname</var> and <var class="Arg">p</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrauerTable( "A5", 2 );</span>
BrauerTable( "A5", 2 )
<span class="GAPprompt">gap></span> <span class="GAPinput">BrauerTable( "J5", 2 ); # no ordinary table with name J5</span>
fail
<span class="GAPprompt">gap></span> <span class="GAPinput">BrauerTable( "M", 2 ); # Brauer table not known</span>
fail
</pre></div>
<p><a id="X7C091641852BB6FE" name="X7C091641852BB6FE"></a></p>
<h5>3.1-4 AllCharacterTableNames</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AllCharacterTableNames</code>( [<var class="Arg">func</var>, <var class="Arg">val</var>, <var class="Arg">...</var>[, <var class="Arg">OfThose</var>, <var class="Arg">func</var>]]<var class="Arg">:</var> <var class="Arg">OrderedBy</var> <var class="Arg">:=</var> <var class="Arg">func</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Similar to group libraries (see Chapter <a href="../../../doc/ref/chap50.html#X81B00B667D2BD022"><span class="RefLink">Reference: Group Libraries</span></a>), the <strong class="pkg">GAP</strong> Character Table Library can be used to search for ordinary character tables with prescribed properties.</p>
<p>A specific library table can be selected by an admissible name, see <a href="chap3.html#X818A9DE5799A4809"><span class="RefLink">3.1-1</span></a>.</p>
<p>The <em>selection function</em> (see <a href="../../../doc/ref/chap50.html#X82676ED5826E9E2E"><span class="RefLink">Reference: Selection Functions</span></a>) for character tables from the <strong class="pkg">GAP</strong> Character Table Library that have certain abstract properties is <code class="func">AllCharacterTableNames</code>. Contrary to the situation in the case of group libraries, the selection function returns a list not of library character tables but of their names; using <code class="func">CharacterTable</code> (<a href="chap3.html#X86C06F408706F27A"><span class="RefLink">3.1-2</span></a>) one can then access the tables themselves.</p>
<p><code class="func">AllCharacterTableNames</code> takes an arbitrary even number of arguments. The argument at each odd position must be a function, and the argument at the subsequent even position must be either a value that this function must return when called for the character table in question, in order to have the name of the table included in the selection, or a list of such values, or a function that returns <code class="keyw">true</code> for such a value, and <code class="keyw">false</code> otherwise. For example,</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">names:= AllCharacterTableNames();;</span>
</pre></div>
<p>returns a list containing one admissible name of each ordinary character table in the <strong class="pkg">GAP</strong> library,</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">simpnames:= AllCharacterTableNames( IsSimple, true,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> IsAbelian, false );;</span>
</pre></div>
<p>returns a list containing an admissible name of each ordinary character table in the <strong class="pkg">GAP</strong> library whose groups are nonabelian and simple, and</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">AllCharacterTableNames( IsSimple, true, IsAbelian, false,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> Size, [ 1 .. 100 ] );</span>
[ "A5", "A6M2", "Alt(5)" ]
</pre></div>
<p>returns a list containing an admissible name of each ordinary character table in the <strong class="pkg">GAP</strong> library whose groups are nonabelian and simple and have order at most <span class="SimpleMath">100</span>, respectively. (Note that <code class="code">"A5"</code>, <code class="code">"A6M2"</code>, and <code class="code">"Alt(5)"</code> are identifiers of permutation equivalent character tables. It would be possible to exclude duplicates, see Section <a href="chap3.html#X7E5CFB187E313B11"><span class="RefLink">3.6</span></a>).</p>
<p>Similarly,</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">AllCharacterTableNames( Size, IsPrimeInt );</span>
[ "2.Alt(2)", "Alt(3)", "C2", "C3", "Sym(2)" ]
</pre></div>
<p>returns the list of all identifiers of library tables whose <code class="func">Size</code> (<a href="../../../doc/ref/chap30.html#X858ADA3B7A684421"><span class="RefLink">Reference: Size</span></a>) value is a prime integer, and</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">AllCharacterTableNames( Identifier,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> x -> PositionSublist( x, "L8" ) <> fail );</span>
[ "L8(2)", "P1L82", "P2L82" ]
</pre></div>
<p>returns the identifiers that contain the string <code class="code">"L8"</code> as a substring.</p>
<p>For the sake of efficiency, the attributes whose names are listed in <code class="code">CTblLib.SupportedAttributes</code> are handled in a special way, <strong class="pkg">GAP</strong> need not read all files of the table library in these cases in order to find the desired names.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">CTblLib.SupportedAttributes;</span>
[ "AbelianInvariants", "HasFusionToTom", "Identifier",
"IdentifiersOfDuplicateTables", "InfoText", "IsAbelian",
"IsAlmostSimple", "IsAtlasCharacterTable", "IsDuplicateTable",
"IsNontrivialDirectProduct", "IsPerfect", "IsQuasisimple",
"IsSimple", "IsSporadicSimple", "KnowsDeligneLusztigNames",
"KnowsSomeGroupInfo", "Maxes", "NamesOfFusionSources",
"NrConjugacyClasses", "Size" ]
</pre></div>
<p>If the <strong class="pkg">Browse</strong> package (see <a href="chapBib.html#biBBrowse">[BL23]</a>) is not loaded then <code class="code">CTblLib.SupportedAttributes</code> contains only <code class="code">"Identifier"</code>, and <code class="func">AllCharacterTableNames</code> will be very slow when one selects character tables according to other attributes from the list shown above.</p>
<p>The global option <code class="code">OrderedBy</code> can be used to prescribe the ordering of the result. The value of this option, if given, must be a function that takes a character table as its unique argument; the result list is then sorted according to the results of this function (w. r. t. the comparison by <strong class="pkg">GAP</strong>'s \< operation).
<p>For example, we may be interested in the tables of small sporadic simple groups, ordered alphabetically or by size (<code class="func">Size</code> (<a href="../../../doc/ref/chap71.html#X81EFD9FE804AC6EE"><span class="RefLink">Reference: Size for a character table</span></a>)) or by the number of conjugacy classes (<code class="func">NrConjugacyClasses</code> (<a href="../../../doc/ref/chap71.html#X81EFD9FE804AC6EE"><span class="RefLink">Reference: NrConjugacyClasses for a character table</span></a>)).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">AllCharacterTableNames( IsSporadicSimple, true,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> Size, [ 1 .. 10^6 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput"> IsDuplicateTable, false );</span>
[ "J1", "J2", "M11", "M12", "M22" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">AllCharacterTableNames( IsSporadicSimple, true,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> Size, [ 1 .. 10^6 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput"> IsDuplicateTable, false : OrderedBy:= Size );</span>
[ "M11", "M12", "J1", "M22", "J2" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">AllCharacterTableNames( IsSporadicSimple, true,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> Size, [ 1 .. 10^6 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput"> IsDuplicateTable, false : OrderedBy:= NrConjugacyClasses );</span>
[ "M11", "M22", "J1", "M12", "J2" ]
</pre></div>
<p>(Note that the alphabtical ordering could also be achieved by entering <code class="code">OrderedBy:= Identifier</code>.)</p>
<p>If the dummy function <code class="code">OfThose</code> is an argument at an odd position then the following argument <var class="Arg">func</var> must be a function that takes a character table and returns a name of a character table or a list of names; this is interpreted as replacement of the names computed up to this position by the union of names returned by <var class="Arg">func</var>. For example, <var class="Arg">func</var> may be <code class="func">Maxes</code> (<a href="chap3.html#X8150E63F7DBDF252"><span class="RefLink">3.7-1</span></a>) or <code class="func">NamesOfFusionSources</code> (<a href="../../../doc/ref/chap73.html#X7F6569D5786A9D49"><span class="RefLink">Reference: NamesOfFusionSources</span></a>)).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">maxesnames:= AllCharacterTableNames( IsSporadicSimple, true,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> HasMaxes, true,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> OfThose, Maxes );;</span>
</pre></div>
<p>returns the union of names of ordinary tables of those maximal subgroups of sporadic simple groups that are contained in the table library in the sense that the attribute <code class="func">Maxes</code> (<a href="chap3.html#X8150E63F7DBDF252"><span class="RefLink">3.7-1</span></a>) is set.</p>
<p>For the sake of efficiency, <code class="code">OfThose</code> followed by one of the arguments <code class="func">AutomorphismGroup</code> (<a href="../../../doc/ref/chap40.html#X87677B0787B4461A"><span class="RefLink">Reference: AutomorphismGroup</span></a>), <code class="func">SchurCover</code> (<a href="../../../doc/ref/chap39.html#X7DD1E37987612042"><span class="RefLink">Reference: SchurCover</span></a>), <code class="code">CompleteGroup</code> is handled in a special way.</p>
<p><a id="X7EC4A57E8393D75C" name="X7EC4A57E8393D75C"></a></p>
<h5>3.1-5 OneCharacterTableName</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ OneCharacterTableName</code>( [<var class="Arg">func</var>, <var class="Arg">val</var>, <var class="Arg">...</var>[, <var class="Arg">OfThose</var>, <var class="Arg">func</var>]]<var class="Arg">:</var> <var class="Arg">OrderedBy</var> <var class="Arg">:=</var> <var class="Arg">func</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>The example function for character tables from the <strong class="pkg">GAP</strong> Character Table Library that have certain abstract properties is <code class="func">OneCharacterTableName</code>. It is analogous to the selection function <code class="func">AllCharacterTableNames</code> (<a href="chap3.html#X7C091641852BB6FE"><span class="RefLink">3.1-4</span></a>), the difference is that it returns one <code class="func">Identifier</code> (<a href="../../../doc/ref/chap71.html#X79C40EE97890202F"><span class="RefLink">Reference: Identifier for character tables</span></a>) value of a character table with the properties in question instead of the list of all such values. If no table with the required properties is contained in the <strong class="pkg">GAP</strong> Character Table Library then <code class="keyw">fail</code> is returned.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">OneCharacterTableName( IsSimple, true, Size, 60 );</span>
"A5"
<span class="GAPprompt">gap></span> <span class="GAPinput">OneCharacterTableName( IsSimple, true, Size, 20 );</span>
fail
</pre></div>
<p>The global option <code class="code">OrderedBy</code> can be used to search for a <q>smallest</q> example, according to the value of the option. If this function is one of the attributes whose names are listed in <code class="code">CTblLib.SupportedAttributes</code> then the tables are processed according to increasing values of the option, which may speed up the search.</p>
<p><a id="X845DEEE282D4F1EB" name="X845DEEE282D4F1EB"></a></p>
<h5>3.1-6 NameOfEquivalentLibraryCharacterTable</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NameOfEquivalentLibraryCharacterTable</code>( <var class="Arg">ordtbl</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">‣ NamesOfEquivalentLibraryCharacterTables</code>( <var class="Arg">ordtbl</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <var class="Arg">ordtbl</var> be an ordinary character table. <code class="func">NameOfEquivalentLibraryCharacterTable</code> returns the <code class="func">Identifier</code> (<a href="../../../doc/ref/chap71.html#X79C40EE97890202F"><span class="RefLink">Reference: Identifier for character tables</span></a>) value of a character table in the <strong class="pkg">GAP</strong> Character Table Library that is permutation equivalent to <var class="Arg">ordtbl</var> (see <code class="func">TransformingPermutationsCharacterTables</code> (<a href="../../../doc/ref/chap71.html#X849731AA7EC9FA73"><span class="RefLink">Reference: TransformingPermutationsCharacterTables</span></a>)) if such a character table exists, and <code class="keyw">fail</code> otherwise. <code class="func">NamesOfEquivalentLibraryCharacterTables</code> returns the list of all <code class="func">Identifier</code> (<a href="../../../doc/ref/chap71.html#X79C40EE97890202F"><span class="RefLink">Reference: Identifier for character tables</span></a>) values of character tables in the <strong class="pkg">GAP</strong> Character Table Library that are permutation equivalent to <var class="Arg">ordtbl</var>; thus an empty list is returned in this case if no equivalent library table exists.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">tbl:= CharacterTable( "Alternating", 5 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">NameOfEquivalentLibraryCharacterTable( tbl );</span>
"A5"
<span class="GAPprompt">gap></span> <span class="GAPinput">NamesOfEquivalentLibraryCharacterTables( tbl );</span>
[ "A5", "A6M2", "Alt(5)" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">tbl:= CharacterTable( "Cyclic", 17 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">NameOfEquivalentLibraryCharacterTable( tbl );</span>
fail
<span class="GAPprompt">gap></span> <span class="GAPinput">NamesOfEquivalentLibraryCharacterTables( tbl );</span>
[ ]
</pre></div>
<p><a id="X7EED71B4827BEBFA" name="X7EED71B4827BEBFA"></a></p>
<h4>3.2 <span class="Heading">The Interface to the <strong class="pkg">TomLib</strong> Package</span></h4>
<p>The <strong class="pkg">GAP</strong> Character Table Library contains ordinary character tables of all groups for which the <strong class="pkg">TomLib</strong> package <a href="chapBib.html#biBTomLib">[MNP19]</a> contains the table of marks. This section describes the mapping between these character tables and their tables of marks.</p>
<p>If the <strong class="pkg">TomLib</strong> package is not loaded then <code class="func">FusionToTom</code> (<a href="chap3.html#X7B1AAED68753B1BE"><span class="RefLink">3.2-4</span></a>) is the only available function from this section, but of course it is of little interest in this situation.</p>
<p><a id="X8400C0397CA2FA3C" name="X8400C0397CA2FA3C"></a></p>
<h5>3.2-1 TableOfMarks</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TableOfMarks</code>( <var class="Arg">tbl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Let <var class="Arg">tbl</var> be an ordinary character table from the <strong class="pkg">GAP</strong> Character Table Library, for the group <span class="SimpleMath">G</span>, say. If the <strong class="pkg">TomLib</strong> package is loaded and contains the table of marks of <span class="SimpleMath">G</span> then there is a method based on <code class="func">TableOfMarks</code> (<a href="../../../doc/ref/chap70.html#X85B262AB7E219C34"><span class="RefLink">Reference: TableOfMarks for a string</span></a>) that returns this table of marks. If there is no such table of marks but <var class="Arg">tbl</var> knows its underlying group then this method delegates to the group. Otherwise <code class="keyw">fail</code> is returned.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">TableOfMarks( CharacterTable( "A5" ) );</span>
TableOfMarks( "A5" )
<span class="GAPprompt">gap></span> <span class="GAPinput">TableOfMarks( CharacterTable( "M" ) );</span>
fail
</pre></div>
<p><a id="X87110C1584D09BE4" name="X87110C1584D09BE4"></a></p>
<h5>3.2-2 CharacterTable</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CharacterTable</code>( <var class="Arg">tom</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>For a table of marks <var class="Arg">tom</var>, this method for <code class="func">CharacterTable</code> (<a href="../../../doc/ref/chap71.html#X7FCA7A7A822BDA33"><span class="RefLink">Reference: CharacterTable for a group</span></a>) returns the character table corresponding to <var class="Arg">tom</var>.</p>
<p>If <var class="Arg">tom</var> comes from the <strong class="pkg">TomLib</strong> package, the character table comes from the <strong class="pkg">GAP</strong> Character Table Library. Otherwise, if <var class="Arg">tom</var> stores an <code class="func">UnderlyingGroup</code> (<a href="../../../doc/ref/chap70.html#X81E41D3880FA6C4C"><span class="RefLink">Reference: UnderlyingGroup for tables of marks</span></a>) value then the task is delegated to a <code class="func">CharacterTable</code> (<a href="../../../doc/ref/chap71.html#X7FCA7A7A822BDA33"><span class="RefLink">Reference: CharacterTable for a group</span></a>) method for this group, and if no underlying group is available then <code class="keyw">fail</code> is returned.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">CharacterTable( TableOfMarks( "A5" ) );</span>
CharacterTable( "A5" )
</pre></div>
<p><a id="X7A82CB487DBDDC53" name="X7A82CB487DBDDC53"></a></p>
<h5>3.2-3 FusionCharTableTom</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FusionCharTableTom</code>( <var class="Arg">tbl</var>, <var class="Arg">tom</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Let <var class="Arg">tbl</var> be an ordinary character table from the <strong class="pkg">GAP</strong> Character Table Library with the attribute <code class="func">FusionToTom</code> (<a href="chap3.html#X7B1AAED68753B1BE"><span class="RefLink">3.2-4</span></a>), and let <var class="Arg">tom</var> be the table of marks from the <strong class="pkg">GAP</strong> package <strong class="pkg">TomLib</strong> that corresponds to <var class="Arg">tbl</var>. In this case, a method for <code class="func">FusionCharTableTom</code> (<a href="../../../doc/ref/chap70.html#X7A82CB487DBDDC53"><span class="RefLink">Reference: FusionCharTableTom</span></a>) is available that returns the fusion from <var class="Arg">tbl</var> to <var class="Arg">tom</var> that is given by the <code class="func">FusionToTom</code> (<a href="chap3.html#X7B1AAED68753B1BE"><span class="RefLink">3.2-4</span></a>) value of <var class="Arg">tbl</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">tbl:= CharacterTable( "A5" );</span>
CharacterTable( "A5" )
<span class="GAPprompt">gap></span> <span class="GAPinput">tom:= TableOfMarks( "A5" );</span>
TableOfMarks( "A5" )
<span class="GAPprompt">gap></span> <span class="GAPinput">FusionCharTableTom( tbl, tom );</span>
[ 1, 2, 3, 5, 5 ]
</pre></div>
<p><a id="X7B1AAED68753B1BE" name="X7B1AAED68753B1BE"></a></p>
<h5>3.2-4 FusionToTom</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FusionToTom</code>( <var class="Arg">tbl</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>If this attribute is set for an ordinary character table <var class="Arg">tbl</var> then the <strong class="pkg">GAP</strong> Library of Tables of Marks contains the table of marks of the group of <var class="Arg">tbl</var>, and the attribute value is a record with the following components.</p>
<dl>
<dt><strong class="Mark"><code class="code">name</code></strong></dt>
<dd><p>the <code class="func">Identifier</code> (<a href="../../../doc/ref/chap70.html#X810E53597B5BB4F8"><span class="RefLink">Reference: Identifier for tables of marks</span></a>) component of the table of marks of <var class="Arg">tbl</var>,</p>
</dd>
<dt><strong class="Mark"><code class="code">map</code></strong></dt>
<dd><p>the fusion map,</p>
</dd>
<dt><strong class="Mark"><code class="code">text</code> (optional)</strong></dt>
<dd><p>a string describing the status of the fusion, and</p>
</dd>
<dt><strong class="Mark"><code class="code">perm</code> (optional)</strong></dt>
<dd><p>a permutation that establishes the bijection between the classes of maximal subgroups in the table of marks (see <code class="func">MaximalSubgroupsTom</code> (<a href="../../../doc/ref/chap70.html#X8325811586C00ECF"><span class="RefLink">Reference: MaximalSubgroupsTom</span></a>)) and the <code class="func">Maxes</code> (<a href="chap3.html#X8150E63F7DBDF252"><span class="RefLink">3.7-1</span></a>) list of <var class="Arg">tbl</var>. Applying the permutation to the sublist of permutation characters (see <code class="func">PermCharsTom</code> (<a href="../../../doc/ref/chap70.html#X8016499282F0BA37"><span class="RefLink">Reference: PermCharsTom via fusion map</span></a>)) at the positions of the maximal subgroups of the table of marks yields the list of primitive permutation characters computed from the character tables described by the <code class="func">Maxes</code> (<a href="chap3.html#X8150E63F7DBDF252"><span class="RefLink">3.7-1</span></a>) list. Usually, there is no <code class="code">perm</code> component, which means that the two lists of primitive permutation characters are equal. See Section <a href="chap2.html#X83BF83D87BC1B123"><span class="RefLink">2.3-5</span></a> for an example.</p>
</dd>
</dl>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">FusionToTom( CharacterTable( "2.A6" ) );</span>
rec( map := [ 1, 2, 5, 4, 8, 3, 7, 11, 11, 6, 13, 6, 13 ],
name := "2.A6", perm := (4,5),
text := "fusion map is unique up to table autom." )
</pre></div>
<p><a id="X8435BFE878FFFDAB" name="X8435BFE878FFFDAB"></a></p>
<h5>3.2-5 NameOfLibraryCharacterTable</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NameOfLibraryCharacterTable</code>( <var class="Arg">tomname</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function returns the <code class="func">Identifier</code> (<a href="../../../doc/ref/chap71.html#X79C40EE97890202F"><span class="RefLink">Reference: Identifier for character tables</span></a>) value of the character table corresponding to the table of marks with <code class="func">Identifier</code> (<a href="../../../doc/ref/chap70.html#X810E53597B5BB4F8"><span class="RefLink">Reference: Identifier for tables of marks</span></a>) value <var class="Arg">tomname</var>. If no such character table exists in the <strong class="pkg">GAP</strong> Character Table Library or if the <strong class="pkg">TomLib</strong> package is not loaded then <code class="keyw">fail</code> is returned.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">NameOfLibraryCharacterTable( "A5" );</span>
"A5"
<span class="GAPprompt">gap></span> <span class="GAPinput">NameOfLibraryCharacterTable( "S5" );</span>
"A5.2"
</pre></div>
<p><a id="X83D85EB2792D9D22" name="X83D85EB2792D9D22"></a></p>
<h4>3.3 <span class="Heading">The Interface to <strong class="pkg">GAP</strong>'s Group Libraries
<p>Sometimes it is useful to extend a character-theoretic computation with computations involving a group that has the character table in question. For many character tables in the <strong class="pkg">GAP</strong> Character Table Library, corresponding groups can be found in the various group libraries that are distributed with <strong class="pkg">GAP</strong>. This section describes how one can access the library groups that belong to a given character table.</p>
<p><a id="X78DCD38B7D96D8A4" name="X78DCD38B7D96D8A4"></a></p>
<h5>3.3-1 GroupInfoForCharacterTable</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupInfoForCharacterTable</code>( <var class="Arg">tbl</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Let <var class="Arg">tbl</var> be an ordinary character table from the <strong class="pkg">GAP</strong> Character Table Library. <code class="func">GroupInfoForCharacterTable</code> returns a sorted list of pairs such that calling <code class="func">GroupForGroupInfo</code> (<a href="chap3.html#X804D2AC37E0D4755"><span class="RefLink">3.3-4</span></a>) with any of these pairs yields a group whose ordinary character table is <var class="Arg">tbl</var>, up to permutations of rows and columns.</p>
<p>Note that this group is in general <em>not</em> determined up to isomorphism, since nonisomorphic groups may have the same character table (including power maps).</p>
<p>Contrary to the attribute <code class="func">UnderlyingGroup</code> (<a href="../../../doc/ref/chap70.html#X81E41D3880FA6C4C"><span class="RefLink">Reference: UnderlyingGroup for tables of marks</span></a>), the entries of the <code class="func">GroupInfoForCharacterTable</code> list for <var class="Arg">tbl</var> are not related to the ordering of the conjugacy classes in <var class="Arg">tbl</var>.</p>
<p>Sources for this attribute are the <strong class="pkg">GAP</strong> databases of groups described in Chapter <a href="../../../doc/ref/chap50.html#X81B00B667D2BD022"><span class="RefLink">Reference: Group Libraries</span></a>, and the packages <strong class="pkg">AtlasRep</strong> and <strong class="pkg">TomLib</strong>, see also <code class="func">GroupForTom</code> (<a href="chap3.html#X83B9EFB47CE0A617"><span class="RefLink">3.3-5</span></a>) and <code class="func">AtlasStabilizer</code> (<a href="chap3.html#X8032EF83823B1D88"><span class="RefLink">3.3-6</span></a>). If these packages are not loaded then part of the information may be missing. If the <strong class="pkg">Browse</strong> package (see <a href="chapBib.html#biBBrowse">[BL23]</a>) is not loaded then <code class="func">GroupInfoForCharacterTable</code> returns always an empty list.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupInfoForCharacterTable( CharacterTable( "A5" ) );</span>
[ [ "AlternatingGroup", [ 5 ] ], [ "AtlasGroup", [ "A5" ] ],
[ "AtlasStabilizer", [ "A6", "A6G1-p6aB0" ] ],
[ "AtlasStabilizer", [ "A6", "A6G1-p6bB0" ] ],
[ "AtlasStabilizer", [ "L2(11)", "L211G1-p11aB0" ] ],
[ "AtlasStabilizer", [ "L2(11)", "L211G1-p11bB0" ] ],
[ "AtlasStabilizer", [ "L2(19)", "L219G1-p57aB0" ] ],
[ "AtlasStabilizer", [ "L2(19)", "L219G1-p57bB0" ] ],
[ "AtlasSubgroup", [ "A5.2", 1 ] ], [ "AtlasSubgroup", [ "A6", 1 ] ]
, [ "AtlasSubgroup", [ "A6", 2 ] ],
[ "AtlasSubgroup", [ "J2", 9 ] ],
[ "AtlasSubgroup", [ "L2(109)", 4 ] ],
[ "AtlasSubgroup", [ "L2(109)", 5 ] ],
[ "AtlasSubgroup", [ "L2(11)", 1 ] ],
[ "AtlasSubgroup", [ "L2(11)", 2 ] ],
[ "AtlasSubgroup", [ "S6(3)", 11 ] ],
[ "GroupForTom", [ "2^4:A5", 68 ] ],
[ "GroupForTom", [ "2^4:A5`", 56 ] ], [ "GroupForTom", [ "A5" ] ],
[ "GroupForTom", [ "A5xA5", 85 ] ], [ "GroupForTom", [ "A6", 21 ] ],
[ "GroupForTom", [ "J2", 99 ] ],
[ "GroupForTom", [ "L2(109)", 25 ] ],
[ "GroupForTom", [ "L2(11)", 15 ] ],
[ "GroupForTom", [ "L2(125)", 18 ] ],
[ "GroupForTom", [ "L2(16)", 18 ] ],
[ "GroupForTom", [ "L2(19)", 17 ] ],
[ "GroupForTom", [ "L2(29)", 19 ] ],
[ "GroupForTom", [ "L2(31)", 25 ] ],
[ "GroupForTom", [ "S5", 18 ] ], [ "PSL", [ 2, 4 ] ],
[ "PSL", [ 2, 5 ] ], [ "PerfectGroup", [ 60, 1 ] ],
[ "PrimitiveGroup", [ 5, 4 ] ], [ "PrimitiveGroup", [ 6, 1 ] ],
[ "PrimitiveGroup", [ 10, 1 ] ], [ "SmallGroup", [ 60, 5 ] ],
[ "TransitiveGroup", [ 5, 4 ] ], [ "TransitiveGroup", [ 6, 12 ] ],
[ "TransitiveGroup", [ 10, 7 ] ], [ "TransitiveGroup", [ 12, 33 ] ],
[ "TransitiveGroup", [ 15, 5 ] ], [ "TransitiveGroup", [ 20, 15 ] ],
[ "TransitiveGroup", [ 30, 9 ] ] ]
</pre></div>
<p><a id="X87CFDC8081767CA4" name="X87CFDC8081767CA4"></a></p>
<h5>3.3-2 KnowsSomeGroupInfo</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ KnowsSomeGroupInfo</code>( <var class="Arg">tbl</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>For an ordinary character table <var class="Arg">tbl</var>, this function returns <code class="keyw">true</code> if the list returned by <code class="func">GroupInfoForCharacterTable</code> (<a href="chap3.html#X78DCD38B7D96D8A4"><span class="RefLink">3.3-1</span></a>) is nonempty, and <code class="keyw">false</code> otherwise.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">KnowsSomeGroupInfo( CharacterTable( "A5" ) );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">KnowsSomeGroupInfo( CharacterTable( "M" ) );</span>
false
</pre></div>
<p><a id="X78B7A5DB87B5285C" name="X78B7A5DB87B5285C"></a></p>
<h5>3.3-3 CharacterTableForGroupInfo</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CharacterTableForGroupInfo</code>( <var class="Arg">info</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>This function is a partial inverse of <code class="func">GroupInfoForCharacterTable</code> (<a href="chap3.html#X78DCD38B7D96D8A4"><span class="RefLink">3.3-1</span></a>). If <var class="Arg">info</var> has the form <code class="code">[ </code><span class="SimpleMath">funcname</span><code class="code">, </code><span class="SimpleMath">args</span><code class="code"> ]</code> and occurs in the list returned by <code class="func">GroupInfoForCharacterTable</code> (<a href="chap3.html#X78DCD38B7D96D8A4"><span class="RefLink">3.3-1</span></a>) when called with a character table <span class="SimpleMath">t</span>, say, then <code class="func">CharacterTableForGroupInfo</code> returns a character table from the <strong class="pkg">GAP</strong> Character Table that is equivalent to <span class="SimpleMath">t</span>. Otherwise <code class="keyw">fail</code> is returned.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">CharacterTableForGroupInfo( [ "AlternatingGroup", [ 5 ] ] );</span>
CharacterTable( "A5" )
</pre></div>
<p><a id="X804D2AC37E0D4755" name="X804D2AC37E0D4755"></a></p>
<h5>3.3-4 GroupForGroupInfo</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupForGroupInfo</code>( <var class="Arg">info</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>If <var class="Arg">info</var> has the form <code class="code">[ </code><span class="SimpleMath">funcname</span><code class="code">, </code><span class="SimpleMath">args</span><code class="code"> ]</code> and occurs in the list returned by <code class="func">GroupInfoForCharacterTable</code> (<a href="chap3.html#X78DCD38B7D96D8A4"><span class="RefLink">3.3-1</span></a>) when called with a character table <span class="SimpleMath">tbl</span>, say, then <code class="func">GroupForGroupInfo</code> returns a group that is described by <var class="Arg">info</var> and whose character table is equal to <span class="SimpleMath">tbl</span>, up to permutations of rows and columns. Otherwise <code class="keyw">fail</code> is returned.</p>
<p>Typically, <span class="SimpleMath">funcname</span> is a string that is the name of a global <strong class="pkg">GAP</strong> function <span class="SimpleMath">fun</span>, say, and <span class="SimpleMath">args</span> is a list of arguments for this function such that <code class="code">CallFuncList( </code><span class="SimpleMath">fun</span><code class="code">, </code><span class="SimpleMath">args</span><code class="code"> )</code> yields the desired group.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupForGroupInfo( [ "AlternatingGroup", [ 5 ] ] );</span>
Alt( [ 1 .. 5 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupForGroupInfo( [ "PrimitiveGroup", [ 5, 4 ] ] );</span>
A(5)
</pre></div>
<p><a id="X83B9EFB47CE0A617" name="X83B9EFB47CE0A617"></a></p>
<h5>3.3-5 GroupForTom</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupForTom</code>( <var class="Arg">tomidentifier</var>[, <var class="Arg">repnr</var>] )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Let <var class="Arg">tomidentifier</var> be a string that is an admissible name for a table of marks from the < | |