File: chap9_mj.html

package info (click to toggle)
gap-polycyclic 2.15.1-1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 2,636 kB
  • sloc: xml: 3,007; makefile: 126
file content (142 lines) | stat: -rw-r--r-- 11,759 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
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script type="text/javascript"
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (polycyclic) - Chapter 9: Matrix Representations</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="chap9"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</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">&nbsp;<a href="chap0_mj.html">[Top of Book]</a>&nbsp;  <a href="chap0_mj.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap8_mj.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chapA_mj.html">[Next Chapter]</a>&nbsp;  </div>

<p id="mathjaxlink" class="pcenter"><a href="chap9.html">[MathJax off]</a></p>
<p><a id="X858D1BB07A8FBF87" name="X858D1BB07A8FBF87"></a></p>
<div class="ChapSects"><a href="chap9_mj.html#X858D1BB07A8FBF87">9 <span class="Heading">Matrix Representations</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X7D0ED06C7E6A457D">9.1 <span class="Heading">Unitriangular matrix groups</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7E6F320F865E309C">9.1-1 UnitriangularMatrixRepresentation</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7F5E7F5F7DDB2E2C">9.1-2 IsMatrixRepresentation</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X79A8A51B84E4BF8C">9.2 <span class="Heading">Upper unitriangular matrix groups</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X8434972E7DDB68C1">9.2-1 IsomorphismUpperUnitriMatGroupPcpGroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X843C9D427FFA2487">9.2-2 SiftUpperUnitriMatGroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7CF8B8F981931846">9.2-3 RanksLevels</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X81F3760186734EA7">9.2-4 MakeNewLevel</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X851A216C85B74574">9.2-5 SiftUpperUnitriMat</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X86D711217C639C2C">9.2-6 DecomposeUpperUnitriMat</a></span>
</div></div>
</div>

<h3>9 <span class="Heading">Matrix Representations</span></h3>

<p>This chapter describes functions which compute with matrix representations for pcp-groups. So far the routines in this package are only able to compute matrix representations for torsion-free nilpotent groups.</p>

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

<h4>9.1 <span class="Heading">Unitriangular matrix groups</span></h4>

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

<h5>9.1-1 UnitriangularMatrixRepresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; UnitriangularMatrixRepresentation</code>( <var class="Arg">G</var> )</td><td class="tdright">(&nbsp;operation&nbsp;)</td></tr></table></div>
<p>computes a faithful representation of a torsion-free nilpotent group <var class="Arg">G</var> as unipotent lower triangular matrices over the integers. The pc-presentation for <var class="Arg">G</var> must not contain any power relations. The algorithm is described in <a href="chapBib_mj.html#biBdGN02">[dGN02]</a>.</p>

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

