File: chap2.html

package info (click to toggle)
gap-hapcryst 0.1.15-4
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,088 kB
  • sloc: xml: 1,475; javascript: 155; makefile: 118; sh: 3
file content (432 lines) | stat: -rw-r--r-- 38,749 bytes parent folder | download | duplicates (2)
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
<?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 (HAPprog) - Chapter 2: Accessing and Manipulating Resolutions</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="chap2"  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>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap1.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap3.html">[Next Chapter]</a>&nbsp;  </div>

<p id="mathjaxlink" class="pcenter"><a href="chap2_mj.html">[MathJax on]</a></p>
<p><a id="X86374CEA7CDC6946" name="X86374CEA7CDC6946"></a></p>
<div class="ChapSects"><a href="chap2.html#X86374CEA7CDC6946">2 <span class="Heading">Accessing and Manipulating Resolutions</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap2.html#X7A7225067E7895A9">2.1 <span class="Heading">Representation-Independent Access Methods</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7CBC6D4C783383BE">2.1-1 StrongestValidRepresentationForLetter</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7C10841285614D04">2.1-2 StrongestValidRepresentationForWord</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X780AD2DB7F5D4935">2.1-3 PositionInGroupOfResolution</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7A58EC7B8130D6E2">2.1-4 IsValidGroupInt</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X822604B67B2A9133">2.1-5 GroupElementFromPosition</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7D3673E8840FA0B6">2.1-6 MultiplyGroupElts</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X8540F3B37BAC695F">2.1-7 MultiplyFreeZGLetterWithGroupElt</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X826835B185CA4DAF">2.1-8 MultiplyFreeZGWordWithGroupElt</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7D8B54D7828D7C5C">2.1-9 BoundaryOfFreeZGLetter</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X81A6037F82C3C31E">2.1-10 BoundaryOfFreeZGWord</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap2.html#X7B94A2ED857C62D5">2.2 <span class="Heading">Converting Between Representations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7EB515317948BE8E">2.2-1 ConvertStandardLetter</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7A1CB5DF7A459D76">2.2-2 ConvertStandardWord</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X83153E2682184860">2.2-3 ConvertLetterToStandardRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X848203218271A166">2.2-4 ConvertWordToStandardRep</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap2.html#X84FB45EB83B5822C">2.3 <span class="Heading">Special Methods for <code class="keyw">HapResolutionRep</code></span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7B803CC184BD2612">2.3-1 IsFreeZGLetter</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7A36FB7B84E9A892">2.3-2 IsFreeZGWord</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X836D3F9886EED6AC">2.3-3 MultiplyGroupEltsNC</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X85893CC5823508A8">2.3-4 MultiplyFreeZGLetterWithGroupEltNC</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X8073DE7E7AD8B7CB">2.3-5 MultiplyFreeZGWordWithGroupEltNC</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7BD3994E7C414149">2.3-6 BoundaryOfFreeZGLetterNC</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X84B1DA21805A0880">2.3-7 BoundaryOfFreeZGWordNC</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap2.html#X8024014D8488FE30">2.4 <span class="Heading">The <code class="keyw">HapLargeGroupResolutionRep</code> Representation</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X861BE6C787FA8032">2.4-1 GroupRingOfResolution</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X8338F7A37F240E33">2.4-2 MultiplyGroupElts_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X86F91A948022DEBB">2.4-3 IsFreeZGLetterNoTermCheck_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X793BA61478AEBE16">2.4-4 IsFreeZGWordNoTermCheck_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X85A7BFC284E9D9CB">2.4-5 IsFreeZGLetter_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7BF4A7EC83BE61C8">2.4-6 IsFreeZGWord_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7A4B682079630694">2.4-7 MultiplyFreeZGLetterWithGroupElt_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7F2365D2851E3E3C">2.4-8 MultiplyFreeZGWordWithGroupElt_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X8355F6E8842B3D8C">2.4-9 GeneratorsOfModuleOfResolution_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X840DF79086D5473E">2.4-10 BoundaryOfGenerator_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X83D90EC28357DCCE">2.4-11 BoundaryOfFreeZGLetterNC_LargeGroupRep</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X78C681D37F8DC2A1">2.4-12 BoundaryOfFreeZGWord_LargeGroupRep</a></span>
</div></div>
</div>

