Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/xmod/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 10.6.2025 mit Größe 28 kB image not shown  

Quellcode-Bibliothek chap4_mj.html   Sprache: HTML

 
 products/sources/formale Sprachen/GAP/pkg/repndecomp/doc/chap4_mj.html


<?xml version="1.0" encoding="UTF-8"?>

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (RepnDecomp) - Chapter 4: Miscellaneous useful functions</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="chap4"  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="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="chap3_mj.html">[Previous Chapter]</a>    <a href="chap5_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap4.html">[MathJax off]</a></p>
<p><a id="X8346542B8387968B" name="X8346542B8387968B"></a></p>
<div class="ChapSects"><a href="chap4_mj.html#X8346542B8387968B">4 <span class="Heading">Miscellaneous useful functions</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4_mj.html#X87196FDB78749ECA">4.1 <span class="Heading">Predicates for representations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X8631A1417C3C1D88">4.1-1 IsFiniteGroupLinearRepresentation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X826D5ADF7FA87782">4.1-2 IsFiniteGroupPermutationRepresentation</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4_mj.html#X8271F7A386CFEA63">4.2 <span class="Heading">Efficient summing over groups</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X85E8A5FC844DC09A">4.2-1 GroupSumBSGS</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4_mj.html#X86F42D257CFB192D">4.3 <span class="Heading">Space-efficient representation of tensors of matrices</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X84335C447DE377B0">4.3-1 IsTensorProductOfMatricesObj</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X868B9CB1873C93AC">4.3-2 IsTensorProductPairRep</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X85AD76DB7D5F8B12">4.3-3 IsTensorProductKroneckerRep</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X86671AD582FF77E2">4.3-4 TensorProductOfMatrices</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X79D0379D79F5DF9B">4.3-5 CharacterOfTensorProductOfRepresentations</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4_mj.html#X83F160967ED7EE14">4.4 <span class="Heading">Matrices and homomorphisms</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X7D17785482F143B0">4.4-1 ComposeHomFunction</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4_mj.html#X7C3EDA5E7A24196C">4.5 <span class="Heading">Representation theoretic functions</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X841424DF824E258B">4.5-1 TensorProductRepLists</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X84EAE3DB7FA8102C">4.5-2 DirectSumOfRepresentations</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X85147CF97B912CC3">4.5-3 DegreeOfRepresentation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X7B14287E7BFC548D">4.5-4 PermToLinearRep</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X7E67A4817A5E4879">4.5-5 IsOrthonormalSet</a></span>
</div></div>
</div>

<h3>4 <span class="Heading">Miscellaneous useful functions</span></h3>

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

<h4>4.1 <span class="Heading">Predicates for representations</span></h4>

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

