Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


SSL chap3_mj.html   Sprache: HTML

 
 products/sources/formale Sprachen/GAP/pkg/ctbllib/doc/chap3_mj.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>
<script type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<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_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap2_mj.html">[Previous Chapter]</a>    <a href="chap4_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap3.html">[MathJax off]</a></p>
<p><a id="X7EB517EB7A50A58F" name="X7EB517EB7A50A58F"></a></p>
<div class="ChapSects"><a href="chap3_mj.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_mj.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_mj.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_mj.html#X86C06F408706F27A">3.1-2 CharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7E42C22278DA4048">3.1-3 BrauerTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7C091641852BB6FE">3.1-4 AllCharacterTableNames</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7EC4A57E8393D75C">3.1-5 OneCharacterTableName</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X845DEEE282D4F1EB">3.1-6 NameOfEquivalentLibraryCharacterTable</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.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_mj.html#X8400C0397CA2FA3C">3.2-1 TableOfMarks</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X87110C1584D09BE4">3.2-2 CharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7A82CB487DBDDC53">3.2-3 FusionCharTableTom</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7B1AAED68753B1BE">3.2-4 FusionToTom</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8435BFE878FFFDAB">3.2-5 NameOfLibraryCharacterTable</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.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_mj.html#X78DCD38B7D96D8A4">3.3-1 GroupInfoForCharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X87CFDC8081767CA4">3.3-2 KnowsSomeGroupInfo</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X78B7A5DB87B5285C">3.3-3 CharacterTableForGroupInfo</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X804D2AC37E0D4755">3.3-4 GroupForGroupInfo</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X83B9EFB47CE0A617">3.3-5 GroupForTom</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8032EF83823B1D88">3.3-6 AtlasStabilizer</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7AADD757809DFDD5">3.3-7 IsNontrivialDirectProduct</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.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_mj.html#X79F645F278C27F23">3.4-1 UnipotentCharacter</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X803FD7F87AFBBDE4">3.4-2 DeligneLusztigNames</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X84B9D8EF84EB4145">3.4-3 DeligneLusztigName</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X78A05C0A82E23048">3.4-4 KnowsDeligneLusztigNames</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.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_mj.html#X8684C73E844E7033">3.5-1 DisplayCTblLibInfo</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7A038A267CD17032">3.5-2 BrowseCTblLibInfo</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X83FDD44E7E0AE885">3.5-3 BrowseCommonIrrationalities</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X87CA74CF7B533CC6">3.5-4 BrowseCTblLibDifferences</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8135745381E1C0E2">3.5-5 BrowseAtlasContents</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X810789F77F20C839">3.5-6 DisplayAtlasContents</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X86AC6408815EF122">3.5-7 BrowseAtlasMap</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X875A6BB485A49976">3.5-8 DisplayAtlasMap</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X79DC72707B08A701">3.5-9 BrowseAtlasTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X79E3F783818FE75A">3.5-10 BrowseAtlasImprovements</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.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_mj.html#X7FD4A9DF7CBAA418">3.6-1 IsDuplicateTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X860F49407882658F">3.6-2 IdentifierOfMainTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7C83435B78DE62F6">3.6-3 IdentifiersOfDuplicateTables</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.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_mj.html#X8150E63F7DBDF252">3.7-1 Maxes</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X82DC2E7779322DA8">3.7-2 ProjectivesInfo</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X82A008987DB887C2">3.7-3 ExtensionInfoCharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X851118377D1D6EC9">3.7-4 ConstructionInfoCharacterTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X871562FD7F982C12">3.7-5 InfoText</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.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</strongtable (see Section <a href="chap4_mj.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</strongtable 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</strongtable may be different from that in <strong class="pkg">CAS</strong>, see Section <a href="chap4_mj.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_mj.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 thtable 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_mj.html#X8476B25A79D7A7FC"><span class="RefLink">Reference: BrauerTable</span></a>) and Section <a href="../../../doc/ref/chap71_mj.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_mj.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_mj.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_mj.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_mj.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_mj.html#X7F44BD4B79473085"><span class="RefLink">4.3</span></a>), the second is constructed from the generic table for symmetric groups (see <a href="chap4_mj.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_mj.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_mj.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_mj.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_mj.html#X818A9DE5799A4809"><span class="RefLink">3.1-1</span></a>.</p>

