|
|
|
|
Quelle chap3_mj.html
Sprache: HTML
|
|
| products/Sources/formale Sprachen/GAP/pkg/repndecomp/doc/chap3_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 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_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="chap2_mj.html">[Previous Chapter]</a> <a href="chap4_mj.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap3.html">[MathJax off]</a></p>
<p><a id="X83B4D1DB7F92BD3A" name="X83B4D1DB7F92BD3A"></a></p>
<div class="ChapSects"><a href="chap3_mj.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_mj.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_mj.html#X86B2367A79BE5B9F">3.1-1 UnitaryRepresentation</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X87D121227C027253">3.1-2 IsUnitaryRepresentation</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X78F7DFD186A4E7CA">3.1-3 LDLDecomposition</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.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_mj.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">an style='color: green'>8227; 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="SimpleMath">\(L\)</span> is basis_change and <span class="SimpleMath">\(\rho_u\)</span> is the unitarised <var class="Arg">rho</var>, then <span class="SimpleMath">\(\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_mj.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">an style='color: green'>8227; 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="SimpleMath">\(g \in G\)</span>, <span class="SimpleMath">\(\rho(g^{-1}) = \rho(g)^*\)</span> (where <span class="SimpleMath">\(^*\)</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">an style='color: green'>8227; 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="SimpleMath">\(A = L\mbox{diag}(D)L^*\)</span>. <span class="SimpleMath">\(D\)</span> is the <span class="SimpleMath">\(1 \times n\)</span> vector which gives the diagonal matrix <span class="SimpleMath">\(\mbox{diag}(D)\)</span> (where <var class="Arg">A</var> is an <span class="SimpleMath">\(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">an style='color: green'>8227; 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_mj.html">[Top of Book]</a> <a href="chap0_mj.html#contents">[Contents]</a> <a href="chap2_mj.html">[Previous Chapter]</a> <a href="chap4_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>
¤ Dauer der Verarbeitung: 0.6 Sekunden
¤
*© Formatika GbR, Deutschland
|
|
2026-11-01
|
|
|
|
|
Neuigkeiten |
| Aktuelles |
| Motto des Tages |
|
Open Source Software |
|
|
|
Jenseits des Üblichen ....
|
|
Besucherstatistik |
|
|
| Statistik |
| #Sources=1104857 |
| #Domains=417833 |
|
|