<h3>2 <span class="Heading">Accessing and Manipulating Resolutions</span></h3>

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

<h4>2.1 <span class="Heading">Representation-Independent Access Methods</span></h4>

<p>All methods listed below take a <code class="code">HapResolution</code> in any representation. If the other arguments are compatible with the representation of the resolution, the returned value will be in the form defined by this representation. If the other arguments are in a different representation, <strong class="pkg">GAP</strong>s method selection is used via <code class="code">TryNextMethod()</code> to find an applicable method (a suitable representation).</p>

<p>The idea behind this is that the results of computations have the same form as the input. And as all representations are sub-representations of the <code class="code">HapResolutionRep</code> representation, input which is compatible with the <code class="code">HapResolutionRep</code> representation is always valid.</p>

<p>Every new representation must support the functions of this section.</p>

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

<h5>2.1-1 StrongestValidRepresentationForLetter</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; StrongestValidRepresentationForLetter</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: filter</p>

<p>Finds the sub-representation of <code class="code">HapResolutionRep</code> for which <var class="Arg">letter</var> is a valid letter of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var>. Note that <var class="Arg">resolution</var> automatically is in some sub-representation of <code class="code">HapResolutionRep</code>.This is mainly meant for debugging.</p>

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

<h5>2.1-2 StrongestValidRepresentationForWord</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; StrongestValidRepresentationForWord</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: filter</p>

<p>Finds the sub-representation of <code class="code">HapResolutionRep</code> for which <var class="Arg">word</var> is a valid word of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var>. Note that <var class="Arg">resolution</var> automatically is in some sub-representation of <code class="code">HapResolutionRep</code>. This is mainly meant for debugging.</p>

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

<h5>2.1-3 PositionInGroupOfResolution</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PositionInGroupOfResolution</code>( <var class="Arg">resolution</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PositionInGroupOfResolutionNC</code>( <var class="Arg">resolution</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: positive integer</p>

<p>This returns the position of the group element <var class="Arg">g</var> in the enumeration of the group of <var class="Arg">resolution</var>. The NC version does not check if <var class="Arg">g</var> really is an element of the group of <var class="Arg">resolution</var>.</p>

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

<h5>2.1-4 IsValidGroupInt</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsValidGroupInt</code>( <var class="Arg">resolution</var>, <var class="Arg">n</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: boolean</p>

<p>Returns true if the <var class="Arg">n</var>th element of the group of <var class="Arg">resolution</var> is known.</p>

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

<h5>2.1-5 GroupElementFromPosition</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; GroupElementFromPosition</code>( <var class="Arg">resolution</var>, <var class="Arg">n</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: group element or <code class="keyw">fail</code></p>

<p>Returns <var class="Arg">n</var>th element of the group of <var class="Arg">resolution</var>. If the <var class="Arg">n</var>th element is not known, <code class="keyw">fail</code> is returned.</p>

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

<h5>2.1-6 MultiplyGroupElts</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyGroupElts</code>( <var class="Arg">resolution</var>, <var class="Arg">x</var>, <var class="Arg">y</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: positive integer or group element, depending on the type of <var class="Arg">x</var> and <var class="Arg">y</var></p>

<p>If <code class="code">x</code> and <code class="code">y</code> are given in standard representation (i.e. as integers), this returns the position of the product of the group elements represented by the positive integers <var class="Arg">x</var> and <var class="Arg">x</var>.</p>

<p>If <code class="code">x</code> and <code class="code">y</code> are given in any other representation, the returned group element will also be represented in this way.</p>

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

<h5>2.1-7 MultiplyFreeZGLetterWithGroupElt</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyFreeZGLetterWithGroupElt</code>( <var class="Arg">resolution</var>, <var class="Arg">letter</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: A letter</p>

<p>Multiplies the letter <var class="Arg">letter</var> with the group element <var class="Arg">g</var> and returns the result. If <var class="Arg">resolution</var> is in standard representation, <var class="Arg">g</var> has to be an integer and <var class="Arg">letter</var> has to be a pair of integer. If <var class="Arg">resolution</var> is in any other representation, <var class="Arg">letter</var> and <var class="Arg">g</var> can be in a form compatible with that representation or in the standard form (in the latter case, the returned value will also have standard form).</p>

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

<h5>2.1-8 MultiplyFreeZGWordWithGroupElt</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyFreeZGWordWithGroupElt</code>( <var class="Arg">resolution</var>, <var class="Arg">word</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: A word</p>

<p>Multiplies the word <var class="Arg">word</var> with the group element <var class="Arg">g</var> and returns the result. If <var class="Arg">resolution</var> is in standard representation, <var class="Arg">g</var> has to be an integer and <var class="Arg">word</var> has to be a list of pairs of integers. If <var class="Arg">resolution</var> is in any other representation, <var class="Arg">word</var> and <var class="Arg">g</var> can be in a form compatible with that representation or in the standard form (in the latter case, the returned value will also have standard form).</p>

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

<h5>2.1-9 BoundaryOfFreeZGLetter</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfFreeZGLetter</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG word (in the same representation as <var class="Arg">letter</var>)</p>

<p>Calculates the boundary of the letter (word of length 1) <var class="Arg">letter</var> of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var>.</p>

<p>The returned value is a word of the <var class="Arg">term</var>-1st module and comes in the same representation as <var class="Arg">letter</var>.</p>

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

<h5>2.1-10 BoundaryOfFreeZGWord</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfFreeZGWord</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG word (in the same representation as <var class="Arg">letter</var>)</p>

<p>Calculates the boundary of the word <var class="Arg">word</var> of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var>.</p>

<p>The returned value is a word of the <var class="Arg">term</var>-1st module and comes in the same representation as <var class="Arg">word</var>.</p>

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

<h4>2.2 <span class="Heading">Converting Between Representations</span></h4>

<p>Four methods are provided to convert letters and words from standard representation to any other representation and back again.</p>

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

<h5>2.2-1 ConvertStandardLetter</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConvertStandardLetter</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConvertStandardLetterNC</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: letter in the representation of <var class="Arg">resolution</var></p>

<p>Converts the letter <var class="Arg">letter</var> in standard representation to the representation of <var class="Arg">resolution</var>. The NC version does not check whether <var class="Arg">letter</var> really is a letter in standard representation.</p>

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

<h5>2.2-2 ConvertStandardWord</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConvertStandardWord</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConvertStandardWordNC</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: word in the representation of <var class="Arg">resolution</var></p>

<p>Converts the word <var class="Arg">word</var> in standard representation to the representation of <var class="Arg">resolution</var>. The NC version does not check whether <var class="Arg">word</var> is a valid word in standard representation.</p>

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

<h5>2.2-3 ConvertLetterToStandardRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConvertLetterToStandardRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConvertLetterToStandardRepNC</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: letter in standard representation</p>

<p>Converts the letter <var class="Arg">letter</var> in the representation of <var class="Arg">resolution</var> to the standard representation. The NC version does not check whether <var class="Arg">letter</var> is a valid letter of <var class="Arg">resolution</var>.</p>

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

<h5>2.2-4 ConvertWordToStandardRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConvertWordToStandardRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConvertWordToStandardRepNC</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: word in standard representation</p>

<p>Converts the word <var class="Arg">word</var> in the representation of <var class="Arg">resolution</var> to the standard representation. The NC version does not check whether <var class="Arg">word</var> is a valid word of <var class="Arg">resolution</var>.</p>

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

<h4>2.3 <span class="Heading">Special Methods for <code class="keyw">HapResolutionRep</code></span></h4>

<p>Some methods explicitely require the input to be in the standard representation (<var class="Arg">HapResolutionRep</var>). Two of these test if a word/letter is really in standard representation, the other ones are non-check versions of the universal methods.</p>

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

<h5>2.3-1 IsFreeZGLetter</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsFreeZGLetter</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: boolean</p>

<p>Checks if <var class="Arg">letter</var> is an valid letter (word of length 1) in standard representation of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var>.</p>

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

<h5>2.3-2 IsFreeZGWord</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsFreeZGWord</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: boolean</p>

<p>Check if <var class="Arg">word</var> is a valid word in large standard representation of the <var class="Arg">term</var>th module in <var class="Arg">resolution</var>.</p>

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

<h5>2.3-3 MultiplyGroupEltsNC</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyGroupEltsNC</code>( <var class="Arg">resolution</var>, <var class="Arg">x</var>, <var class="Arg">y</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: positive integer</p>

<p>Given positive integers <code class="code">x</code> and <code class="code">y</code>, this returns the position of the product of the group elements represented by the positive integers <var class="Arg">x</var> and <var class="Arg">x</var>. This assumes that all input is in standard representation and does not check the input.</p>

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

<h5>2.3-4 MultiplyFreeZGLetterWithGroupEltNC</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyFreeZGLetterWithGroupEltNC</code>( <var class="Arg">resolution</var>, <var class="Arg">letter</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: A letter in standard representation</p>

<p>Multiplies the letter <var class="Arg">letter</var> with the group element represented by the positive integer <var class="Arg">g</var> and returns the result. The input is assumed to be in <var class="Arg">HapResolutionRep</var> and is not checked.</p>

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

<h5>2.3-5 MultiplyFreeZGWordWithGroupEltNC</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyFreeZGWordWithGroupEltNC</code>( <var class="Arg">resolution</var>, <var class="Arg">word</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: A letter in standard representation</p>

<p>Multiplies the word <var class="Arg">word</var> with the group element represented by the positive integer <var class="Arg">g</var> and returns the result. The input is assumed to be in <var class="Arg">HapResolutionRep</var> and is not checked.</p>

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

<h5>2.3-6 BoundaryOfFreeZGLetterNC</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfFreeZGLetterNC</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG word in standard representation</p>

<p>Calculates the boundary of the letter (word of length 1) <var class="Arg">letter</var> of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var>. The input is assumed to be in standard representation and not checked.</p>

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

<h5>2.3-7 BoundaryOfFreeZGWordNC</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfFreeZGWordNC</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG word in standard representation</p>

<p>Calculates the boundary of the word <var class="Arg">word</var> of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var>. The input is assumed to be in standard representation and not checked.</p>

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

<h4>2.4 <span class="Heading">The <code class="keyw">HapLargeGroupResolutionRep</code> Representation</span></h4>

<p>The large group representation has one additional component called <code class="code">groupring</code>. Elements of the modules in a resolution are represented by lists of group ring elements. The length of the list corresponds to the dimension of the free module.</p>

<p>All methods for the generic representation do also work for the large group representation. Some of them are wrappers for special methods which do only work for this representation. The following list only contains the methods which are not already present in the generic representation.</p>

<p>Note that the input or the output of these functions does not comply with the standard representation.</p>

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

<h5>2.4-1 GroupRingOfResolution</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; GroupRingOfResolution</code>( <var class="Arg">resolution</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: group ring</p>

<p>This returns the group ring of <var class="Arg">resolution</var>. Note that by the way that group rings are handled in <strong class="pkg">GAP</strong>, this is not equal to <code class="code">GroupRing(R,GroupOfResolution(<var class="Arg">resolution</var>))</code> where <code class="code">R</code> is the ring of the resolution.</p>

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

<h5>2.4-2 MultiplyGroupElts_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyGroupElts_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">x</var>, <var class="Arg">y</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyGroupEltsNC_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">x</var>, <var class="Arg">y</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: group element</p>

<p>Returns the product of <var class="Arg">x</var> and <var class="Arg">y</var>. The NC version does not check whether <var class="Arg">x</var> and <var class="Arg">y</var> are actually elements of the group of <var class="Arg">resolution</var>.</p>

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

<h5>2.4-3 IsFreeZGLetterNoTermCheck_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsFreeZGLetterNoTermCheck_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: boolean</p>

<p>Returns <code class="keyw">true</code> if <var class="Arg">letter</var> has the form of a letter (a module element with exactly one non-zero entry which has exactly one non-zero coefficient) a module of <var class="Arg">resolution</var> in the <code class="keyw">HapLargeGroupResolution</code> representation. Note that it is not tested if <var class="Arg">letter</var> actually is a letter in any term of <var class="Arg">resolution</var></p>

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

<h5>2.4-4 IsFreeZGWordNoTermCheck_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsFreeZGWordNoTermCheck_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: boolean</p>

<p>Returns <code class="keyw">true</code> if <var class="Arg">word</var> has the form of a word of a module of <var class="Arg">resolution</var> in the <code class="keyw">HapLargeGroupResolution</code> representation. Note that it is not tested if <var class="Arg">word</var> actually is a word in any term of <var class="Arg">resolution</var>.</p>

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

<h5>2.4-5 IsFreeZGLetter_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsFreeZGLetter_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: boolean</p>

<p>Returns <code class="keyw">true</code> if and only if <var class="Arg">letter</var> is a letter (a word of length 1) of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var> in the <code class="keyw">hapLargeGroupResolution</code> representation. I.e. it tests if <var class="Arg">letter</var> is a module element with exactly one non-zero entry which has exactly one non-zero coefficient.</p>

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

<h5>2.4-6 IsFreeZGWord_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsFreeZGWord_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: boolean</p>

<p>Tests if <var class="Arg">word</var> is an element of the <var class="Arg">term</var>th module of <var class="Arg">resoultion</var>.</p>

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

<h5>2.4-7 MultiplyFreeZGLetterWithGroupElt_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyFreeZGLetterWithGroupElt_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">letter</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyFreeZGLetterWithGroupEltNC_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">letter</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG letter in large group representation</p>

<p>Multiplies the letter <var class="Arg">letter</var> with the group element <var class="Arg">g</var> and returns the result. The NC version does not check whether <var class="Arg">g</var> is an element of the group of <var class="Arg">resolution</var> and <var class="Arg">letter</var> can be a letter.</p>

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

<h5>2.4-8 MultiplyFreeZGWordWithGroupElt_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyFreeZGWordWithGroupElt_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">word</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MultiplyFreeZGWordWithGroupEltNC_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">word</var>, <var class="Arg">g</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG word in large group representation</p>

<p>Multiplies the word <var class="Arg">word</var> with the group element <var class="Arg">g</var> and returns the result. The NC version does not check whether <var class="Arg">g</var> is an element of the group of <var class="Arg">resolution</var> and <var class="Arg">word</var> can be a word.</p>

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

<h5>2.4-9 GeneratorsOfModuleOfResolution_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; GeneratorsOfModuleOfResolution_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: list of letters/words in large group representation</p>

<p>Returns a set of generators for the <var class="Arg">term</var>th module of <var class="Arg">resolution</var>. The returned value is a list of vectors of group ring elements.</p>

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

<h5>2.4-10 BoundaryOfGenerator_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfGenerator_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">n</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfGeneratorNC_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">n</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG word in the large group representation</p>

<p>Returns the boundary of the <var class="Arg">n</var>th generator of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var> as a word in the <var class="Arg">n-1</var>st module (in large group representation). The NC version does not check whether there is a <var class="Arg">term</var>th module and if it has at least <var class="Arg">n</var> generators.</p>

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

<h5>2.4-11 BoundaryOfFreeZGLetterNC_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfFreeZGLetterNC_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfFreeZGLetter_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">letter</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG word in large group representation</p>

<p>Calculates the boundary of the letter <var class="Arg">letter</var> of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var> in large group representation. The NC version does not check whether <var class="Arg">letter</var> actually is a letter in the <var class="Arg">term</var>th module.</p>

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

<h5>2.4-12 BoundaryOfFreeZGWord_LargeGroupRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; BoundaryOfFreeZGWord_LargeGroupRep</code>( <var class="Arg">resolution</var>, <var class="Arg">term</var>, <var class="Arg">word</var> )</td><td class="tdright">(&nbsp;method&nbsp;)</td></tr></table></div>
<p>Returns: free ZG word in large group representation</p>

<p>Calculates the boundary of the element <var class="Arg">word</var> of the <var class="Arg">term</var>th module of <var class="Arg">resolution</var> in large group representation. The NC version does not check whether <var class="Arg">word</var> actually is a word in the <var class="Arg">term</var>th module.</p>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap1.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap3.html">[Next Chapter]</a>&nbsp;  </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>  </div>

<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>