<p>The <em>selection function</em> (see <a href="../../../doc/ref/chap50_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.html#X8150E63F7DBDF252"><span class="RefLink">3.7-1</span></a>) or <code class="func">NamesOfFusionSources</code> (<a href="../../../doc/ref/chap73_mj.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_mj.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_mj.html#X87677B0787B4461A"><span class="RefLink">Reference: AutomorphismGroup</span></a>), <code class="func">SchurCover</code> (<a href="../../../doc/ref/chap39_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.html#X8325811586C00ECF"><span class="RefLink">Reference: MaximalSubgroupsTom</span></a>)) and the <code class="func">Maxes</code> (<a href="chap3_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.html#X83B9EFB47CE0A617"><span class="RefLink">3.3-5</span></a>) and <code class="func">AtlasStabilizer</code> (<a href="chap3_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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 <strong class="pkg">GAP</strong> Library of Tables of Marks (the <strong class="pkg">TomLib</strong> package <a href="chapBib_mj.html#biBTomLib">[MNP19]</a>). Called with one argument, <code class="func">GroupForTom</code> returns the <code class="func">UnderlyingGroup</code(<a href="../../../doc/ref/chap70_mj.html#X81E41D3880FA6C4C"><span class="RefLink">Reference: UnderlyingGroup for tables of marks</span></a>) value of this table of marks. If a positive integer <var class="Arg">repnr</var> is given as the second argument then a representative of the <var class="Arg">repnr</var>-th class of subgroups of this group is returned, see <code class="func">RepresentativeTom</code> (<a href="../../../doc/ref/chap70_mj.html#X7F625AB880B73AC3"><span class="RefLink">Reference: RepresentativeTom</span></a>).</p>

<p>The string<code class="code">"GroupForTom"</code> may occur in the entries of the list returned by <code class="func">GroupInfoForCharacterTable</code> (<a href="chap3_mj.html#X78DCD38B7D96D8A4"><span class="RefLink">3.3-1</span></a>), and therefore may be called by <code class="func">GroupForGroupInfo</code> (<a href="chap3_mj.html#X804D2AC37E0D4755"><span class="RefLink">3.3-4</span></a>).</p>

<p>If the <strong class="pkg">TomLib</strong> package is not loaded or if it does not contain a table of marks with identifier <var class="Arg">tomidentifier</var> then <code class="keyw">fail</codeis returned.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">g:= GroupForTom( "A5" );  u:= GroupForTom( "A5", 2 );</span>
Group([ (2,4)(3,5), (1,2,5) ])
Group([ (2,3)(4,5) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubset( g, u );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupForTom( "J4" );</span>
fail
</pre></div>

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

<h5>3.3-6 AtlasStabilizer</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AtlasStabilizer</code>( <var class="Arg">gapname</var>, <var class="Arg">repname</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <var class="Arg">gapname</var> be an admissible name of a group <span class="SimpleMath">\(G\)</span>, say, in the sense of the <strong class="pkg">AtlasRep</strong> package (see Section <a href="../../../pkg/atlasrep/doc/chap3_mj.html#X81BF52FC7B8C08D4"><span class="RefLink">AtlasRep: Group Names Used in the AtlasRep Package</span></a>), and <var class="Arg">repname</var> be a string that occurs as the <code class="code">repname</code> component of a record returned by <code class="func">AllAtlasGeneratingSetInfos</code> (<a href="../../../pkg/atlasrep/doc/chap3_mj.html#X84C2D76482E60E42"><span class="RefLink">AtlasRep: AllAtlasGeneratingSetInfos</span></a>) when this function is called with first argument <var class="Arg">gapname</var> and further arguments <code class="func">IsTransitive</code> (<a href="../../../doc/ref/chap41_mj.html#X79B15750851828CB"><span class="RefLink">Reference: IsTransitive</span></a>) and <code class="keyw">true</code>. In this case, <var class="Arg">repname</var> describes a transitive permutation representation of <span class="SimpleMath">\(G\)</span>.</p>

<p>If the <strong class="pkg">AtlasRep</strong> package is available and if the permutation group in question can be fetched then <code class="func">AtlasStabilizer</code> returns a point stabilizer. Otherwise <code class="keyw">fail</code> is returned.</p>

<p>The string<code class="code">"AtlasStabilizer"</code> may occur in the entries of the list returned by <code class="func">GroupInfoForCharacterTable</code> (<a href="chap3_mj.html#X78DCD38B7D96D8A4"><span class="RefLink">3.3-1</span></a>), and therefore may be called by <code class="func">GroupForGroupInfo</code> (<a href="chap3_mj.html#X804D2AC37E0D4755"><span class="RefLink">3.3-4</span></a>).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">AtlasStabilizer( "A5","A5G1-p5B0");</span>
Group([ (1,2)(3,4), (2,3,4) ])
</pre></div>

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

<h5>3.3-7 IsNontrivialDirectProduct</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNontrivialDirectProduct</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> of the group <span class="SimpleMath">\(G\)</span>, say, this function returns <code class="keyw">true</code> if <span class="SimpleMath">\(G\)</span> is the direct product of smaller groups, and <code class="keyw">false</code> otherwise.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mx:= Maxes( CharacterTable( "J1" ) );</span>
"L2(11)""2^3.7.3""2xA5""19:6""11:10""D6xD10""7:6" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List( mx, name -> IsNontrivialDirectProduct(</span>
<span class="GAPprompt">></span> <span class="GAPinput">                         CharacterTable( name ) ) );</span>
[ false, false, true, false, false, true, false ]
</pre></div>

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

<h4>3.4 <span class="Heading">Unipotent Characters of Finite Groups of Lie Type</span></h4>

<p>Unipotent characters are defined for finite groups of Lie type. For most of these groups whose character table is in the <strong class="pkg">GAP</strong> Character Table Library, the unipotent characters are known and parametrised by labels. This labeling is due to the work of P. Deligne and G. Lusztig, thus the label of a unipotent character is called its Deligne-Lusztig name (see <a href="chapBib_mj.html#biBCla05">[Cla05]</a>).</p>

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

<h5>3.4-1 UnipotentCharacter</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UnipotentCharacter</code>( <var class="Arg">tbl</var>, <var class="Arg">label</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <var class="Arg">tbl</var> be the ordinary character table of a finite group of Lie type in the <strong class="pkg">GAP</strong> Character Table Library. <code class="func">UnipotentCharacter</code> returns the unipotent character with Deligne-Lusztig name <var class="Arg">label</var>.</p>

<p>The object <var class="Arg">label</var> must be either a list of integers which describes a partition (if the finite group of Lie type is of the type <span class="SimpleMath">\(A_l\)</span> or <span class="SimpleMath">\({}^2\!A_l\)</span>), a list of two lists of integers which describes a symbol (if the group is of classical type other than <span class="SimpleMath">\(A_l\)</span> and <span class="SimpleMath">\({}^2\!A_l\)</span>) or a string (if the group is of exceptional type).</p>

<p>A call of <code class="func">UnipotentCharacter</code> sets the attribute <code class="func">DeligneLusztigNames</code> (<a href="chap3_mj.html#X803FD7F87AFBBDE4"><span class="RefLink">3.4-2</span></a>) for <var class="Arg">tbl</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">tbl:= CharacterTable( "U4(2).2" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">UnipotentCharacter( tbl, [ [ 0, 1 ], [ 2 ] ] );</span>
Character( CharacterTable( "U4(2).2" ),
 [ 15, 7, 3, -3, 0, 3, -1, 1, 0, 1, -2, 1, 0, 0, -1, 5, 1, 3, -1, 2, 
  -1, 1, -1, 0, 0 ] )
</pre></div>

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

<h5>3.4-2 DeligneLusztigNames</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DeligneLusztigNames</code>( <var class="Arg">obj</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>For a character table <var class="Arg">obj</var>, <code class="func">DeligneLusztigNames</code> returns a list of Deligne-Lusztig names of the the unipotent characters of <var class="Arg">obj</var>. If the <span class="SimpleMath">\(i\)</span>-th entry is bound then it is the name of the <span class="SimpleMath">\(i\)</span>-th irreducible character of <var class="Arg">obj</var>, and this character is irreducible. If an irreducible character is not unipotent the accordant position is unbound.</p>

<p><code class="func">DeligneLusztigNames</code> called with a string <var class="Arg">obj</var>, calls itself with the argument <code class="code">CharacterTable( <var class="Arg">obj</var> )</code>.</p>

<p>When <code class="func">DeligneLusztigNames</code> is called with a record <var class="Arg">obj</var> then this should have the components <code class="code">isoc</code>, <code class="code">isot</code>, <code class="code">l</code>, and <code class="code">q</code>, where <code class="code">isoc</code> and <code class="code">isot</code> are strings defining the isogeny class and isogeny type, and <code class="code">l</code> and <code class="code">q</code> are integers. These components define a finite group of Lie type uniquely. Moreover this way one can choose Deligne-Lusztig names for a prescribed type in those cases where a group has more than one interpretation as a finite group of Lie type, see the example below. (The first call of <code class="func">DeligneLusztigNames</code> sets the attribute value in the character table.)</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">DeligneLusztigNames( "L2(7)" );</span>
[ [ 2 ],,,, [ 1, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">tbl:= CharacterTable( "L2(7)" );</span>
CharacterTable( "L3(2)" )
<span class="GAPprompt">gap></span> <span class="GAPinput">HasDeligneLusztigNames( tbl );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">DeligneLusztigNames( rec( isoc:= "A", isot:= "simple",</span>
<span class="GAPprompt">></span> <span class="GAPinput">                             l:= 2, q:= 2 ) );</span>
[ [ 3 ],,, [ 2, 1 ],, [ 1, 1, 1 ] ]
</pre></div>

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

<h5>3.4-3 DeligneLusztigName</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DeligneLusztigName</code>( <var class="Arg">chi</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For a unipotent character <var class="Arg">chi</var>, <code class="func">DeligneLusztigName</code> returns the Deligne-Lusztig name of <var class="Arg">chi</var>. For that, <code class="func">DeligneLusztigNames</code> (<a href="chap3_mj.html#X803FD7F87AFBBDE4"><span class="RefLink">3.4-2</span></a>) is called with the argument <code class="code">UnderlyingCharacterTable( <var class="Arg">chi</var> )</code>.</p>


--> --------------------

--> maximum size reached

--> --------------------

98%


¤ Dauer der Verarbeitung: 0.125 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge