/usr/share/gap/doc/ref/chap75.html is in gap-doc 4r7p9-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | <?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 (ref) - Chapter 75: Monomiality Questions</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="chap75" 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="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chap10.html">10</a> <a href="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chap13.html">13</a> <a href="chap14.html">14</a> <a href="chap15.html">15</a> <a href="chap16.html">16</a> <a href="chap17.html">17</a> <a href="chap18.html">18</a> <a href="chap19.html">19</a> <a href="chap20.html">20</a> <a href="chap21.html">21</a> <a href="chap22.html">22</a> <a href="chap23.html">23</a> <a href="chap24.html">24</a> <a href="chap25.html">25</a> <a href="chap26.html">26</a> <a href="chap27.html">27</a> <a href="chap28.html">28</a> <a href="chap29.html">29</a> <a href="chap30.html">30</a> <a href="chap31.html">31</a> <a href="chap32.html">32</a> <a href="chap33.html">33</a> <a href="chap34.html">34</a> <a href="chap35.html">35</a> <a href="chap36.html">36</a> <a href="chap37.html">37</a> <a href="chap38.html">38</a> <a href="chap39.html">39</a> <a href="chap40.html">40</a> <a href="chap41.html">41</a> <a href="chap42.html">42</a> <a href="chap43.html">43</a> <a href="chap44.html">44</a> <a href="chap45.html">45</a> <a href="chap46.html">46</a> <a href="chap47.html">47</a> <a href="chap48.html">48</a> <a href="chap49.html">49</a> <a href="chap50.html">50</a> <a href="chap51.html">51</a> <a href="chap52.html">52</a> <a href="chap53.html">53</a> <a href="chap54.html">54</a> <a href="chap55.html">55</a> <a href="chap56.html">56</a> <a href="chap57.html">57</a> <a href="chap58.html">58</a> <a href="chap59.html">59</a> <a href="chap60.html">60</a> <a href="chap61.html">61</a> <a href="chap62.html">62</a> <a href="chap63.html">63</a> <a href="chap64.html">64</a> <a href="chap65.html">65</a> <a href="chap66.html">66</a> <a href="chap67.html">67</a> <a href="chap68.html">68</a> <a href="chap69.html">69</a> <a href="chap70.html">70</a> <a href="chap71.html">71</a> <a href="chap72.html">72</a> <a href="chap73.html">73</a> <a href="chap74.html">74</a> <a href="chap75.html">75</a> <a href="chap76.html">76</a> <a href="chap77.html">77</a> <a href="chap78.html">78</a> <a href="chap79.html">79</a> <a href="chap80.html">80</a> <a href="chap81.html">81</a> <a href="chap82.html">82</a> <a href="chap83.html">83</a> <a href="chap84.html">84</a> <a href="chap85.html">85</a> <a href="chap86.html">86</a> <a href="chap87.html">87</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="chap74.html">[Previous Chapter]</a> <a href="chap76.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap75_mj.html">[MathJax on]</a></p>
<p><a id="X80D9CA647E680B19" name="X80D9CA647E680B19"></a></p>
<div class="ChapSects"><a href="chap75.html#X80D9CA647E680B19">75 <span class="Heading">Monomiality Questions</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap75.html#X7F2F753F7B354F09">75.1 <span class="Heading">InfoMonomial (Info Class)</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X8103DD607C7F2CD2">75.1-1 InfoMonomial</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap75.html#X842D10BC7CA9C2DE">75.2 <span class="Heading">Character Degrees and Derived Length</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X86A900897819E5AC">75.2-1 Alpha</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X82C33CF282FC5A73">75.2-2 Delta</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X7D0D26267A9D37DD">75.2-3 <span class="Heading">IsBergerCondition</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap75.html#X82C21037806B52CE">75.3 <span class="Heading">Primitivity of Characters</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X81FD26947924C500">75.3-1 TestHomogeneous</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X7BC72ECE822D4245">75.3-2 IsPrimitiveCharacter</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X82BFA6968415F308">75.3-3 TestQuasiPrimitive</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X84860E3A7FECDBA3">75.3-4 TestInducedFromNormalSubgroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap75.html#X86567D7F781BBCAE">75.4 <span class="Heading">Testing Monomiality</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X84EB92B57DAF5C93">75.4-1 <span class="Heading">TestMonomial</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X787CCCBB7FC17F5E">75.4-2 TestMonomialUseLattice</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X8261B5AA7BCFFCC2">75.4-3 IsMonomialNumber</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X822E03EF7B8F92D3">75.4-4 <span class="Heading">TestMonomialQuick</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X7E56A0EA868CC34A">75.4-5 <span class="Heading">TestSubnormallyMonomial</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X83EF7B8D7C1C2CA3">75.4-6 <span class="Heading">TestRelativelySM</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap75.html#X7B5735897DE29BCB">75.5 <span class="Heading">Minimal Nonmonomial Groups</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X7D7E2667821A23CD">75.5-1 IsMinimalNonmonomial</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap75.html#X7B416BBD80072079">75.5-2 MinimalNonmonomialGroup</a></span>
</div></div>
</div>
<h3>75 <span class="Heading">Monomiality Questions</span></h3>
<p>This chapter describes functions dealing with the monomiality of finite (solvable) groups and their characters.</p>
<p>All these functions assume <em>characters</em> to be class function objects as described in Chapter <a href="chap72.html#X7C91D0D17850E564"><span class="RefLink">72</span></a>, lists of character <em>values</em> are not allowed.</p>
<p>The usual <em>property tests</em> of <strong class="pkg">GAP</strong> that return either <code class="keyw">true</code> or <code class="keyw">false</code> are not sufficient for us. When we ask whether a group character <span class="SimpleMath">χ</span> has a certain property, such as quasiprimitivity, we usually want more information than just yes or no. Often we are interested in the reason <em>why</em> a group character <span class="SimpleMath">χ</span> was proved to have a certain property, e.g., whether monomiality of <span class="SimpleMath">χ</span> was proved by the observation that the underlying group is nilpotent, or whether it was necessary to construct a linear character of a subgroup from which <span class="SimpleMath">χ</span> can be induced. In the latter case we also may be interested in this linear character. Therefore we need test functions that return a record containing such useful information. For example, the record returned by the function <code class="func">TestQuasiPrimitive</code> (<a href="chap75.html#X82BFA6968415F308"><span class="RefLink">75.3-3</span></a>) contains the component <code class="code">isQuasiPrimitive</code> (which is the known boolean property flag), and additionally the component <code class="code">comment</code>, a string telling the reason for the value of the <code class="code">isQuasiPrimitive</code> component, and in the case that the argument <span class="SimpleMath">χ</span> was <em>not</em> quasiprimitive also the component <code class="code">character</code>, which is an irreducible constituent of a nonhomogeneous restriction of <span class="SimpleMath">χ</span> to a normal subgroup. Besides these test functions there are also the known properties, e.g., the property <code class="func">IsQuasiPrimitive</code> (<a href="chap75.html#X82BFA6968415F308"><span class="RefLink">75.3-3</span></a>) which will call the attribute <code class="func">TestQuasiPrimitive</code> (<a href="chap75.html#X82BFA6968415F308"><span class="RefLink">75.3-3</span></a>), and return the value of the <code class="code">isQuasiPrimitive</code> component of the result.</p>
<p>A few words about how to use the monomiality functions seem to be necessary. Monomiality questions usually involve computations in many subgroups and factor groups of a given group, and for these groups often expensive calculations such as that of the character table are necessary. So one should be careful not to construct the same group over and over again, instead the same group object should be reused, such that its character table need to be computed only once. For example, suppose you want to restrict a character to a normal subgroup <span class="SimpleMath">N</span> that was constructed as a normal closure of some group elements, and suppose that you have already computed with normal subgroups (by calls to <code class="func">NormalSubgroups</code> (<a href="chap39.html#X80237A847E24E6CF"><span class="RefLink">39.19-8</span></a>) or <code class="func">MaximalNormalSubgroups</code> (<a href="chap39.html#X82ECAA427C987318"><span class="RefLink">39.19-9</span></a>)) and their character tables. Then you should look in the lists of known normal subgroups whether <span class="SimpleMath">N</span> is contained, and if so you can use the known character table. A mechanism that supports this for normal subgroups is described in <a href="chap71.html#X81272CEE79F13E7B"><span class="RefLink">71.23</span></a>.</p>
<p>Also the following hint may be useful in this context. If you know that sooner or later you will compute the character table of a group <span class="SimpleMath">G</span> then it may be advisable to compute it as soon as possible. For example, if you need the normal subgroups of <span class="SimpleMath">G</span> then they can be computed more efficiently if the character table of <span class="SimpleMath">G</span> is known, and they can be stored compatibly to the contained <span class="SimpleMath">G</span>-conjugacy classes. This correspondence of classes list and normal subgroup can be used very often.</p>
<p>Several <em>examples</em> in this chapter use the symmetric group <span class="SimpleMath">S_4</span> and the special linear group <span class="SimpleMath">SL(2,3)</span>. For running the examples, you must first define the groups, for example as follows.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S4:= SymmetricGroup( 4 );; SetName( S4, "S4" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Sl23:= SL( 2, 3 );;</span>
</pre></div>
<p><a id="X7F2F753F7B354F09" name="X7F2F753F7B354F09"></a></p>
<h4>75.1 <span class="Heading">InfoMonomial (Info Class)</span></h4>
<p><a id="X8103DD607C7F2CD2" name="X8103DD607C7F2CD2"></a></p>
<h5>75.1-1 InfoMonomial</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ InfoMonomial</code></td><td class="tdright">( info class )</td></tr></table></div>
<p>Most of the functions described in this chapter print some (hopefully useful) <em>information</em> if the info level of the info class <code class="func">InfoMonomial</code> is at least <span class="SimpleMath">1</span>, see <a href="chap7.html#X7A9C902479CB6F7C"><span class="RefLink">7.4</span></a> for details.</p>
<p><a id="X842D10BC7CA9C2DE" name="X842D10BC7CA9C2DE"></a></p>
<h4>75.2 <span class="Heading">Character Degrees and Derived Length</span></h4>
<p><a id="X86A900897819E5AC" name="X86A900897819E5AC"></a></p>
<h5>75.2-1 Alpha</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Alpha</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>For a group <var class="Arg">G</var>, <code class="func">Alpha</code> returns a list whose <span class="SimpleMath">i</span>-th entry is the maximal derived length of groups <span class="SimpleMath"><var class="Arg">G</var> / ker(χ)</span> for <span class="SimpleMath">χ ∈ Irr(<var class="Arg">G</var>)</span> with <span class="SimpleMath">χ(1)</span> at most the <span class="SimpleMath">i</span>-th irreducible degree of <var class="Arg">G</var>.</p>
<p><a id="X82C33CF282FC5A73" name="X82C33CF282FC5A73"></a></p>
<h5>75.2-2 Delta</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Delta</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>For a group <var class="Arg">G</var>, <code class="func">Delta</code> returns the list <span class="SimpleMath">[ 1, alp[2] - alp[1], ..., alp[<var class="Arg">n</var>] - alp[<var class="Arg">n</var>-1] ]</span>, where <span class="SimpleMath">alp =</span><code class="code">Alpha( <var class="Arg">G</var> )</code> (see <code class="func">Alpha</code> (<a href="chap75.html#X86A900897819E5AC"><span class="RefLink">75.2-1</span></a>)).</p>
<p><a id="X7D0D26267A9D37DD" name="X7D0D26267A9D37DD"></a></p>
<h5>75.2-3 <span class="Heading">IsBergerCondition</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBergerCondition</code>( <var class="Arg">G</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBergerCondition</code>( <var class="Arg">chi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Called with an irreducible character <var class="Arg">chi</var> of a group <span class="SimpleMath">G</span>, <code class="func">IsBergerCondition</code> returns <code class="keyw">true</code> if <var class="Arg">chi</var> satisfies <span class="SimpleMath">M' ≤ ker(χ)</span> for every normal subgroup <span class="SimpleMath">M</span> of <span class="SimpleMath">G</span> with the property that <span class="SimpleMath">M ≤ ker(ψ)</span> holds for all <span class="SimpleMath">ψ ∈ Irr(G)</span> with <span class="SimpleMath">ψ(1) < χ(1)</span>, and <code class="keyw">false</code> otherwise.</p>
<p>Called with a group <var class="Arg">G</var>, <code class="func">IsBergerCondition</code> returns <code class="keyw">true</code> if all irreducible characters of <var class="Arg">G</var> satisfy the inequality above, and <code class="keyw">false</code> otherwise.</p>
<p>For groups of odd order the result is always <code class="keyw">true</code> by a theorem of T. R. Berger (see <a href="chapBib.html#biBBer76">[Ber76, Thm. 2.2]</a>).</p>
<p>In the case that <code class="keyw">false</code> is returned, <code class="func">InfoMonomial</code> (<a href="chap75.html#X8103DD607C7F2CD2"><span class="RefLink">75.1-1</span></a>) tells about a degree for which the inequality is violated.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Alpha( Sl23 );</span>
[ 1, 3, 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Alpha( S4 );</span>
[ 1, 2, 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Delta( Sl23 );</span>
[ 1, 2, 0 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Delta( S4 );</span>
[ 1, 1, 1 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsBergerCondition( S4 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsBergerCondition( Sl23 );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">List( Irr( Sl23 ), IsBergerCondition );</span>
[ true, true, true, false, false, false, true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List( Irr( Sl23 ), Degree );</span>
[ 1, 1, 1, 2, 2, 2, 3 ]
</pre></div>
<p><a id="X82C21037806B52CE" name="X82C21037806B52CE"></a></p>
<h4>75.3 <span class="Heading">Primitivity of Characters</span></h4>
<p><a id="X81FD26947924C500" name="X81FD26947924C500"></a></p>
<h5>75.3-1 TestHomogeneous</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestHomogeneous</code>( <var class="Arg">chi</var>, <var class="Arg">N</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For a group character <var class="Arg">chi</var> of the group <span class="SimpleMath">G</span>, say, and a normal subgroup <var class="Arg">N</var> of <span class="SimpleMath">G</span>, <code class="func">TestHomogeneous</code> returns a record with information whether the restriction of <var class="Arg">chi</var> to <var class="Arg">N</var> is homogeneous, i.e., is a multiple of an irreducible character.</p>
<p><var class="Arg">N</var> may be given also as list of conjugacy class positions w.r.t. the character table of <span class="SimpleMath">G</span>.</p>
<p>The components of the result are</p>
<dl>
<dt><strong class="Mark"><code class="code">isHomogeneous</code></strong></dt>
<dd><p><code class="keyw">true</code> or <code class="keyw">false</code>,</p>
</dd>
<dt><strong class="Mark"><code class="code">comment</code></strong></dt>
<dd><p>a string telling a reason for the value of the <code class="code">isHomogeneous</code> component,</p>
</dd>
<dt><strong class="Mark"><code class="code">character</code></strong></dt>
<dd><p>irreducible constituent of the restriction, only bound if the restriction had to be checked,</p>
</dd>
<dt><strong class="Mark"><code class="code">multiplicity</code></strong></dt>
<dd><p>multiplicity of the <code class="code">character</code> component in the restriction of <var class="Arg">chi</var>.</p>
</dd>
</dl>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">n:= DerivedSubgroup( Sl23 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">chi:= Irr( Sl23 )[7];</span>
Character( CharacterTable( SL(2,3) ), [ 3, 0, 0, 3, 0, 0, -1 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">TestHomogeneous( chi, n );</span>
rec( character := Character( CharacterTable( Group(
[ [ [ 0*Z(3), Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
[ [ Z(3), 0*Z(3) ], [ 0*Z(3), Z(3) ] ],
[ [ Z(3)^0, Z(3) ], [ Z(3), Z(3) ] ] ]) ), [ 1, -1, 1, -1, 1 ] )
, comment := "restriction checked", isHomogeneous := false,
multiplicity := 1 )
<span class="GAPprompt">gap></span> <span class="GAPinput">chi:= Irr( Sl23 )[4];</span>
Character( CharacterTable( SL(2,3) ), [ 2, 1, 1, -2, -1, -1, 0 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">cln:= ClassPositionsOfNormalSubgroup( CharacterTable( Sl23 ), n );</span>
[ 1, 4, 7 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">TestHomogeneous( chi, cln );</span>
rec( comment := "restricts irreducibly", isHomogeneous := true )
</pre></div>
<p><a id="X7BC72ECE822D4245" name="X7BC72ECE822D4245"></a></p>
<h5>75.3-2 IsPrimitiveCharacter</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPrimitiveCharacter</code>( <var class="Arg">chi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>For a character <var class="Arg">chi</var> of the group <span class="SimpleMath">G</span>, say, <code class="func">IsPrimitiveCharacter</code> returns <code class="keyw">true</code> if <var class="Arg">chi</var> is not induced from any proper subgroup, and <code class="keyw">false</code> otherwise.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsPrimitive( Irr( Sl23 )[4] );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsPrimitive( Irr( Sl23 )[7] );</span>
false
</pre></div>
<p><a id="X82BFA6968415F308" name="X82BFA6968415F308"></a></p>
<h5>75.3-3 TestQuasiPrimitive</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestQuasiPrimitive</code>( <var class="Arg">chi</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsQuasiPrimitive</code>( <var class="Arg">chi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p><code class="func">TestQuasiPrimitive</code> returns a record with information about quasiprimitivity of the group character <var class="Arg">chi</var>, i.e., whether <var class="Arg">chi</var> restricts homogeneously to every normal subgroup of its group. The result record contains at least the components <code class="code">isQuasiPrimitive</code> (with value either <code class="keyw">true</code> or <code class="keyw">false</code>) and <code class="code">comment</code> (a string telling a reason for the value of the component <code class="code">isQuasiPrimitive</code>). If <var class="Arg">chi</var> is not quasiprimitive then there is additionally a component <code class="code">character</code>, with value an irreducible constituent of a nonhomogeneous restriction of <var class="Arg">chi</var>.</p>
<p><code class="func">IsQuasiPrimitive</code> returns <code class="keyw">true</code> or <code class="keyw">false</code>, depending on whether the character <var class="Arg">chi</var> is quasiprimitive.</p>
<p>Note that for solvable groups, quasiprimitivity is the same as primitivity (see <code class="func">IsPrimitiveCharacter</code> (<a href="chap75.html#X7BC72ECE822D4245"><span class="RefLink">75.3-2</span></a>)).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">chi:= Irr( Sl23 )[4];</span>
Character( CharacterTable( SL(2,3) ), [ 2, 1, 1, -2, -1, -1, 0 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">TestQuasiPrimitive( chi );</span>
rec( comment := "all restrictions checked", isQuasiPrimitive := true )
<span class="GAPprompt">gap></span> <span class="GAPinput">chi:= Irr( Sl23 )[7];</span>
Character( CharacterTable( SL(2,3) ), [ 3, 0, 0, 3, 0, 0, -1 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">TestQuasiPrimitive( chi );</span>
rec( character := Character( CharacterTable( Group(
[ [ [ 0*Z(3), Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
[ [ Z(3), 0*Z(3) ], [ 0*Z(3), Z(3) ] ],
[ [ Z(3)^0, Z(3) ], [ Z(3), Z(3) ] ] ]) ), [ 1, -1, 1, -1, 1 ] )
, comment := "restriction checked", isQuasiPrimitive := false )
</pre></div>
<p><a id="X84860E3A7FECDBA3" name="X84860E3A7FECDBA3"></a></p>
<h5>75.3-4 TestInducedFromNormalSubgroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestInducedFromNormalSubgroup</code>( <var class="Arg">chi</var>[, <var class="Arg">N</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">‣ IsInducedFromNormalSubgroup</code>( <var class="Arg">chi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p><code class="func">TestInducedFromNormalSubgroup</code> returns a record with information whether the irreducible character <var class="Arg">chi</var> of the group <span class="SimpleMath">G</span>, say, is induced from a proper normal subgroup of <span class="SimpleMath">G</span>. If the second argument <var class="Arg">N</var> is present, which must be a normal subgroup of <span class="SimpleMath">G</span> or the list of class positions of a normal subgroup of <span class="SimpleMath">G</span>, it is checked whether <var class="Arg">chi</var> is induced from <var class="Arg">N</var>.</p>
<p>The result contains always the components <code class="code">isInduced</code> (either <code class="keyw">true</code> or <code class="keyw">false</code>) and <code class="code">comment</code> (a string telling a reason for the value of the component <code class="code">isInduced</code>). In the <code class="keyw">true</code> case there is a component <code class="code">character</code> which contains a character of a maximal normal subgroup from which <var class="Arg">chi</var> is induced.</p>
<p><code class="func">IsInducedFromNormalSubgroup</code> returns <code class="keyw">true</code> if <var class="Arg">chi</var> is induced from a proper normal subgroup of <span class="SimpleMath">G</span>, and <code class="keyw">false</code> otherwise.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">List( Irr( Sl23 ), IsInducedFromNormalSubgroup );</span>
[ false, false, false, false, false, false, true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List( Irr( S4 ){ [ 1, 3, 4 ] },</span>
<span class="GAPprompt">></span> <span class="GAPinput"> TestInducedFromNormalSubgroup );</span>
[ rec( comment := "linear character", isInduced := false ),
rec( character := Character( CharacterTable( Alt( [ 1 .. 4 ] ) ),
[ 1, 1, E(3)^2, E(3) ] ),
comment := "induced from component '.character'",
isInduced := true ),
rec( comment := "all maximal normal subgroups checked",
isInduced := false ) ]
</pre></div>
<p><a id="X86567D7F781BBCAE" name="X86567D7F781BBCAE"></a></p>
<h4>75.4 <span class="Heading">Testing Monomiality</span></h4>
<p>A character <span class="SimpleMath">χ</span> of a finite group <span class="SimpleMath">G</span> is called <em>monomial</em> if <span class="SimpleMath">χ</span> is induced from a linear character of a subgroup of <span class="SimpleMath">G</span>. A finite group <span class="SimpleMath">G</span> is called <em>monomial</em> (or <em><span class="SimpleMath">M</span>-group</em>) if each ordinary irreducible character of <span class="SimpleMath">G</span> is monomial.</p>
<p><a id="X84EB92B57DAF5C93" name="X84EB92B57DAF5C93"></a></p>
<h5>75.4-1 <span class="Heading">TestMonomial</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestMonomial</code>( <var class="Arg">chi</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestMonomial</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestMonomial</code>( <var class="Arg">chi</var>, <var class="Arg">uselattice</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestMonomial</code>( <var class="Arg">G</var>, <var class="Arg">uselattice</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Called with a group character <var class="Arg">chi</var> of a group <var class="Arg">G</var>, <code class="func">TestMonomial</code> returns a record containing information about monomiality of the group <var class="Arg">G</var> or the group character <var class="Arg">chi</var>, respectively.</p>
<p>If <code class="func">TestMonomial</code> proves the character <var class="Arg">chi</var> to be monomial then the result contains components <code class="code">isMonomial</code> (with value <code class="keyw">true</code>), <code class="code">comment</code> (a string telling a reason for monomiality), and if it was necessary to compute a linear character from which <var class="Arg">chi</var> is induced, also a component <code class="code">character</code>.</p>
<p>If <code class="func">TestMonomial</code> proves <var class="Arg">chi</var> or <var class="Arg">G</var> to be nonmonomial then the value of the component <code class="code">isMonomial</code> is <code class="keyw">false</code>, and in the case of <var class="Arg">G</var> a nonmonomial character is the value of the component <code class="code">character</code> if it had been necessary to compute it.</p>
<p>A Boolean can be entered as the second argument <var class="Arg">uselattice</var>; if the value is <code class="keyw">true</code> then the subgroup lattice of the underlying group is used if necessary, if the value is <code class="keyw">false</code> then the subgroup lattice is used only for groups of order at most <code class="func">TestMonomialUseLattice</code> (<a href="chap75.html#X787CCCBB7FC17F5E"><span class="RefLink">75.4-2</span></a>). The default value of <var class="Arg">uselattice</var> is <code class="keyw">false</code>.</p>
<p>For a group whose lattice must not be used, it may happen that <code class="func">TestMonomial</code> cannot prove or disprove monomiality; then the result record contains the component <code class="code">isMonomial</code> with value <code class="code">"?"</code>. This case occurs in the call for a character <var class="Arg">chi</var> if and only if <var class="Arg">chi</var> is not induced from the inertia subgroup of a component of any reducible restriction to a normal subgroup. It can happen that <var class="Arg">chi</var> is monomial in this situation. For a group, this case occurs if no irreducible character can be proved to be nonmonomial, and if no decision is possible for at least one irreducible character.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">TestMonomial( S4 );</span>
rec( comment := "abelian by supersolvable group", isMonomial := true )
<span class="GAPprompt">gap></span> <span class="GAPinput">TestMonomial( Sl23 );</span>
rec( comment := "list Delta( G ) contains entry > 1",
isMonomial := false )
</pre></div>
<p><a id="X787CCCBB7FC17F5E" name="X787CCCBB7FC17F5E"></a></p>
<h5>75.4-2 TestMonomialUseLattice</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestMonomialUseLattice</code></td><td class="tdright">( global variable )</td></tr></table></div>
<p>This global variable controls for which groups the operation <code class="func">TestMonomial</code> (<a href="chap75.html#X84EB92B57DAF5C93"><span class="RefLink">75.4-1</span></a>) may compute the subgroup lattice. The value can be set to a positive integer or <code class="func">infinity</code> (<a href="chap18.html#X8511B8DF83324C27"><span class="RefLink">18.2-1</span></a>), the default is <span class="SimpleMath">1000</span>.</p>
<p><a id="X8261B5AA7BCFFCC2" name="X8261B5AA7BCFFCC2"></a></p>
<h5>75.4-3 IsMonomialNumber</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMonomialNumber</code>( <var class="Arg">n</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>For a positive integer <var class="Arg">n</var>, <code class="func">IsMonomialNumber</code> returns <code class="keyw">true</code> if every solvable group of order <var class="Arg">n</var> is monomial, and <code class="keyw">false</code> otherwise. One can also use <code class="code">IsMonomial</code> instead.</p>
<p>Let <span class="SimpleMath">ν_p(n)</span> denote the multiplicity of the prime <span class="SimpleMath">p</span> as factor of <span class="SimpleMath">n</span>, and <span class="SimpleMath">ord(p,q)</span> the multiplicative order of <span class="SimpleMath">p mod q</span>.</p>
<p>Then there exists a solvable nonmonomial group of order <span class="SimpleMath">n</span> if and only if one of the following conditions is satisfied.</p>
<dl>
<dt><strong class="Mark">1.</strong></dt>
<dd><p><span class="SimpleMath">ν_2(n) ≥ 2</span> and there is a <span class="SimpleMath">p</span> such that <span class="SimpleMath">ν_p(n) ≥ 3</span> and <span class="SimpleMath">p ≡ -1 mod 4</span>,</p>
</dd>
<dt><strong class="Mark">2.</strong></dt>
<dd><p><span class="SimpleMath">ν_2(n) ≥ 3</span> and there is a <span class="SimpleMath">p</span> such that <span class="SimpleMath">ν_p(n) ≥ 3</span> and <span class="SimpleMath">p ≡ 1 mod 4</span>,</p>
</dd>
<dt><strong class="Mark">3.</strong></dt>
<dd><p>there are odd prime divisors <span class="SimpleMath">p</span> and <span class="SimpleMath">q</span> of <span class="SimpleMath">n</span> such that <span class="SimpleMath">ord(p,q)</span> is even and <span class="SimpleMath">ord(p,q) < ν_p(n)</span> (especially <span class="SimpleMath">ν_p(n) ≥ 3</span>),</p>
</dd>
<dt><strong class="Mark">4.</strong></dt>
<dd><p>there is a prime divisor <span class="SimpleMath">q</span> of <span class="SimpleMath">n</span> such that <span class="SimpleMath">ν_2(n) ≥ 2 ord(2,q) + 2</span> (especially <span class="SimpleMath">ν_2(n) ≥ 4</span>),</p>
</dd>
<dt><strong class="Mark">5.</strong></dt>
<dd><p><span class="SimpleMath">ν_2(n) ≥ 2</span> and there is a <span class="SimpleMath">p</span> such that <span class="SimpleMath">p ≡ 1 mod 4</span>, <span class="SimpleMath">ord(p,q)</span> is odd, and <span class="SimpleMath">2 ord(p,q) < ν_p(n)</span> (especially <span class="SimpleMath">ν_p(n) ≥ 3</span>).</p>
</dd>
</dl>
<p>These five possibilities correspond to the five types of solvable minimal nonmonomial groups (see <code class="func">MinimalNonmonomialGroup</code> (<a href="chap75.html#X7B416BBD80072079"><span class="RefLink">75.5-2</span></a>)) that can occur as subgroups and factor groups of groups of order <var class="Arg">n</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Filtered( [ 1 .. 111 ], x -> not IsMonomial( x ) );</span>
[ 24, 48, 72, 96, 108 ]
</pre></div>
<p><a id="X822E03EF7B8F92D3" name="X822E03EF7B8F92D3"></a></p>
<h5>75.4-4 <span class="Heading">TestMonomialQuick</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestMonomialQuick</code>( <var class="Arg">chi</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestMonomialQuick</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="func">TestMonomialQuick</code> does some cheap tests whether the irreducible character <var class="Arg">chi</var> or the group <var class="Arg">G</var>, respectively, is monomial. Here "cheap" means in particular that no computations of character tables are involved. The return value is a record with components</p>
<dl>
<dt><strong class="Mark"><code class="code">isMonomial</code></strong></dt>
<dd><p>either <code class="keyw">true</code> or <code class="keyw">false</code> or the string <code class="code">"?"</code>, depending on whether (non)monomiality could be proved, and</p>
</dd>
<dt><strong class="Mark"><code class="code">comment</code></strong></dt>
<dd><p>a string telling the reason for the value of the <code class="code">isMonomial</code> component.</p>
</dd>
</dl>
<p>A group <var class="Arg">G</var> is proved to be monomial by <code class="func">TestMonomialQuick</code> if <var class="Arg">G</var> is nilpotent or Sylow abelian by supersolvable, or if <var class="Arg">G</var> is solvable and its order is not divisible by the third power of a prime, Nonsolvable groups are proved to be nonmonomial by <code class="func">TestMonomialQuick</code>.</p>
<p>An irreducible character <var class="Arg">chi</var> is proved to be monomial if it is linear, or if its codegree is a prime power, or if its group knows to be monomial, or if the factor group modulo the kernel can be proved to be monomial by <code class="func">TestMonomialQuick</code>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">TestMonomialQuick( Irr( S4 )[3] );</span>
rec( comment := "whole group is monomial", isMonomial := true )
<span class="GAPprompt">gap></span> <span class="GAPinput">TestMonomialQuick( S4 );</span>
rec( comment := "abelian by supersolvable group", isMonomial := true )
<span class="GAPprompt">gap></span> <span class="GAPinput">TestMonomialQuick( Sl23 );</span>
rec( comment := "no decision by cheap tests", isMonomial := "?" )
</pre></div>
<p><a id="X7E56A0EA868CC34A" name="X7E56A0EA868CC34A"></a></p>
<h5>75.4-5 <span class="Heading">TestSubnormallyMonomial</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestSubnormallyMonomial</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestSubnormallyMonomial</code>( <var class="Arg">chi</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSubnormallyMonomial</code>( <var class="Arg">G</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSubnormallyMonomial</code>( <var class="Arg">chi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A character of the group <span class="SimpleMath">G</span> is called <em>subnormally monomial</em> (SM for short) if it is induced from a linear character of a subnormal subgroup of <span class="SimpleMath">G</span>. A group <span class="SimpleMath">G</span> is called SM if all its irreducible characters are SM.</p>
<p><code class="func">TestSubnormallyMonomial</code> returns a record with information whether the group <var class="Arg">G</var> or the irreducible character <var class="Arg">chi</var> of <var class="Arg">G</var> is SM.</p>
<p>The result has the components <code class="code">isSubnormallyMonomial</code> (either <code class="keyw">true</code> or <code class="keyw">false</code>) and <code class="code">comment</code> (a string telling a reason for the value of the component <code class="code">isSubnormallyMonomial</code>); in the case that the <code class="code">isSubnormallyMonomial</code> component has value <code class="keyw">false</code> there is also a component <code class="code">character</code>, with value an irreducible character of <span class="SimpleMath">G</span> that is not SM.</p>
<p><code class="func">IsSubnormallyMonomial</code> returns <code class="keyw">true</code> if the group <var class="Arg">G</var> or the group character <var class="Arg">chi</var> is subnormally monomial, and <code class="keyw">false</code> otherwise.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">TestSubnormallyMonomial( S4 );</span>
rec( character := Character( CharacterTable( S4 ), [ 3, -1, -1, 0, 1
] ), comment := "found non-SM character",
isSubnormallyMonomial := false )
<span class="GAPprompt">gap></span> <span class="GAPinput">TestSubnormallyMonomial( Irr( S4 )[4] );</span>
rec( comment := "all subnormal subgroups checked",
isSubnormallyMonomial := false )
<span class="GAPprompt">gap></span> <span class="GAPinput">TestSubnormallyMonomial( DerivedSubgroup( S4 ) );</span>
rec( comment := "all irreducibles checked",
isSubnormallyMonomial := true )
</pre></div>
<p><a id="X83EF7B8D7C1C2CA3" name="X83EF7B8D7C1C2CA3"></a></p>
<h5>75.4-6 <span class="Heading">TestRelativelySM</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestRelativelySM</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestRelativelySM</code>( <var class="Arg">chi</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestRelativelySM</code>( <var class="Arg">G</var>, <var class="Arg">N</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TestRelativelySM</code>( <var class="Arg">chi</var>, <var class="Arg">N</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRelativelySM</code>( <var class="Arg">G</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRelativelySM</code>( <var class="Arg">chi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>In the first two cases, <code class="func">TestRelativelySM</code> returns a record with information whether the argument, which must be a SM group <var class="Arg">G</var> or an irreducible character <var class="Arg">chi</var> of a SM group <span class="SimpleMath">G</span>, is relatively SM with respect to every normal subgroup of <var class="Arg">G</var>.</p>
<p>In the second two cases, a normal subgroup <var class="Arg">N</var> of <var class="Arg">G</var> is the second argument. Here <code class="func">TestRelativelySM</code> returns a record with information whether the first argument is relatively SM with respect to <var class="Arg">N</var>, i.e, whether there is a subnormal subgroup <span class="SimpleMath">H</span> of <span class="SimpleMath">G</span> that contains <var class="Arg">N</var> such that the character <var class="Arg">chi</var> resp. every irreducible character of <span class="SimpleMath">G</span> is induced from a character <span class="SimpleMath">ψ</span> of <span class="SimpleMath">H</span> such that the restriction of <span class="SimpleMath">ψ</span> to <var class="Arg">N</var> is irreducible.</p>
<p>The result record has the components <code class="code">isRelativelySM</code> (with value either <code class="keyw">true</code> or <code class="keyw">false</code>) and <code class="code">comment</code> (a string that describes a reason). If the argument is a group <var class="Arg">G</var> that is not relatively SM with respect to a normal subgroup then additionally the component <code class="code">character</code> is bound, with value a not relatively SM character of such a normal subgroup.</p>
<p><code class="func">IsRelativelySM</code> returns <code class="keyw">true</code> if the SM group <var class="Arg">G</var> or the irreducible character <var class="Arg">chi</var> of the SM group <var class="Arg">G</var> is relatively SM with respect to every normal subgroup of <var class="Arg">G</var>, and <code class="keyw">false</code> otherwise.</p>
<p><em>Note</em> that it is <em>not</em> checked whether <var class="Arg">G</var> is SM.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubnormallyMonomial( DerivedSubgroup( S4 ) );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">TestRelativelySM( DerivedSubgroup( S4 ) );</span>
rec(
comment := "normal subgroups are abelian or have nilpotent factor gr\
oup", isRelativelySM := true )
</pre></div>
<p><a id="X7B5735897DE29BCB" name="X7B5735897DE29BCB"></a></p>
<h4>75.5 <span class="Heading">Minimal Nonmonomial Groups</span></h4>
<p><a id="X7D7E2667821A23CD" name="X7D7E2667821A23CD"></a></p>
<h5>75.5-1 IsMinimalNonmonomial</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMinimalNonmonomial</code>( <var class="Arg">G</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A group <var class="Arg">G</var> is called <em>minimal nonmonomial</em> if it is nonmonomial, and all proper subgroups and factor groups are monomial.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsMinimalNonmonomial( Sl23 ); IsMinimalNonmonomial( S4 );</span>
true
false
</pre></div>
<p><a id="X7B416BBD80072079" name="X7B416BBD80072079"></a></p>
<h5>75.5-2 MinimalNonmonomialGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MinimalNonmonomialGroup</code>( <var class="Arg">p</var>, <var class="Arg">factsize</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>is a solvable minimal nonmonomial group described by the parameters <var class="Arg">factsize</var> and <var class="Arg">p</var> if such a group exists, and <code class="keyw">false</code> otherwise.</p>
<p>Suppose that the required group <span class="SimpleMath">K</span> exists. Then <var class="Arg">factsize</var> is the size of the Fitting factor <span class="SimpleMath">K / F(K)</span>, and this value is 4, 8, an odd prime, twice an odd prime, or four times an odd prime. In the case that <var class="Arg">factsize</var> is twice an odd prime, the centre <span class="SimpleMath">Z(K)</span> is cyclic of order <span class="SimpleMath">2^{<var class="Arg">p</var>+1}</span>. In all other cases <var class="Arg">p</var> is the (unique) prime that divides the order of <span class="SimpleMath">F(K)</span>.</p>
<p>The solvable minimal nonmonomial groups were classified by van der Waall, see <a href="chapBib.html#biBvdW76">[vdW76]</a>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalNonmonomialGroup( 2, 3 ); # the group SL(2,3)</span>
2^(1+2):3
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalNonmonomialGroup( 3, 4 );</span>
3^(1+2):4
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalNonmonomialGroup( 5, 8 );</span>
5^(1+2):Q8
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalNonmonomialGroup( 13, 12 );</span>
13^(1+2):2.D6
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalNonmonomialGroup( 1, 14 );</span>
2^(1+6):D14
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalNonmonomialGroup( 2, 14 );</span>
(2^(1+6)Y4):D14
</pre></div>
<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap74.html">[Previous Chapter]</a> <a href="chap76.html">[Next Chapter]</a> </div>
<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chap10.html">10</a> <a href="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chap13.html">13</a> <a href="chap14.html">14</a> <a href="chap15.html">15</a> <a href="chap16.html">16</a> <a href="chap17.html">17</a> <a href="chap18.html">18</a> <a href="chap19.html">19</a> <a href="chap20.html">20</a> <a href="chap21.html">21</a> <a href="chap22.html">22</a> <a href="chap23.html">23</a> <a href="chap24.html">24</a> <a href="chap25.html">25</a> <a href="chap26.html">26</a> <a href="chap27.html">27</a> <a href="chap28.html">28</a> <a href="chap29.html">29</a> <a href="chap30.html">30</a> <a href="chap31.html">31</a> <a href="chap32.html">32</a> <a href="chap33.html">33</a> <a href="chap34.html">34</a> <a href="chap35.html">35</a> <a href="chap36.html">36</a> <a href="chap37.html">37</a> <a href="chap38.html">38</a> <a href="chap39.html">39</a> <a href="chap40.html">40</a> <a href="chap41.html">41</a> <a href="chap42.html">42</a> <a href="chap43.html">43</a> <a href="chap44.html">44</a> <a href="chap45.html">45</a> <a href="chap46.html">46</a> <a href="chap47.html">47</a> <a href="chap48.html">48</a> <a href="chap49.html">49</a> <a href="chap50.html">50</a> <a href="chap51.html">51</a> <a href="chap52.html">52</a> <a href="chap53.html">53</a> <a href="chap54.html">54</a> <a href="chap55.html">55</a> <a href="chap56.html">56</a> <a href="chap57.html">57</a> <a href="chap58.html">58</a> <a href="chap59.html">59</a> <a href="chap60.html">60</a> <a href="chap61.html">61</a> <a href="chap62.html">62</a> <a href="chap63.html">63</a> <a href="chap64.html">64</a> <a href="chap65.html">65</a> <a href="chap66.html">66</a> <a href="chap67.html">67</a> <a href="chap68.html">68</a> <a href="chap69.html">69</a> <a href="chap70.html">70</a> <a href="chap71.html">71</a> <a href="chap72.html">72</a> <a href="chap73.html">73</a> <a href="chap74.html">74</a> <a href="chap75.html">75</a> <a href="chap76.html">76</a> <a href="chap77.html">77</a> <a href="chap78.html">78</a> <a href="chap79.html">79</a> <a href="chap80.html">80</a> <a href="chap81.html">81</a> <a href="chap82.html">82</a> <a href="chap83.html">83</a> <a href="chap84.html">84</a> <a href="chap85.html">85</a> <a href="chap86.html">86</a> <a href="chap87.html">87</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div>
<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>
|