<h5>9.1-2 IsMatrixRepresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsMatrixRepresentation</code>( <var class="Arg">G</var>, <var class="Arg">matrices</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>checks if the map defined by mapping the <span class="SimpleMath">\(i\)</span>-th generator of the pcp-group <var class="Arg">G</var> to the <span class="SimpleMath">\(i\)</span>-th matrix of <var class="Arg">matrices</var> defines a homomorphism.</p>

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

<h4>9.2 <span class="Heading">Upper unitriangular matrix groups</span></h4>

<p>We call a matrix upper unitriangular if it is an upper triangular matrix with ones on the main diagonal. The weight of an upper unitriangular matrix is the number of diagonals above the main diagonal that contain zeroes only.</p>

<p>The subgroup of all upper unitriangular matrices of <span class="SimpleMath">\(GL(n,ℤ)\)</span> is torsion-free nilpotent. The <span class="SimpleMath">\(k\)</span>-th term of its lower central series is the set of all matrices of weight <span class="SimpleMath">\(k-1\)</span>. The <span class="SimpleMath">\(ℤ\)</span>-rank of the <span class="SimpleMath">\(k\)</span>-th term of the lower central series modulo the <span class="SimpleMath">\((k+1)\)</span>-th term is <span class="SimpleMath">\(n-k\)</span>.</p>

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

<h5>9.2-1 IsomorphismUpperUnitriMatGroupPcpGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; IsomorphismUpperUnitriMatGroupPcpGroup</code>( <var class="Arg">G</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>takes a group <var class="Arg">G</var> generated by upper unitriangular matrices over the integers and computes a polycylic presentation for the group. The function returns an isomorphism from the matrix group to the pcp group. Note that a group generated by upper unitriangular matrices is necessarily torsion-free nilpotent.</p>

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

<h5>9.2-2 SiftUpperUnitriMatGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; SiftUpperUnitriMatGroup</code>( <var class="Arg">G</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>takes a group <var class="Arg">G</var> generated by upper unitriangular matrices over the integers and returns a recursive data structure <var class="Arg">L</var> with the following properties: <var class="Arg">L</var> contains a polycyclic generating sequence for <var class="Arg">G</var>, using <var class="Arg">L</var> one can decide if a given upper unitriangular matrix is contained in <var class="Arg">G</var>, a given element of <var class="Arg">G</var> can be written as a word in the polycyclic generating sequence. <var class="Arg">L</var> is a representation of a chain of subgroups of <var class="Arg">G</var> refining the lower centrals series of <var class="Arg">G</var>.. It contains for each subgroup in the chain a minimal generating set.</p>

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

<h5>9.2-3 RanksLevels</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; RanksLevels</code>( <var class="Arg">L</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>takes the data structure returned by <code class="code">SiftUpperUnitriMat</code> and prints the <span class="SimpleMath">\(ℤ\)</span>-rank of each the subgroup in <var class="Arg">L</var>.</p>

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

<h5>9.2-4 MakeNewLevel</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MakeNewLevel</code>( <var class="Arg">m</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>creates one level of the data structure returned by <code class="code">SiftUpperUnitriMat</code> and initialises it with weight <var class="Arg">m</var>.</p>

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

<h5>9.2-5 SiftUpperUnitriMat</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; SiftUpperUnitriMat</code>( <var class="Arg">gens</var>, <var class="Arg">level</var>, <var class="Arg">M</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>takes the generators <var class="Arg">gens</var> of an upper unitriangular group, the data structure returned <var class="Arg">level</var> by <code class="code">SiftUpperUnitriMat</code> and another upper unitriangular matrix <var class="Arg">M</var>. It sift <var class="Arg">M</var> through <var class="Arg">level</var> and adds <var class="Arg">M</var> at the appropriate place if <var class="Arg">M</var> is not contained in the subgroup represented by <var class="Arg">level</var>.</p>

<p>The function <code class="code">SiftUpperUnitriMatGroup</code> illustrates the use of <code class="code">SiftUpperUnitriMat</code>.</p>


<div class="example"><pre>
InstallGlobalFunction( "SiftUpperUnitriMatGroup", function( G )
    local   firstlevel,  g;

    firstlevel := MakeNewLevel( 0 );
    for g in GeneratorsOfGroup(G) do
        SiftUpperUnitriMat( GeneratorsOfGroup(G), firstlevel, g );
    od;
    return firstlevel;
end );
</pre></div>

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

<h5>9.2-6 DecomposeUpperUnitriMat</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; DecomposeUpperUnitriMat</code>( <var class="Arg">level</var>, <var class="Arg">M</var> )</td><td class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
<p>takes the data structure <var class="Arg">level</var> returned by <code class="code">SiftUpperUnitriMatGroup</code> and a upper unitriangular matrix <var class="Arg">M</var> and decomposes <var class="Arg">M</var> into a word in the polycyclic generating sequence of <var class="Arg">level</var>.</p>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0_mj.html">[Top of Book]</a>&nbsp;  <a href="chap0_mj.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap8_mj.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chapA_mj.html">[Next Chapter]</a>&nbsp;  </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chapA_mj.html">A</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

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