<h5>4.1-1 IsFiniteGroupLinearRepresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFiniteGroupLinearRepresentation</code>( <var class="Arg">rho</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: true or false</p>

<p>Tells you if <var class="Arg">rho</var> is a linear representation of a finite group. The algorithms implemented in this package work on these homomorphisms only.</p>

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

<h5>4.1-2 IsFiniteGroupPermutationRepresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFiniteGroupPermutationRepresentation</code>( <var class="Arg">rho</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: true or false</p>

<p>Tells you if <var class="Arg">rho</var> is a homomorphism from a finite group to a permutation group.</p>

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

<h4>4.2 <span class="Heading">Efficient summing over groups</span></h4>

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

<h5>4.2-1 GroupSumBSGS</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupSumBSGS</code>( <var class="Arg">G</var>, <var class="Arg">summand</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: <span class="SimpleMath">\(\sum_{g \in G} \mbox{summand}(g)\)</span></p>

<p>Uses a basic stabiliser chain for <span class="SimpleMath">\(G\)</span> to compute the sum described above. This trick requires <var class="Arg">summand</var> to be a function (in the GAP sense) that defines a monoid homomorphism (in the mathematical sense). The computation of the stabiliser chain assumes <var class="Arg">G</var> is a group. More precisely, if we have the basic stabiliser chain:</p>

<p class="center">\[\{1\} = G_1 \leq \ldots \leq G_n = G\]</p>

<p>We traverse the chain from <span class="SimpleMath">\(G_1\)</span> to <span class="SimpleMath">\(G_n\)</span>, using the previous sum <span class="SimpleMath">\(G_{i-1}\)</span> to build the sum <span class="SimpleMath">\(G_i\)</span>. We do this by using the fact that (writing <span class="SimpleMath">\(f\)</span> for <var class="Arg">summand</var>)</p>

<p class="center">\[\sum_{g \in G_i} f(g) = \sum_{r_j} \left(\sum_{h \in G_{i-1}} f(h)\right) f(r_j)\]</p>

<p>where the <span class="SimpleMath">\(r_j\)</span> are right coset representatives of <span class="SimpleMath">\(G_{i-1}\)</span> in <span class="SimpleMath">\(G_i\)</span>. The condition on <var class="Arg">summand</var> is satisfied if, for example, it is a linear representation of a group <var class="Arg">G</var>.</p>

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

<h4>4.3 <span class="Heading">Space-efficient representation of tensors of matrices</span></h4>

<p>Suppose we have representations of <span class="SimpleMath">\(G\)</span>, <span class="SimpleMath">\(\rho\)</span> and <span class="SimpleMath">\(\tau\)</span>, with degree <span class="SimpleMath">\(n\)</span> and <span class="SimpleMath">\(m\)</span>. If we would like to construct the tensor product representation of <span class="SimpleMath">\(G\)</span>, <span class="SimpleMath">\(\rho \otimes \tau\)</span>, the usual way to do it would be to take the Kronecker product of the matrices. This means we now have to store very large <span class="SimpleMath">\(nm \times nm\)</span> matrices for each generator of <span class="SimpleMath">\(G\)</span>. This can be avoided by storing the tensor of matrices as pairs, essentially storing <span class="SimpleMath">\(A \otimes B\)</span> as a pair <span class="SimpleMath">\((A,B)\)</span> and implementing group operations on top of these, along with some representation-theoretic functions. It is only possible to guarantee an economical representation for pure tensors, i.e. matrices of the form <span class="SimpleMath">\(A \otimes B\)</span>. These are closed under group operations, so it is natural to define a group structure.</p>

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

<h5>4.3-1 IsTensorProductOfMatricesObj</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsTensorProductOfMatricesObj</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p>

<p>Position <span class="SimpleMath">\(i\)</span> in this representation stores the matrix <span class="SimpleMath">\(A_i\)</span> in the tensor product <span class="SimpleMath">\(A_1 \otimes A_2\)</span>.</p>

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

<h5>4.3-2 IsTensorProductPairRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsTensorProductPairRep</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p>

<p>Position 1 stores the full Kronecker product of the matrices, this is very space inefficient and supposed to be used as a last resort.</p>

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

<h5>4.3-3 IsTensorProductKroneckerRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsTensorProductKroneckerRep</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p>

<p>More convenient constructor for a tensor product (automatically handles family)</p>

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

<h5>4.3-4 TensorProductOfMatrices</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TensorProductOfMatrices</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This uses the multiplicativity of characters when taking tensor products to avoid having to compute the trace of a big matrix.</p>

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

<h5>4.3-5 CharacterOfTensorProductOfRepresentations</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CharacterOfTensorProductOfRepresentations</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><a id="X83F160967ED7EE14" name="X83F160967ED7EE14"></a></p>

<h4>4.4 <span class="Heading">Matrices and homomorphisms</span></h4>

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

<h5>4.4-1 ComposeHomFunction</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ComposeHomFunction</code>( <var class="Arg">hom</var>, <var class="Arg">func</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: Homomorphism g given by g(x) = func(hom(x)).</p>

<p>This is mainly for convenience, since it handles all GAP accounting issues regarding the range, ByImages vs ByFunction, etc.</p>

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

<h4>4.5 <span class="Heading">Representation theoretic functions</span></h4>

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

<h5>4.5-1 TensorProductRepLists</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TensorProductRepLists</code>( <var class="Arg">list1</var>, <var class="Arg">list2</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: All possible tensor products given by <span class="SimpleMath">\(\rho \otimes \tau\)</span> where <span class="SimpleMath">\(\rho : G \to \mbox{GL}(V)\)</span> is taken from <var class="Arg">list1</var> and <span class="SimpleMath">\(\tau : H \to \mbox{GL}(W)\)</span> is taken from <var class="Arg">list2</var>. The result is then a list of representations of <span class="SimpleMath">\(G \times H\)</span>.</p>

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

<h5>4.5-2 DirectSumOfRepresentations</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DirectSumOfRepresentations</code>( <var class="Arg">list</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: Direct sum of the list of representations <var class="Arg">list</var></p>

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

<h5>4.5-3 DegreeOfRepresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DegreeOfRepresentation</code>( <var class="Arg">rho</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: Degree of the representation <var class="Arg">rho</var>. That is, <span class="SimpleMath">\(\mbox{Tr}(\rho(e_G))\)</span>, where <span class="SimpleMath">\(e_G\)</span> is the identity of the group <span class="SimpleMath">\(G\)</span> that <var class="Arg">rho</var> has as domain.</p>

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

<h5>4.5-4 PermToLinearRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PermToLinearRep</code>( <var class="Arg">rho</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: Linear representation <span class="SimpleMath">\(\rho\)</span> isomorphic to the permutation representation <var class="Arg">rho</var>.</p>

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

<h5>4.5-5 IsOrthonormalSet</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsOrthonormalSet</code>( <var class="Arg">S</var>, <var class="Arg">prod</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: Whether <var class="Arg">S</var> is an orthonormal set with respect to the inner product <var class="Arg">prod</var>.</p>


<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap3_mj.html">[Previous Chapter]</a>    <a href="chap5_mj.html">[Next Chapter]</a>   </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="chapInd_mj.html">Ind</a>  </div>

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

100%


¤ Dauer der Verarbeitung: 0.21 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.