|
|
|
|
Impressum chap6_mj.html
Interaktion und PortierbarkeitHTML
|
|
| products/Sources/formale Sprachen/GAP/pkg/browse/doc/chap6_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
src= "https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</ script>
< title>GAP (Browse) - Chapter 6: Examples of Applications based on NCurses.BrowseGeneric
</ 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 !apprompt@gap>| !gapinput@FourCycle := RcwaMapping((4,5,6,7),[4..7]);|
< script type= "text/javascript">overwriteStyle();</ script>
</ head>
< body class= "chap6" 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="chapA_mj.html">A</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="chap5_mj.html">[Previous Chapter]</a> !apprompt@|g level =1 returnFourCycle |
<p id="mathjaxlink" class="pcenter"><a href="chap6.html">[MathJax off]</a></p>
<p><a id="X78D4F8EA79405AF9" name="X78D4F8EA79405AF9"></a></p>
<div class="ChapSects"><a href="chap6_mj.html#X78D4F8EA79405AF9">6 < !apprompt@|!apinput (java.lang.StringIndexOutOfBoundsException: Range [89, 90) out of bounds for length 89
</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X813F90F7815AB5B3">6.1 <span class="< !apprompt@|!apinput@* Restriction(,RcwaMapping[431]
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7FDD696B7DD54A6E">6.1-1 Browse</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 90
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X8295F85D87118C83">6.2-1 NCurses.BrowseDenseList</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj. @|!apinput@ ([4,,]);java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X8720923F7FDE5223">6.3 <span class="Heading">Character Table Display</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br />span class"ocss" &<span<href"hap6_mj.#870744182073">.- </>/>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7D80A56D853C9655">6.3-2 BrowseDecompositionMatrix</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X80E9A03780DE8891">6.4 <span class="Heading">Table of Marks Display</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7F4BD9C580BBBAA4">6.4-1 Browse</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#java.lang.StringIndexOutOfBoundsException: Index 117 out of bounds for length 75
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X8411AF928194C5AB">6.5-1 <span class="Heading">BrowseAtlasInfo</span></a>
</span>
</div></div>
<div class="ContSect">< !gapprompt@>| !gapinput@ GrigorchukGroup2Generatorlevel);|
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7D79DF9181A15EDF">6.6-1 BrowseGapManuals</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X846751CC7F54F51D">6.7 <span class="Heading">Overview of Bibliographies</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7F0FE4CC7F46ABF3">6.7-1 BrowseBibliography</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7E4B5E277D08987B">6.7-2 BrowseBibliographyGapPackages</a\nd{erbatimjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X81F1558678ACDB4A">6.7-3 BrowseMSC</a></span>
</div></div>
< We can do things as shownin example on the\extsfGAP for the`first' Grigorchuk group:
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7B42091982DE7AE7">6.8-1 BrowseProfile</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X87B30F7387C0E531">6.9 <span class="Heading">Variables defined in <strong class="pkg">GAP\egin{}commandchars=!|fontsize=small,=,abelExample]
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X8030B1688335783D">6.9-1 BrowsePackageVariables</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X7CD025147D528741">6.10 <span class="Heading">Configuring User preferences–a Variant</span></a>
</span>
<div class="ContSSBlock">
<span !gapprompgapprompt@>|!gapinput@G : List(1.4]lev-GrigorchukGroup2(ev); #The 4 .|
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X86C730A07855238D">6.11 <span class="Heading">Overview of <strong class="pkg">GAP</strong> Data</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj< [< group Z 2generators,
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7FC24FCE7A0C6058">6.11-2 BrowseGapDataAdd</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X7E3FDA927E62D963">6.12 <span class="Heading">Navigating in a Directory Tree</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X859682DE8397261E">6.12-1 BrowseDirectory</a></span>
</div></div>
<div class="rcwa Z 2 >,
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7EF5FCBD7DAFFAF3">6.13-1 BrowsePuzzle</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X7FFF943D78A403C9">6.14 <span class="Heading">Peg Solitaire</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X82C8691380FCB674">6.14-1 PegSolitaire</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html !apprompt@ap>|!apinputH: ([.4]lev->(G[ev][.4l-]);#Isom..-ps.
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X8100659E81FFE9A2">6.15-1 BrowseRubiksCube</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X7ADD618186541123">6.16 <span class="Heading">Changing Sides</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7FCFC5858584F46E">6.16-1 BrowseChangeSides</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X7DDE46668321B5E9">6.17 <span class="Heading">Sudoku</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X789D3D4C818F4BC2">6.17-1 Sudoku.Init</a></span>
<span class 15913(,,,4(,,2,6 )
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X8401B31A879F9F9F">6.17-3 Sudoku.RandomGame</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X86917AC57C25A68F">6.17-4 Sudoku.SimpleDisplay</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X81F98C6C7C8415AB">6.17-5 Sudoku.DisplayString</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7C73C6D08293B3B8">6.17-6 Sudoku.OneSolution</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X865DDBDC7E16217F">6.17-7 Sudoku.UniqueSolution</a></span>
<span class= < 2 generators>]
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X804D66D67B908F30">6.17-9 Sudoku.HTMLGame</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.html#X78E8DF8381626623">6.18 <span class="Heading">Managing simple Workflows</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X7E47FC2378C276C6">6.18-1 <span class="Heading">BrowseWizard</span></a>
</span>
</div></div>
<div class="ContSect[4,1024,4294967296,1329227995784915872903807060280344576
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6_mj.html#X80F418C5835C62BA">6.19-1 LoadDemoFile</a></span>
</div></div>
</div>
<h3>6 <span class="<h3>6 <span class="Heading(ast,-CollectedF(n))|
</span></h3>
<p>This chapter introduces the operation <code class="func">Browse</code> (<a href="chap6_mj.html#X7FDD696B7DD54A6E"><span class="RefLink">6.1-1</span></a>) and lists several examples how the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>) can be utilized for rendering <strong class="pkg">GAP</strong> related data or for playing games. Each section describes the relevant <strong class="pkg">GAP</strong> functions and briefly sketches the technical aspects of the implementation; more details can be found in the <strong class="pkg">GAP</strong> files, in the <code class="file">app</code> directory of the package.</p>
<p>Only Section <a href="chap6_mj.html#X80E9A03780DE8891"><span class="RefLink">6.4</span></a> describes a standard application in the sense of the introduction to Chapter <a href="chap4_mj.html#X877E60DE7F53FDEC"><span class="RefLink">4</span></a>, perhaps except for a special function that is needed to compare table entries. The other examples in this chapter require some of the programming described in Chapter <a href="chap5_mj.html#X82DDDC1783B4CA30"><span class="RefLink">5</span></a>.</p>
<p>The <strong class="pkg">GAP</strong> examples in this chapter use the "replay" feature of <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>), see Section
<p><a id="X813F90F7815AB5B3" name="X813F90F7815AB5B3"></a></p>
<h4>6.1 <span class="Heading">The Operation <code class="code">Browse</code></span></h4>
<p><a id="X7FDD696B7DD54A6E" name="X7FDD696B7DD54A6E"></a></p>
<h5>6.1-1 Browse</h5>
<div class="func"><table class="func" width="100%"><tr><td
<p>This operation displays the <strong class="pkg">GAP</strong> object <var class="Arg">obj</var> in a nice, formatted way, similar to the operation <code class="func">Display</code> (<a href="../../../doc/ref/chap6_mj.html#X83A5C59278E13248"><span class="RefLink">Reference: Display</span></a>). The difference is that <code class="func">Browse</code> is intended to use <code class="code">ncurses</code> facilities.</p>
<p>Currently there are methods for matrices (see <code class="func">Browse</code> (<a href="chap6_mj.html#X7AD78A0B7BEDBB20"><span class="RefLink">6.2-2</span></a>)), for character tables (see <code class="func">Browse</code> (<a href="chap6_mj.html#X870C744182073CF6"><span class="RefLink">6.3-1</span></a>)) and for tables of marks (see <code class="func">Browse</code> (<a href="chap6_mj.html#X7F4BD9C580BBBAA4"><span class="RefLink">6.4-1</span><logpage ,20, }
<p><a id="X7F6EE19480D10E2B" name="X7F6EE19480D10E2B"></a></p>
<h4>6.2 <span class="Heading">Matrix Display</span></h4>
<p>The <strong class="pkg">GAP</strong> library provides several <code class="func">Display</code> (<a href="../../../doc/ref/chap6_mj.html#X83A5C59278E13248"><span class="RefLink">Reference: Display</span></a>) methods for matrices. In order to cover the functionality of these methods, <strong class="pkg">Browse</strong> provides the function <code class="func">NCurses.BrowseDenseList</code> (<a href="chap6_mj.html#X8295F85D87118C83"><span class="RefLink">6.2-1</span></a>) that uses $n1 theforwardorbit positiveinteger
<p>The idea is to customize this function for different special cases, and to install corresponding <code class="func">Browse</code> (<a href="chap6_mj.html#X7FDD696B7DD54A6E"><span class="RefLink">6.1-1</span></a>) methods. Examples are methods for matrices over finite fields and residue class rings of the rational integers, see <code class="func">Browse</
<p>The code can be found in the file <code class="file">app/matdisp.g</code> of the package.</p>
<p><a id="X8295F85D87118C83" name="X8295F85D87118C83"></a></p>
<h5>6.2-1 NCurses.BrowseDenseList</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code T_5^\pm:\\{}\ongrightarrowmathbbZ,\\\\
<p>Returns: nothing.</p>
<p>Let <var class="Arg">list</var> be a dense list whose entries are lists, for example a matrix, and let <var class="Arg">arec</var> be a record. This function displays <var class="Arg">list</var> in a window, as a two-dimensional array with row and column positions as row and column labels, respectively.</p>
<p>The following components of <var class="Arg">arec</var> are supported.</p>
<dl>
<dt><strong class="Mark"><code class="code">header</code></strong></dt>
<dd><p>If bound, the value must be a valid value of the <code class="code">work.header</code> component of a browse table, see <code class="func">BrowseData.IsBrowseTable</code> (<a href="chap4_mj.html#X81007E2F8552523B"><span class="RefLink">4.2-3</span></a>); for example, the value can be a list of strings. If this component\racn{2} t{} \\ext{} \
</dd>
<dt><strong class="Mark"><code class="code">footer</code></strong></dt>
<dd><p>If bound, the value must be a valid value of the <code class="code">work.footer</code> component of a browse java.lang.StringIndexOutOfBoundsException: Index 119 out of bounds for length 53
</dd>
<dt><strong class="Mark"><code class="code">convertEntry</code></strong></dt>
<dd><p>If bound, the value must be a unary function that returns a string describing its argument. The default \nd{ases}
</dd>
<dt><strong class="Mark"><code class="code">labelsRow</code></strong></dt>
<dd><p>If bound, the value must be a list of row label rows for <var class="Arg">list</var>, as described in Section <code class="func">BrowseData.IsBrowseTable</code> (<a href="chap4_mj.html#X81007E2F8552523B"><span class="RefLink">4.2-3</span></a>). \
</dd>
<dt><strong class="Mark"><code class="code">labelsCol</code></strong></dt>
<dd><p>If bound, the value must be a list of column label rows for <var class="Arg">list</var>, as described in Section <code class="func"
</dd>
</dl>
<p>The full functionality of the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>) is available.</p>
<p><a id="X7AD78A0B7BEDBB20" name="X7AD78A0B7BEDBB20"></a></p>
<h5>6.2-2 Browse</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Browse</code>( <var class="Arg">list</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: nothing.</p>
<p>Several methods for the operation <code class="func">Browse</code>ny positive integer under the action of themonoid generated by
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">n:= [ 14, 14, 14, 14 ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">input:= Concatenation( n, n, n, "Q" );; # ``do nothingmappings$_^- and{nobreakspace}T_5^$ contains{nobreakspace} of all, enter thegenerators
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( input );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Browse( RandomMat( 10, 10, Integers ) );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( input );</span>
< class=GAPprompt"gap&t;/span>< class=GAPinput"Browse 10,10,GF3) ;/spanjava.lang.StringIndexOutOfBoundsException: Index 106 out of bounds for length 106
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( input );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Browse( RandomMat( 10, 10, GF(4) ) );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( input );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Browse( RandomMat( 10, 10, Integers mod 6 ) );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( input );</span>
<span class="GAPprompt">gap></span> <span class !apprompt@|gapinput@5 : ([1,,2][,1,];|
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( input );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Browse( RandomMat( 10, 10, GF( 2^20 ) ) );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( false );</span>
</re>/>
<p><a id="X8720923F7FDE5223" name="X8720923F7FDE5223"></a></p>
<h4>6.3 <span class="Heading">Character Table Display</span></h4>
<p>The <strong class="pkg">GAP</strong> library provides a <code class="func">Display</code> (<a href="../../../doc/ref/chap6_mj.html#X83A5C59278E13248"><span class="RefLink">Referencejava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
<p>The <code class="func">Browse</code> (<a href="chap6_mj.html#X7FDD696B7DD54A6E"><span class="RefLink">6.1-1</span></a>) method for character tables can be called instead of <code class="func">Display</code> (<a href="../../../doc/ref/chap6_mj.html#X83A5C59278E13248"><span class="RefLink">Reference: Display</span></a>). For convenience, one can additionally make this function the default <code class="func">Display</code> (<a href="../../../doc/ref/chap6_mj.html#X83A5C59278E13248 for number k$ thatforr(^)$there {\}f$ of ${n}mappings T_5^\m$whose to r2k$given n\apsto an+)c$where$>$
<p>The function <code class="func">BrowseDecompositionMatrix</code> (<a href="chap6_mj.html#X7D80A56D853C9655>span ="efLink"6.-<span>/a> canbeusedtodisplaydecomposition
<p><a id="X870C744182073CF6" name="X870C744182073CF6"></a></p>
<h5>6.3-1 Browse</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Browse</code>( java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
<p>This method displays the character table <var class="Arg">tbl</var> in a window. The optional record <var class="Arg">options</var> describes what shall be
<p>The full functionality of the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>) is available.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">if TestPackageAvailability( "CTblLib" ) = true then</span>
<span class="GAPprompt">></span> <span class="GAPinput"> BrowseData.SetReplay( Concatenation(</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # scroll in the table</span>
< class=GAPprompt"&t;<span><pan class=GAPinput" DRULdddddrrrrrlluu"<span>
<span class="GAPprompt">></span> <span class="GAPinput"> # select an entry and move it around</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "seddrruuuddlll",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # search for the pattern 135 (six times)</span>
< "/135", [ NCurseskeysENTER],"nnnnn"<span>
<span class="GAPprompt">></span> <span class="GAPinput"> # deselect the entry, select the first column</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "qLsc",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # sort and categorize by this column</span>
<span class="GAPprompt">></span> <span class !apprompt@|!apinput : Union(ecr)|
<span class="GAPprompt">></span> <span class="GAPinput"> # select the first row, move down the selection</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "srdddd",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # expand the selected category, scroll the selection down</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "xd",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # and quit the application</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "Q" ) );</span>
<span class="GAPprompt">></span> <span class="GAPinput"> Browse( CharacterTable@> !apinput@ =k+1;java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
<span class="GAPprompt">></span> <span class="GAPinput"> BrowseData.SetReplay( false );</span>
<span class="GAPprompt">></span> <span !gapprompt@|!apinput@ =;java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
</pre></div>
<p><em>Implementation remarks</em>: The first part of the code in the <code class="func">Browse</code> (<a href="chap6_mj.html#X7FDD696B7DD54A6E"><span class="RefLink">6.1-1</span></a>) method for character tables is almost identical with the code for extracting the data to be displayed from 1 2
<p>The standard modes in <code class="func">BrowseData</code> (<a href="chap5_mj.html#X86E80E578085F137"><span class="RefLink">5.4-1</span></a>) :0()
<p>An individual <code class="code">minyx</code> function does not only check whether the desired table fits into the window but also whether a table with too high column labels (centralizer orders and power maps) would fit if these labels get collapsed via the <strong class="button">p</strong> key. In this case, the labels are automatically collapsed, and the <strong class="button">p</strong> key is disabled 3:Z ()U7(java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
<p>In order to keep the required space small also for large character tables, caching of formatted matrix entries is disabled, and the strings to be displayed are computed on demand with a <code class="code">Main</code> function in the <code class="code">work</code> component of the browse table. For the same reason, the constant height one for all table rows is set in advance, so one need not inspect a whole character if only a few values of it shall be shown.</p>
<p>Special functions are provided for sorting (concerning the comparison of character values, which can be integers or irrationalities) and categorizing the table by a column (the value 6:<nion of 48 residue classes ( )
<p>The code can be found in the file <code class="file">app/ctbldisp.g</code> of the package.</p>
<p><a id="X7D80A56D853C9655" name="X7D80A56D853C9655"></a></p>
<h5>6.3-2 BrowseDecompositionMatrix</ :Integers
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; BrowseDecompositionMatrix</code>( <var class="Arg">modtbl</var>[, <var class="Arg">b</var>][, <var class="Arg">options</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>This method displays the decomposition matrix of (the <var class="Arg">b</var>-th block of) the Brauer character table <var \{Verbatimjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
<p>The positions of the ordinary and modular irreducible characters are shown in the labels of the rows and columns, respectively Thus$=$serves our To sure that for any integern monoid containsa $$suchthat $^<,westill to check this condition `'{nobreakspace}n$ Since case$>$we (+)c \geq n$ ifonly $n \leq b/c-a)$, we only need to check those$$which are notlarger than the largest coefficient $_r()$occurring in any ofthe productsunder consideration:
<p>The full functionality of the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>) is available.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( Concatenation(</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # select the first entry</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "se",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # scroll in the table</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "drrrr",</span>
<span class="GAPprompt">></
<span class="GAPprompt">></span> <span class="GAPinput"> [ 14, 14, 14, 14, 14 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # and quit 25999
<span class="GAPprompt">></span> <span class="GAPinput"> "Q" ) );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseDecompositionMatrix( CharacterTable( "J1" ) mod 2 );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData !apprompt@ap>|!apinputsmall: ([..axb]n-ForAll(aps,>^>n)|
</pre></div>
<p>The code can be found in the file <code class="file">app/ctbldisp.g</code> of the package.</p>
<p><a id="X80E9A03780DE8891" name="X80E9A03780DE8891"></a></p>
<h4>6.4 <span class="Heading">Table of Marks Display</span></h4>
<p>The <strong class="pkg">GAP</strong> library provides a <code class="func">Display</code> (<a href="../../../doc/ref/chap6_mj.html#X83A5C59278E13248"><span class="RefLink">Reference: Display</span></a>) method for tables of marks that breaks the table java.lang.StringIndexOutOfBoundsException: Index 257 out of bounds for length 2
<p><code class="func">Browse</code> (<a href="chap6_mj.html#X7FDD696B7DD54A6E"><span class="RefLink">6.1-1</span></a>) can be called instead of <code class="func">Display</code> (<a href="../../../doc/ref/chap6_mj.html#X83A5C59278E13248"><span class="RefLink"end{}
<p><a id="X7F4BD9C580BBBAA4" name="X7F4BD9C580BBBAA4"></a></p>
<h5>6.4-1 Browse</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Browse</< means thatexcept{nobreakspace1,only for n\n\{,\} isno productof7 $_^pm maps$$ a integer thatalso the forward orbits three
<p>This method displays the table of marks <var class="Arg">tom</var> in a window. The optional record <var class="Arg">options</var> describes what shall be displayed, the supported components and the default values are described in <a href="../../../doc/ref/chap70_mj.html#X7AC0FB9685DCBCFD"><span class="RefLink">Reference: Printing Tables java.lang.StringIndexOutOfBoundsException: Range [0, 345) out of bounds for length 68
<p>The full functionality of the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span classof{}1:
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">if TestPackageAvailability( "TomLib" ) = true then</span>
<span class="GAPprompt">></span> <span class\eginVerbatim[=!|f=\mallframesinglelabel]
<span class="GAPprompt">></span> <span class="GAPinput"> # scroll in the table</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "DDRRR",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # search for the (exact) value 100 (three times)</span
<span class="GAPprompt">></span> <span class="GAPinput"> "/100",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> [ NCurses.keys.DOWN, NCurses.keys.DOWN, NCurses.keys.RIGHT ],</span>
<span class="GAPprompt">></span> <span class="GAPinput"> !appromptgap|!apinput@ : []; : ;|
<span class="GAPprompt">></span> <span class="GAPinput"> [ NCurses.keys.RIGHT, NCurses.keys.ENTER ], "nn",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> # no more occurrences of 100, confirm</span>
<span class="GAPprompt">></span !apprompt@ap|!apinput@epeat|
<span class="GAPprompt">></span> <span class="GAPinput"> # and quit the application</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "Q" ) );</span>
<span class="GAPprompt">></span> <span class="GAPinput"> Browse( TableOfMarks( "A10" ) );</span>
<"> BrowseData.SetReplay false ;<span
<span class="GAPprompt">></span> <span class="GAPinput"> fi;</span>
</pre></div>
<p><em>Implementation remarks</em>: Rows and columns are indexed by their positions. The identifier of the table is used as the static header, there is no footer.</p>
<p>In order to keep the required space small also for large tables of marks, caching of formatted matrix entries is disabled, and the strings to be displayed are computed on demand with a <code class="code">Main</code> function in the <code class="code">work</code> component of the browse table. For the same reason, the constant height one for the table rows is set in advance. (For example, the table of marks of the group with identifier <code class="code">"O8+(2)"</code>, with <span class="SimpleMath">\(11171\)</span> rows and columns, can be shown with <code class="func">Browse</code> (<a href="chap6_mj.html#X7FDD696B7DD54A6E"><span class="RefLink">6.1-1</span></a>) in a <strong class="pkg">GAP</strong> session requiring about <span class="SimpleMath">\(100\)</span> MB.)</p>
<p>The code can be found in the file <code class="file">app/tomdisp.g</code> of the package.</p>
<p><a id="X80370827793813FD" name="X80370827793813FD"></a></p>
<h4>6.5 <span class="Heading">Table of Contents of <strong class="pkg">AtlasRep</strong></span></h4>
<p><p>The \extttA(LoadRCWAExamples(.ollatzMapping)}in order to assign the global defined section.}
<p><a id="X8411AF928194C5AB" name="X8411AF928194C5AB"></a></p>
<h5>6.5-1 <span class="Heading">BrowseAtlasInfo</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; BrowseAtlasInfo</code>( <var class="Arg">gapname</var>[, <var class="Arg">std</var>][, <var class="Arg">...</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the list of "clicked" info records.</p>
<p>This function shows the information available viasection{textcolor{Chapter } free group of rank2and group PSL(,{ensuremath{mathbb Z}}}\abelsecFa}
<p>The optional arguments can be used to restrict the table to core data or data extensions, or to show an overview for one particular group. The arguments are the\ogpage{7,21
<p>When one "clicks" on one of the table rows or entries then a browse table with an overview of the information available for this group is shown, and "clicking" on one of the rows in these tables adds the corresponding info record (see <code class="func">OneAtlasGeneratingSetInfo</code> (<a href="../../../pkg/atlasrep/doc/chap3_mj.html#X841478AB7CD06D44"><span class\yperdefL{815800ED820C6ECF}java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
<p>The full functionality of the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>) is available.</p>
< class="func>BrowseAtlasInfo</>can to info about permutation representationsof alternating groups <pan class=SimpleMath"\A_5\<span>and <pan=SimpleMath"\(_\<span> We search forthe group name < class=code""5"/ overview ,andthefirstcell in for <pan =SimpleMath>(\<span selected;hitting <trong class"">nter<strong> causes anewwindow beopened with overview of the data available for< class=SimpleMath"\A_5\)/pan>;moving rowsand hitting the <trong class=button"Enter<strong>key again causes the secondrepresentation to be ;hittingstrongclass""Q>closes the , in table wemove selection down twice (totherowforthegroupspanclass""\A_6)/pan) thefirst representation for thisgroup table return value is the listwith thedatafor the .<>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">d:= [ NCurses.keys.DOWN ];; r:= [ NCurses.keys.RIGHT ];;</span>Z})\exttt{\ymbol{45}texttt{symbol{5} infact it embeds even inthe
<span class="GAPprompt">gap></span> <span class="GAPinput">c:= [ NCurses.keys.ENTER ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( Concatenation(</span>
<span class="GAPprompt">></span> <span class="subgroup which is generated by all class transpositions. embedding
<span class="GAPprompt">></span> <span class="GAPinput"> d, d, r, # ... such that just the word matches,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> c, # start the search,</span>
< ="APprompt"&t;<span> <pan class=GAPinput" c, #click the entry A5,/pan>
<span class="GAPprompt">></span> <span class="GAPinput"> d, d, # move down two rows,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> c, # click the row for this representation,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "Q", # quit the second level table,</so\texttt{\symbol{45}}called ``Schottky groups'' (cf.{\nobreakspace}\cite{LaHarpe00}, page{\nobreakspace}27) from PSL(2,{\ensuremath{\mathbb C}}) to
<span class="GAPprompt">></span> <span class="GAPinput"> d, d, # move down two rows,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> c, # click the table entry A6,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> d, # move down one row,</span>
<span class="GAPprompt">&<CWA(\nsuremath{mathbb Z} weusenotation thecited book)
<span class="GAPprompt">></span> <span class="GAPinput"> "Q", # quit the second level table,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "Q" ) ); # and quit the application.</span>
<span class="GAPprompt">gap></span> <\begin{Verbatim}[commandchars=!@|,fontsize==,=]
<span class="GAPprompt">></span> <span class="GAPinput"> SetUserPreference( "AtlasRep", "AtlasRepMarkNonCoreData", "" );</span>
<span class="GAPprompt">></span> <span class="GAPinput"> tworeps:= BrowseAtlasInfo();</span>
<span class="GAPprompt">></span> <span class="GAPinput"> else</span>
<span class="GAPprompt">></span> <span class="GAPinput"> tworeps:= [ fail ];</span>
<span class="GAPprompt">></span> <span class="GAPinput"> fi;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( false );</span>
<span class="GAPprompt"> !apprompt@ap> !apinput@: (4;java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
<span class="GAPprompt">></span> <span class="GAPinput"> Print( "no access to the Web ATLAS\n" );</span>
<span class="GAPprompt">&t;/pan>< ="APinput" else<span
<span class="GAPprompt">></span> <span class="GAPinput"> Print( List( tworeps, x -> x.identifier[1] ), "\n" );</span>
<span class="GAPprompt">></span> <span class="GAPinput"> fi;</span>
[ "A5", "A6" ]
</pre></div>
<p><em>Implementation remarks</em>: The first browse table shown has a static header, no footer and row labels, one row of column labels describing the type of data summarized in the columns.</p>
<p>Row and column separators are drawn as grids (cf. <code class="func">NCurses.Grid</code> (<a href="chap2_mj.html#X790715F683BF1E66"><span class="RefLink">2.2-8</span></a>)) composed from the special characters described in Section <a href="chap2_mj.html#X8091936586CCD248"><span java.lang.StringIndexOutOfBoundsException: Index 284 out of bounds for length 94
<p>When a row is selected, the "click" functionality opens a new window (via a second level call to <code class="func">NCurses.BrowseGeneric</code> (<a href=" !apprompt@> !apinput@amma2 : RepresentativeAction(RCWA(ntegers),
<p>For the two kinds of browse tables, the standard modes in <code class="func">BrowseData</code> (<a href="chap5_mj.html#X86E80E578085F137"><span class="RefLink">5.4-1</span></a>) (except the <code class="code">help</code> mode) have been extended by a new action that opens a pager giving an overview of all data that<!apprompt>|g@Difference,D3)D[];
<p>This function is available only if the <strong class="pkg">GAP</strong> package <strong class="pkg">AtlasRep</strong> is available.</p>
<p>The code can be found in the file <code class="file">app/atlasbrowse.g</code> of the package.</p>
<p><a id="X7CF999297B331E01" name="X7CF999297B331E01"></a></p>
<h4>6.6 <span class="Heading">Access to <strong class="pkg">GAP</strong> Manuals–a Variant</span></h4>
<p>A <strong class="pkg">Browse</strong> adapted way to access several manuals is to show the hierarchy of books, chapters, sections, and subsections as collapsible category rows, and to regard the java.lang.StringIndexOutOfBoundsException: Index 205 out of bounds for length 2
<p>This application is mainly intended as an example with table cells that exceed the screen, and as an example with several category levels.</p>
<p><a id="X7D79DF9181A15EDF" name="X7D79DF9181A15EDF"></a></p>
<5>.- BrowseGapManuals<h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; BrowseGapManuals</code>( [<var class="Arg">start</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function displays the contents of the <strong class="pkg">GAP</strong> manuals (the main <strong class="pkg">GAP</strong> manuals as well as the loaded package manuals) in a window. The optional argument <var class="Arg">start</var> describes the initial status, admissible values are the strings <code class="code">"inline/collapsed"</code>, <code class="code">"inline/expanded"</code>, <code class="code">"pager/collapsed"</code>, and <code class="code">"pager/expanded"</code>.</p>
<p>In the <code class="code">inline</code> cases, the parts of the manuals are shown in the browse table, and in the <code class="code">pager</code> case, the parts of the manuals are shown in a different window when they are "clicked", using the user's favourite help viewer, see <a href="../../../doc/ref/chap2_mj.html#X863FF9087EDA8DF9"><span class="RefLink">Reference: Changing the Help Viewer</<p>In the <code class="code">inline</code> cases, the parts of the manuals are shown in the browse table, and in the <code class="code">pager</code> case, the parts of the manuals are shown in a different window when they are "clicked", using the user's favourite help viewer, see <a href="../../../doc/ref/chap2_mj.html#X863FF9087EDA8DF9"><span class="RefLink">Reference: Changing the Help Viewer</span
<p>In the <code class="code">collapsed</code> cases, all category rows are collapsed, and the first row is selected; typical next steps are moving down the selection and expanding single category rows. In the <code class="code">expanded</
<p>If no argument is given then the user is asked for selecting an initial status, using <code class="func">NCurses.Select</code> (<a href="chap3_mj.html#X833D321E86528981"><span class="RefLink">3.1-2</span></a>).</p>
<p>The full functionality of the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>) is available.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">n:= [ 14, 14, 14 ];; # ``do nothing''</span>
<span class="GAPprompt">gap&The generators are products of transpositions each:
<span class="GAPprompt">></span> <span class="GAPinput"> "xdxd", # expand a Tutorial section</span>
<span class="GAPprompt">></span> <span class="GAPinput"> n, "Q" ) ); # and quit</span>
< =GAPprompt>&t<span <pan class=GAPinput">rowseGapManuals("nline")<span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( Concatenation(</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "/Browse", [ NCurses.keys.ENTER ], # search for "Browse"</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "xdxddxd", # expand a section</span>
<span class="GAPprompt">></span> <span class="GAPinput"> n, "Q" ) ); # and quit</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 52
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( false );</span>
</pre></div>
<p><em>Implementation remarks</em>: The browse table has a dynamic header showing the name of the currently selected manual, no footer, no row or column labels, and exactly one column of fixed width equal to the screen width. The category rows are precomputed, i. e., they do not arise from a table column; this way, the contents of each data cell can be computed on demand, as soon as it is shown on the screen, in particular the category hierarchy is computed without reading the manuals into <strong class="pkg">GAP</strong>. Also, the data rows are not cached @> g@Factorizationg)|
<p>For the variants that show the manuals in a pager, the code temporarily replaces the <code class="code">show</code> function of the default viewer <code class="code">"screen"</code> (see <a href="../../../doc/ref/chap2_mj.html#X863FF9087EDA8DF9"><span class="RefLink">Reference: Changing the Help Viewer</span></a>) by a function that uses <code class="func">NCurses.Pager</code> (<a href="chap3_mj.html#X87E1B2787F588CC0"><span class="RefLink">3.1-4</span></a>). Note that in the case that the
<p>The implementation should be regarded as a sketch.</p>
<p>For example, the markup available in the text file format of <strong class="pkg">GAPDoc</strong> manuals (using <strong class="button">Esc</strong> sequences) is stripped off instead of being transferred to the attribute lines that arise, because of the highlighting problem mentioned in Section <a href="chap2_mj.html#X81D1FC927C455AEB"><span class="RefLink">2.2-3</span></a>.</p>
<p>Some heuristics used in the code are due to deficiencies of the manual formats.</p>
<p>For the inline variant of the browse table, the titles of chapters, sections, and subsections are <em>not</em> regarded as parts of the actual text since they appear already as category rows; however, the functions of the <strong class="pkg">GAP</strong> help system deliver the text <em>together with</em> these titles, so these lines must be stripped off afterwards.</p>
<p>The category hierarchy representing the tables of contents is created from the <code class="file">manual.six</rank{nobreakspace2We verify itreallyisonebythe
<p>Also, index entries and sectioning entries in <code class="file">manual.six</code> files of manuals in <strong class="pkg">GAPDoc</strong> format are not explicitly distinguished.</p>
<p> found in file"app/anualg<code>of the package.</p>
<p><a id="X846751CC7F54F51D" name="X846751CC7F54F51D"></a></p>
<h4>6.7 <span class="Heading">Overview of Bibliographies</span></h4>
<hefunction< =func></code < =c.htmlX7F0FE4CC7F46ABF3>span class=RefLink">.-<span>/> used to turn of bibliography files inBibTeXor BibXMLext format see a href=.../.pkgGAPDocd/oc/.#7FB8F6BD80D859D1"<span class=RefLink>:TheBibXMLext <span<a)into a table,such that one can scroll in the list, search for entries,sort by year, sort and by etc<p
<p>The default bibliography used by <code class="func">BrowseBibliography</code> (<a href="chap6_mj.html#X7F0FE4CC7F46ABF3"><span class="RefLink">6.7-1</span></a>) is the bibliography of <strong \begin}[ommandchars=|,ontsize\,rame=ingle,=Example]
<p><code class="code">wget -N http://www.gap-system.org/Doc/Bib/gap-publishednicer.bib</code></p>
<p>The columns of the Browse table that is shown by <code class="func">BrowseBibliography</code> (<a href="chap6_mj.html#X7F0FE4CC7F46ABF3"><span class="RefLink">6.7-1</span></a>) can be customized, two examples for that are given by the functions <code class="func">BrowseBibliographySporadicSimple</code> (<a href="../../../pkg/atlasrep/doc/chap3_mj.html#X84ED4FC182C28198"><span class="RefLink">AtlasRep: BrowseBibliographySporadicSimple</span></a>) and <code class="func">BrowseBibliographyGapPackages</code> (<a href="java.lang.StringIndexOutOfBoundsException: Index 527 out of bounds for length 93
<p>The function <code class="func">BrowseMSC</code> (<a href="chap6_mj.html#X81F1558678ACDB4A"><span class="RefLink">6.7-3</span></a>) shows an overview of the AMS Mathematics Subject Classification <p>The function <code class="func">BrowseMSC</code> (<a href="chap6_mj.html#X81F1558678ACDB4A"><span class="RefLink">6.7-3</span></a>) shows an overview of the AMS Mathematics Subject Classification codes
<p><a id="X7F0FE4CC7F46ABF3"!@|!apinputL((F2,IsTame)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
<h5>6.7-1 BrowseBibliography</h5>
< class"unc"> class="func"width=100%>tr>td java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 234
<p>Returns: a record as returned by <code class="func">ParseBibXMLExtFiles</code> (<a href="../../../pkg/GAPDoc.dev/doc/chap7_mj.html#X86BD29AE7A453721"><span class="RefLink">GAPDoc: ParseBibXMLextFiles</span></a>).</p>
<p>This function shows the list of bibliography entries in the files given by <var class="Arg">bibfiles</var>, which may be a string or a list of strings (denoting a filename or a list of filenames, respectively) or a record (see below for the supported components).</p>
<p>If no argument is given then the file <code class="file">bibl/gap-publishednicer.bib</code> in the <strong class="pkg">Browse</strong> package directory is taken, and <code class="code">"GAP Bibliography"</code> is used as the header.</p>
<p>Another perhaps interesting data file that should be available in the <strong class="pkg">GAP</strong> distribution is <code class="file">doc/manualbib.xml</code>. This file can be located as follows.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">file:= Filename( DirectoriesLibrary( "doc" ), "manualbib.xml" );;</span>
</pre></div>
<p>Both BibTeX format and the <strong class="pkg">XML</strong> based extended format provided!apprompt@ap|!apinput[()Sinksr1Loopsr1] java.lang.StringIndexOutOfBoundsException: Range [82, 78) out of bounds for length 82
<p>In the case of BibTeX format input, first a conversion to the [[0( ,[14 ][0() 1(4) ] ]
<p>In both cases of input, the problem arises that in visual mode, currently we can show only ASCII characters (and the symbols in <code class="code">NCurses.lineDraw</code>, but these are handled differently, see Section <a href="chap2_mj.html#X8091936586CCD248"><span class="RefLink">2.1-6</span></a>). Therefore, we use the function !apprompt@> g@Sourcesr2,(,();#comparewithX2java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
<>he return value is a java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 1056
<p>The full functionality of the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>) is available.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput"># sort and categorize by year, scroll down, expand a category row</span>
< ="APprompt"gap></pan>< class=GAPinput>.SetReplay( scrrscsedddddxdddddQ )<span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseBibliography();;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput"># sort & categorize by authors, expand all category rows, scroll down</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( "scscXseddddddQ" );</span>
span class=GAPprompt>&t<span <pan class=GAPinput"BrowseBibliography();/pan
<span class="GAPprompt">gap></span> <span class="GAPinput"># sort and categorize by journal, search for a journal name, expand</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( Concatenation( "scrrrsc/J. Algebra",</span>
< class""&;/><pan class=GAPinput" [NCurses.eys.NTER ] "xdddQ" ))<span
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseBibliography();;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( false );</span>
</pre></div>
<p><!appromptg> gapinputIsSubsetUnion(Sinks(1)X2F21 |
<p>Row and column separators are drawn as grids (cf. <code class="func">NCurses.Grid</code> (<a href="chap2_mj.html#X790715F683BF1E66"><span class="RefLink">2.2-8</span></a>)) composed from the special characters described in Section <a href="chap2_mj.html#X8091936586CCD248"><span class="RefLink">2.1-6</span></a>, using the component <code class="code">work.SpecialGrid</code> of the browse table, see <code class="func">BrowseData</code> (<a href="chap5_mj.html#X86E80E578085F137"><span class="RefLink">5.4-1</span></a>).</p>
<p>For categorizing by authors (or by MSC codes), the sort parameter <code class="code">"split rows on categorizing"</code> is set to <code class="code">"yes"</code>, so the authors (codes) are distributed to different category rows, hence each entry appears once for each of its authors (or its MSC codes) in the categorized table. When a data row or an entry in a data row is selected, "click" adds the corresponding bibliographhy entry to the result.</p>
<p>The width of the title column is preset; usually titles are too long
<p>For four columns, the sort parameters are defined as follows: The <em>authors</em> and <em>MSC code</em> columns do not become hidden when the table is categorized according to this column, sorting by the <em>year</em> yields a <em>de</em>scending order, and the category rows arising from these columns and the <em>journal</em> column show the numbers of the data rows that belong to them.</p>
<p>Those standard modes in <code class="func">BrowseData</code> (<a href="chap5_mj\nd{Verbatim}
<p>This function requires some of the utilities provided by the <strong class="pkg">GAP</strong> package <strong class="pkg">GAPDoc</strong> (see <a href="chapBib_mj.html#biBGAPDoc">[LN07]</a>), such as <code class="func">FormatParagraph</code> (<a href="../../../pkg/GAPDoc.dev/doc/chap6_mj.html#X812058CE7C8E9022"><span class="RefLink">GAPDoc: FormatParagraph</span></a>), <code class="func">NormalizeNameAndKey</code> (<a href="../../../pkg/GAPDoc.dev/doc/chap7_mj.html#X7C9F0C337A0A0FF0"><span class="RefLink">GAPDoc: NormalizeNameAndKey</span></a>), Drawing thetransition texttt{r1 \{} modulus{nobreakspace} tounderstand donein
<p>The code can be found in the file <code class="file">app/gapbibl.g</code> of the package.</p>
<p>The browse table can \begin{Verbatim}[commandch@,ontsize\mall,=,=Example
<dl>
<dt><strong class="Mark"><code class="code">files</code></strong></dt>
<dd><p>a nonempty list of filenames containing the data to be shown; there is no default for this component.</p>
</dd>
<dt><strong class="Mark"><code class="code">filesshort</code></strong></dt>
<>p listofthesame as the< =code><code>,the entries are strings areshowninthe<ode =c>s"/ columnof the i column is presentthe default is thelistoffilenames<p
</dd>
<dt><strong class="Mark"><code class="code">filecontents</code></strong></dt>
<dd><p>a list of the same length as the <code class="code">files</code> component, the entries are strings which are shown as category values when the table java.lang.StringIndexOutOfBoundsException: Range [0, 159) out of bounds for length 3
<
<dt><strong class="Mark"><code class="code">header</code></strong></dt>
<dd><p>is the constant part of the header shown above the browse table, the default is the first filename.</p>
</dd>
<dt><strong class="Mark"><code class="code">columns</code></strong></dt>
<dd><p>is a list of records that are valid as the second argument of <code class="func">DatabaseAttributeAdd</code> (<a href="chapA_mj.html#X8573522782D939FE"><span class="RefLink">A.1-5</span></a>), where the first argument is a database id enumerator created fromThegroup PSL(,e{\ Z}embeds
</dd>
<dt><strong class="Mark"><T{ensuremath\ Z})as well. We give an , and checkthatit
<dd><p>a list of strings denoting the <code class="code">identifier</code> components of those columns that shall actually be shown in the table, the default is <code class="code">[ "authors", "title", "year", "journal", "mrclass" ]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">fingerprint</code></strong></dt>
<dd><p>a list of strings denoting component names of the entries of the database id enumerator that is constructed from the data (see above); two data records are regarded as equal if the
</dd>
<dt><strong class="Mark"><code class="code">sortKeyFunction</code></strong></dt>
<dd><p>either <code class="keyw">fail</code>
</dd>
</dl>
<p><a id="X7E4B5E277D08987B" name="X7E4B5E277D08987B"></a></p>
<>.7- BrowseBibliographyGapPackages<h5
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; BrowseBibliographyGapPackages</code>( )</td><td class="tdright">( function )</td></tr></table></div>
<>:a record as returned by <code class="func">BrowseBibliography</code> (<a href="chap6_mj.html#X7F0FE4CC7F46ABF3"><span class="RefLink">6.7-1</span></a>).</p>
<p>This function collects the information from the <code class="code">*.bib</code> and <code class="code">*bib.xml</code> files in those subdirectories of installed <strong class=pkg><strong>packageswhich thepackagedocumentation shows inaBrowseclass"unc"BrowseBibliographycode < href=chap6_mjh#">< ="RefLink>.-<span<a>./>
<p><em>This function is experimental.</em> The result is not really satisfactory, for the following reasons.</p>
<>
<li><p>Duplicate entries may occur, due to subtle differences in various source files.</p>
</li>
<li><p>The source files may contain more than what is actually cited in the package manuals.</p>
</li>
<li><p>It may happen that some <code class="code">*.bib</code> or <code class="code">*bib.xml</code> file is accidentally distributed with the package but is not intended to serve as package bibliography.</p>
<li>
<li><p>The heuristics for rewriting LaTeX code is of course not perfect; thus strange symbols may occur in the Browse table.</p>
</li>
</ul>
<p><a id="X81F1558678ACDB4A" name="X81F1558678ACDB4A"></a></p>
<h5>6.7-3 BrowseMSC</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; BrowseMSC</code>( [<var class="Arg">version</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: nothing.</p>
<p>This function shows the valid MSC codes in a browse table that is categorized by the <code class="code" !apprompt@ap|!apinput@2: ResidueClass(,)|
<p>If <var class="Arg">version</var> is given then it must be one of the numbers <span class="SimpleMath">\(2010\)</span> or <span class="SimpleMath">\(2020\)</span>, meaning that the MSC2010 or MSC2020 codes are shown; the default for <var class="Arg">version</var> is <span class="SimpleMath">\(2020\)</span>.</p>
<p><a id="X837BDF547FF0EA31 !apprompt@> g@IsSubset(X1,2PSL2Z.)and IsSubsetX,X2^(PSL2Z12)|
<h4>6.8 <span class="Heading">Profiling <strong class="pkg">GAP</strong> functions–a Variant</span></h4>
<p>A <strongtrue
<p><a id="X7B42091982DE7AE7" name="X7B42091982DE7AE7"></a></p>
<h5>6.8-1 BrowseProfile</h5>
< !apprompt@ap> !apinput@(X2X^PSL2Z.2)|
<p>The arguments and their meaning are the same as for the function <code class="func">DisplayProfile</code> (<a href="../../../doc/ref/chap7_mj.html#X80FEA6A08775A48E"><span class="RefLink">Reference: DisplayProfile</span></a>), in the sense that the lines printed by that function correspond to the rows of the list that is shown by <code class="func">BrowseProfile</code>. Initially, the table is sorted in true
<p>The java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 2
<p>When a row or an entry \endVerbatim
<p>The full functionality of the function <code class="func">NCurses.BrowseGeneric</code> (<a href="chap4_mj.html#X85FC163D87FAFD12"><span class="RefLink">4.3-1</span></a>) is available.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">n:= [ 14, 14, 14, 14, 14 ];; # ``do nothing''</span>
<span by \{RCWA}' general method for \texttt{IsomorphismRcwaGroup} for free products of finite groups:
<span class="GAPprompt">gap></span> <span class="GAPinput">ConjugacyClasses( PrimitiveGroup( 24, 1 ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ProfileOperationsAndMethods( false );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( Concatenation(</span>
<span class="GAPprompt">></span> <span class="GAPinput"> Example
<span class="GAPprompt">></span> <span class="GAPinput"> [ NCurses.keys.DC ], "2", "\t", # replace 10000 by 20000</span>
<span class="GAPprompt">></span> <span class="GAPinput"> [ NCurses.keys.DC ], "2
<span class="GAPprompt">></span> <span class="GAPinput"> [ NCurses.keys.ENTER ], # commit the changes</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "scso", # sort by column 1,</span>
<span class=" !gapprompt@gap>!apinputG: Image(IsomorphismRcwaGroupFreeProduct(CyclicGroup(3)|
<span class="GAPprompt">></span> <span class="GAPinput"> "rso", # sort by column 2,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> n,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "rso", # sort by column 3,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> n,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "q", # deselect the column,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "/Normalizer", [ NCurses.keys.ENTER ], # search for a function<ild rcwagroupoverwith >
<span class="GAPprompt">></span> <span class="GAPinput"> n, n, n, "Q" ) ); # and quit</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseProfile();</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BrowseData.SetReplay( false );</span>
</pre></div>
<p><em>Implementation remarks</em>: The browse table has a dynamic header, which shows the current values of <var class="Arg">mincount</var> and <var class="Arg">mintime</var>, and a dynamic footer, which shows the sums of counts and timings for the rows in the table (label <code class="code">TOTAL</code>) and if applicable the sums for the profiled functions not shown in the table (label <code class="code">OTHER</code>). There are no row labels, and the obvious column labels. There is no return value.</p>
<p>The standard modes in <code class="func">BrowseData</code> (<a href="chap5_mj.html#X86E80E578085F137"><span class="RefLink">5.4-1</span></a>) (except the <code class="code">help</code> mode) have been modified by adding a new action for changing the threshold parameters <var class="Arg">mincount</var> and <var class= \{ssignGlobalsL()F2\}PSL2Z)} order assigntheglobalvariables .
<p>The code can be found in the file <code class="file">app/profile.g</code> of the package.</p>
<p><a id="X87B30F7387C0E531" name="X87B30F7387C0E531"></a></p>
<h4>6.9 <span class="Heading">Variables defined in <strong class="pkg">GAP</strong> packages–a Variant</span></h4>
<p>A <strong class="pkg">Browse</strong> adapted way to list the variables that are defined in a <strong class="pkg">GAP</strong> package is to show the overview that isjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<p><a id="X8030B1688335783D" name="X8030B1688335783D"></a></p>
<h5>6.9-1 BrowsePackageVariables</h5>
<div class\hapter{{Chapter }The Implemented }\{:lgorithms
<p>Returns: nothing.</p>
<p>The arguments can be the same as for <code class="func">ShowPackageVariables</code> (<a href="../../../doc/ref/chap76_mj.html#X7D34AC3287611B15"><span class="RefLink">Reference: ShowPackageVariables</span></a>), that is, <var class="Arg">pkgname</var> is the name of a <strong java.lang.StringIndexOutOfBoundsException: Range [0, 285) out of bounds for length 21
<p>Alternatively, the second argument can be the output <code class="code">info</code> of <code class="func">PackageVariablesInfo</code> (<a href="../../../doc/ref/chap76_mj.html#X7D34AC3287611B15"><span class="RefLink">Reference: PackageVariablesInfo</span></a>) for the package in question, instead of the version number.</p>
<p><code class="func">BrowsePackageVariables</code> opens a browse table that shows the global variables that become bound and the methods that become installed when <strong class="pkg">GAP</strong> loads the package <var class="Arg">pkgname</var>.</p>
<p>The table is categorized by the kinds of variables (new or redeclared operations, methods, info classes, synonyms, other globals). The column "Doc.?" distinguishes undocumented and documented variables, so one can use this column as a filter or for categorizing. The column "Filename" shows the names of the package files. Clicking a selected row of the table opens the relevant package file at the code in question.</p inthispackage descriptionsare very and
<p>The idea behind the argument <codeterse, of themprovide rudimentary information Theyarelisted | | |