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

Quelle  chap3.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/repndecomp/doc/chap3.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>
<title>GAP (RepnDecomp) - Chapter 3: Algorithms for unitary 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="chap3"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap2.html">[Previous Chapter]</a>    <a href="chap4.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap3_mj.html">[MathJax on]</a></p>
<p><a id="X83B4D1DB7F92BD3A" name="X83B4D1DB7F92BD3A"></a></p>
<div class="ChapSects"><a href="chap3.html#X83B4D1DB7F92BD3A">3 <span class="Heading">Algorithms for unitary representations</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X870B3D0D80CFADB1">3.1 <span class="Heading">Unitarising representations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X86B2367A79BE5B9F">3.1-1 UnitaryRepresentation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X87D121227C027253">3.1-2 IsUnitaryRepresentation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X78F7DFD186A4E7CA">3.1-3 LDLDecomposition</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7974D0C580C833D1">3.2 <span class="Heading">Decomposing unitary representations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X8175C1167A31C3D6">3.2-1 IrreducibleDecompositionDixon</a></span>
</div></div>
</div>

<h3>3 <span class="Heading">Algorithms for unitary representations</span></h3>

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

<h4>3.1 <span class="Heading">Unitarising representations</span></h4>

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

<h5>3.1-1 UnitaryRepresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UnitaryRepresentation</code>( <var class="Arg">rho</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: A record with fields basis_change and unitary_rep such that <var class="Arg">rho</var> is isomorphic to unitary_rep, differing by a change of basis basis_change. Meaning if <span class="Math">L</span> is basis_change and <span class="Math">\rho_u</span> is the unitarised <var class="Arg">rho</var>, then <span class="Math">\forall g \in G: \; L \rho_u(g) L^{-1} = \rho(g)</span>.</p>

<p>Unitarises the given representation quickly, summing over the group using a base and strong generating set and unitarising with <code class="func">LDLDecomposition</code> (<a href="chap3.html#X78F7DFD186A4E7CA"><span class="RefLink">3.1-3</span></a>).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := SymmetricGroup(3);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">irreps := IrreducibleRepresentations(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput"># It happens that we are given unitary irreps, so</span>
<span class="GAPprompt">></span> <span class="GAPinput"># rho is also unitary (its blocks are unitary)</span>
<span class="GAPprompt">></span> <span class="GAPinput">rho := DirectSumOfRepresentations([irreps[1], irreps[2]]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsUnitaryRepresentation(rho);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput"># Arbitrary change of basis</span>
<span class="GAPprompt">></span> <span class="GAPinput">A := [ [ -1, 1 ], [ -2, -1 ] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">tau := ComposeHomFunction(rho, x -> A^-1 * x * A);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput"># Not unitary, but still isomorphic to rho</span>
<span class="GAPprompt">></span> <span class="GAPinput">IsUnitaryRepresentation(tau);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">AreRepsIsomorphic(rho, tau);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput"># Now we unitarise tau</span>
<span class="GAPprompt">></span> <span class="GAPinput">tau_u := UnitaryRepresentation(tau);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput"># We get a record with the unitarised rep:</span>
<span class="GAPprompt">></span> <span class="GAPinput">AreRepsIsomorphic(tau, tau_u.unitary_rep);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">AreRepsIsomorphic(rho, tau_u.unitary_rep);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput"># The basis change is also in the record:</span>
<span class="GAPprompt">></span> <span class="GAPinput">ForAll(G, g -> tau_u.basis_change * Image(tau_u.unitary_rep, g) = Image(tau, g) * tau_u.basis_change);</span>
true
</pre></div>

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

<h5>3.1-2 IsUnitaryRepresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsUnitaryRepresentation</code>( <var class="Arg">rho</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: Whether <var class="Arg">rho</var> is unitary, i.e. for all <span class="Math">g \in G</span>, <span class="Math">\rho(g^{-1}) = \rho(g)^*</span> (where <span class="Math">^*</span> denotes the conjugate transpose).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput"># TODO: this example</span>
</pre></div>

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

<h5>3.1-3 LDLDecomposition</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LDLDecomposition</code>( <var class="Arg">A</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a record with two fields, L and D such that <span class="Math">A = L\mbox{diag}(D)L^*</span>. <span class="Math">D</span> is the <span class="Math">1 \times n</span> vector which gives the diagonal matrix <span class="Math">\mbox{diag}(D)</span> (where <var class="Arg">A</var> is an <span class="Math">n \times n</span> matrix).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">A := [ [ 3, 2*E(3)+E(3)^2, -3 ], [ E(3)+2*E(3)^2, -3, 3 ], [ -3, 3, -6 ] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput"># A is a conjugate symmetric matrix</span>
<span class="GAPprompt">></span> <span class="GAPinput">A = ConjugateTranspose@RepnDecomp(A);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput"># Note that A is not symmetric - the LDL decomposition works for any</span>
<span class="GAPprompt">></span> <span class="GAPinput"># conjugate symmetric matrix.</span>
<span class="GAPprompt">></span> <span class="GAPinput">A = TransposedMat(A);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">decomp := LDLDecomposition(A);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput"># The LDL decomposition is such that A = LDL^*, D diagonal, and L lower triangular.</span>
<span class="GAPprompt">></span> <span class="GAPinput">A = decomp.L * DiagonalMat(decomp.D) * ConjugateTranspose@RepnDecomp(decomp.L);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">decomp.L[1][2] = 0 and decomp.L[1][3] = 0 and decomp.L[2][3] = 0;</span>
true
</pre></div>

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

<h4>3.2 <span class="Heading">Decomposing unitary representations</span></h4>

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

<h5>3.2-1 IrreducibleDecompositionDixon</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IrreducibleDecompositionDixon</code>( <var class="Arg">rho</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a list of irreps in the decomposition of <var class="Arg">rho</var></p>

<p>NOTE: this is not implemented yet. Assumes that <var class="Arg">rho</var> is unitary and uses an algorithm due to Dixon to decompose it into unitary irreps.</p>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap2.html">[Previous Chapter]</a>    <a href="chap4.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chapInd.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.1 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.