Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/doc/ref/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 150 kB image not shown  

SSL chap64_mj.html   Interaktion und
PortierbarkeitHTML

 
 products/sources/formale Sprachen/GAP/doc/ref/chap64_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 (ref) - Chapter 64: Lie Algebras</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="chap64"  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="chap10_mj.html">10</a>  <a href="chap11_mj.html">11</a>  <a href="chap12_mj.html">12</a>  <a href="chap13_mj.html">13</a>  <a href="chap14_mj.html">14</a>  <a href="chap15_mj.html">15</a>  <a href="chap16_mj.html">16</a>  <a href="chap17_mj.html">17</a>  <a href="chap18_mj.html">18</a>  <a href="chap19_mj.html">19</a>  <a href="chap20_mj.html">20</a>  <a href="chap21_mj.html">21</a>  <a href="chap22_mj.html">22</a>  <a href="chap23_mj.html">23</a>  <a href="chap24_mj.html">24</a>  <a href="chap25_mj.html">25</a>  <a href="chap26_mj.html">26</a>  <a href="chap27_mj.html">27</a>  <a href="chap28_mj.html">28</a>  <a href="chap29_mj.html">29</a>  <a href="chap30_mj.html">30</a>  <a href="chap31_mj.html">31</a>  <a href="chap32_mj.html">32</a>  <a href="chap33_mj.html">33</a>  <a href="chap34_mj.html">34</a>  <a href="chap35_mj.html">35</a>  <a href="chap36_mj.html">36</a>  <a href="chap37_mj.html">37</a>  <a href="chap38_mj.html">38</a>  <a href="chap39_mj.html">39</a>  <a href="chap40_mj.html">40</a>  <a href="chap41_mj.html">41</a>  <a href="chap42_mj.html">42</a>  <a href="chap43_mj.html">43</a>  <a href="chap44_mj.html">44</a>  <a href="chap45_mj.html">45</a>  <a href="chap46_mj.html">46</a>  <a href="chap47_mj.html">47</a>  <a href="chap48_mj.html">48</a>  <a href="chap49_mj.html">49</a>  <a href="chap50_mj.html">50</a>  <a href="chap51_mj.html">51</a>  <a href="chap52_mj.html">52</a>  <a href="chap53_mj.html">53</a>  <a href="chap54_mj.html">54</a>  <a href="chap55_mj.html">55</a>  <a href="chap56_mj.html">56</a>  <a href="chap57_mj.html">57</a>  <a href="chap58_mj.html">58</a>  <a href="chap59_mj.html">59</a>  <a href="chap60_mj.html">60</a>  <a href="chap61_mj.html">61</a>  <a href="chap62_mj.html">62</a>  <a href="chap63_mj.html">63</a>  <a href="chap64_mj.html">64</a>  <a href="chap65_mj.html">65</a>  <a href="chap66_mj.html">66</a>  <a href="chap67_mj.html">67</a>  <a href="chap68_mj.html">68</a>  <a href="chap69_mj.html">69</a>  <a href="chap70_mj.html">70</a>  <a href="chap71_mj.html">71</a>  <a href="chap72_mj.html">72</a>  <a href="chap73_mj.html">73</a>  <a href="chap74_mj.html">74</a>  <a href="chap75_mj.html">75</a>  <a href="chap76_mj.html">76</a>  <a href="chap77_mj.html">77</a>  <a href="chap78_mj.html">78</a>  <a href="chap79_mj.html">79</a>  <a href="chap80_mj.html">80</a>  <a href="chap81_mj.html">81</a>  <a href="chap82_mj.html">82</a>  <a href="chap83_mj.html">83</a>  <a href="chap84_mj.html">84</a>  <a href="chap85_mj.html">85</a>  <a href="chap86_mj.html">86</a>  <a href="chap87_mj.html">87</a>  <a href="chapBib_mj.html">Bib</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="chap63_mj.html">[Previous Chapter]</a>    <a href="chap65_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap64.html">[MathJax off]</a></p>
<p><a id="X78559D4C800AF58A" name="X78559D4C800AF58A"></a></p>
<div class="ChapSects"><a href="chap64_mj.html#X78559D4C800AF58A">64 <span class="Heading">Lie Algebras</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X80A607C47B7A2E69">64.1 <span class="Heading">Lie Objects</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X87F121978775AF48">64.1-1 LieObject</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X83E5DD4381D9A65D">64.1-2 IsLieObject</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8725993C7BF386EE">64.1-3 LieFamily</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X81D9F5C6876FE93B">64.1-4 UnderlyingFamily</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X874B2B2A7F5A9A78">64.1-5 UnderlyingRingElement</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X789A44F283C16B2B">64.2 <span class="Heading">Constructing Lie algebras</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7D362350824FA115">64.2-1 LieAlgebraByStructureConstants</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7EEB79EE855E124C">64.2-2 RestrictedLieAlgebraByStructureConstants</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7C840A9F85D28C81">64.2-3 LieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7F7B34BD80F0F1C8">64.2-4 FreeLieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8735EE937A0081F0">64.2-5 FullMatrixLieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X821B6C197C08878B">64.2-6 RightDerivations</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7933F05F7DE342AB">64.2-7 SimpleLieAlgebra</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X798391F47E835F85">64.3 <span class="Heading">Distinguished Subalgebras</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8111F58E7DE3E25C">64.3-1 LieCentre</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X811444717EEDCC34">64.3-2 LieCentralizer</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7E62B6B37A75E09D">64.3-3 LieNormalizer</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7C95C0057C977747">64.3-4 LieDerivedSubalgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7D072F6D7A3D0BAF">64.3-5 LieNilRadical</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8445C9F17F7CBEA1">64.3-6 LieSolvableRadical</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X86114F157DFF6523">64.3-7 CartanSubalgebra</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X7A72840882F7A9B6">64.4 <span class="Heading">Series of Ideals</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7DEF89A8869809F5">64.4-1 LieDerivedSeries</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7900D17E7BA26A48">64.4-2 LieLowerCentralSeries</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X86A8701C868828C7">64.4-3 LieUpperCentralSeries</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X8208CE5F8286155F">64.5 <span class="Heading">Properties of a Lie Algebra</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7F97D08F7B738ADE">64.5-1 IsLieAbelian</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X78452F4E875A62A8">64.5-2 IsLieNilpotent</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X859FF1B3812B8FCC">64.5-3 IsLieSolvable</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X83F829017D46C544">64.6 <span class="Heading">Semisimple Lie Algebras and Root Systems</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8401CDC2859F8A85">64.6-1 SemiSimpleType</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X82EBF10A7B3B6F6E">64.6-2 ChevalleyBasis</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X79B5D27681193625">64.6-3 IsRootSystem</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7D64D49479CBB203">64.6-4 IsRootSystemFromLieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X80D15C027BB8029B">64.6-5 RootSystem</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7CA021E28527763E">64.6-6 UnderlyingLieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7B6B0BBD8035D7E5">64.6-7 PositiveRoots</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X81F9E0E67DD2688F">64.6-8 NegativeRoots</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X829C78427A442C23">64.6-9 PositiveRootVectors</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7AB374DC87A39349">64.6-10 NegativeRootVectors</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7DBD179E7CCF6699">64.6-11 SimpleSystem</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X84E3FEF587CB66C3">64.6-12 CartanMatrix</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X878644D68571BF44">64.6-13 BilinearFormMat</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7FAE45B37C5779A0">64.6-14 CanonicalGenerators</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X7945D07786D1C4BB">64.7 <span class="Heading">Semisimple Lie Algebras and Weyl Groups of Root Systems</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X82AA29DD7969A935">64.7-1 IsWeylGroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X81EF01E57E5DC18A">64.7-2 SparseCartanMatrix</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X86BED5098322EBEF">64.7-3 WeylGroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7829BC4D7F253649">64.7-4 ApplySimpleReflection</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X80A7204F7D40D80F">64.7-5 LongestWeylWordPerm</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7D4E213F82F73857">64.7-6 ConjugateDominantWeight</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7E000FA97949BFD5">64.7-7 WeylOrbitIterator</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X878080BB79BE3F2E">64.8 <span class="Heading">Restricted Lie algebras</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X81F28B1D830F28EB">64.8-1 IsRestrictedLieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7D7BD5908016461B">64.8-2 PthPowerImages</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X879BB01782E7D7A9">64.8-3 PthPowerImage</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8692ADD581359CA1">64.8-4 JenningsLieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X785251E879E1BFC6">64.8-5 PCentralLieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X781ADBEC850C7DE7">64.8-6 NaturalHomomorphismOfLieAlgebraFromNilpotentGroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X7C419FFA835EBE12">64.9 <span class="Heading">The Adjoint Representation</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X786886D882795F78">64.9-1 AdjointMatrix</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X873A64307AC6C63E">64.9-2 AdjointAssociativeAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X877CCFD5832E035D">64.9-3 KillingMatrix</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8234046083B60F6E">64.9-4 KappaPerp</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7A00601387A060CF">64.9-5 IsNilpotentElement</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X86EF3E6F7BC0A8AD">64.9-6 NonNilpotentElement</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7A912D9E7B3BA874">64.9-7 FindSl2</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X7875070C85DD4E8E">64.10 <span class="Heading">Universal Enveloping Algebras</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8226CD1680207A5F">64.10-1 UniversalEnvelopingAlgebra</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X7B8C71E07F50B286">64.11 <span class="Heading">Finitely Presented Lie Algebras</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X780A5B457A051110">64.11-1 FpLieAlgebraByCartanMatrix</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X79FD70C487EA9438">64.11-2 NilpotentQuotientOfFpLieAlgebra</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X7FBCB43C86BDD9C2">64.12 <span class="Heading">Modules over Lie Algebras and Their Cohomology</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X82CC31CF79F59FEE">64.12-1 IsCochain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X79F3DF0D8791C2E3">64.12-2 Cochain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7CF2919081600A3D">64.12-3 CochainSpace</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7D6760DA84683011">64.12-4 ValueCochain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X851F5EF47FA90CBC">64.12-5 LieCoboundaryOperator</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7FB815F38143939E">64.12-6 Cocycles</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7C4F372C7AE2F739">64.12-7 Coboundaries</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X78A201238137E822">64.13 <span class="Heading">Modules over Semisimple Lie Algebras</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7D8522E37ED1024A">64.13-1 DominantWeights</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X79AAC71E8267E9F8">64.13-2 DominantCharacter</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7BE7129384B012DF">64.13-3 DecomposeTensorProduct</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7D67A9BC7E4714D9">64.13-4 DimensionOfHighestWeightModule</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X840E5FAE7D2C2702">64.14 <span class="Heading">Admissible Lattices in UEA</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X86E6722379576746">64.14-1 IsUEALatticeElement</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X79F4F58B7888B0A5">64.14-2 LatticeGeneratorsInUEA</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X875FD1627F3B72DB">64.14-3 ObjByExtRep</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X8248DB547B02B0FA">64.14-4 IsWeightRepElement</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7FB14F7F80EFF33F">64.14-5 HighestWeightModule</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap64_mj.html#X8750BDBF7EA5E868">64.15 <span class="Heading">Tensor Products and Exterior and Symmetric Powers of Algebra Modules</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7A1E0AC4800E7FDA">64.15-1 TensorProductOfAlgebraModules</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X7F4AB6A1863E8FB2">64.15-2 ExteriorPowerOfAlgebraModule</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap64_mj.html#X842DF85687D61A56">64.15-3 SymmetricPowerOfAlgebraModule</a></span>
</div></div>
</div>

<h3>64 <span class="Heading">Lie Algebras</span></h3>

<p>A Lie algebra <span class="SimpleMath">\(L\)</span> is an algebra such that <span class="SimpleMath">\(x x = 0\)</span> and <span class="SimpleMath">\(x(yz) + y(zx) + z(xy) = 0\)</span> for all <span class="SimpleMath">\(x, y, z \in L\)</span>. A common way of creating a Lie algebra is by taking an associative algebra together with the commutator as product. Therefore the product of two elements <span class="SimpleMath">\(x, y\)</span> of a Lie algebra is usually denoted by <span class="SimpleMath">\([x,y]\)</span>, but in <strong class="pkg">GAP</strong> this denotes the list of the elements <span class="SimpleMath">\(x\)</span> and <span class="SimpleMath">\(y\)</span>; hence the product of elements is made by the usual <code class="code">*</code>. This gives no problems when dealing with Lie algebras given by a table of structure constants. However, for matrix Lie algebras the situation is not so easy as <code class="code">*</code> denotes the ordinary (associative) matrix multiplication. In <strong class="pkg">GAP</strong> this problem is solved by wrapping elements of a matrix Lie algebra up as <code class="code">LieObject</code>s, and then define the <code class="code">*</code> for <code class="code">LieObject</code>s to be the commutator (see <a href="chap64_mj.html#X80A607C47B7A2E69"><span class="RefLink">64.1</span></a>).</p>

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

<h4>64.1 <span class="Heading">Lie Objects</span></h4>

<p>Let <code class="code">x</code> be a ring element, then <code class="code">LieObject(x)</code> (see <code class="func">LieObject</code> (<a href="chap64_mj.html#X87F121978775AF48"><span class="RefLink">64.1-1</span></a>)) wraps <code class="code">x</code> up into an object that contains the same data (namely <code class="code">x</code>). The multiplication <code class="code">*</code> for Lie objects is formed by taking the commutator. More exactly, if <code class="code">l1</code> and <code class="code">l2</code> are the Lie objects corresponding to the ring elements <code class="code">r1</code> and <code class="code">r2</code>, then <code class="code">l1 * l2</code> is equal to the Lie object corresponding to <code class="code">r1 * r2 - r2 * r1</code>. Two rules for Lie objects are worth noting:</p>


<ul>
<li><p>An element is <em>not</em> equal to its Lie element.</p>

</li>
<li><p>If we take the Lie object of an ordinary (associative) matrix then this is again a matrix; it is therefore a collection (of its rows) and a list. But it is <em>not</em> a collection of collections of its entries, and its family is <em>not</em> a collections family.</p>

</li>
</ul>
<p>Given a family <code class="code">F</code> of ring elements, we can form its Lie family <code class="code">L</code>. The elements of <code class="code">F</code> and <code class="code">L</code> are in bijection, only the multiplications via <code class="code">*</code> differ for both families. More exactly, if <code class="code">l1</code> and <code class="code">l2</code> are the Lie elements corresponding to the elements <code class="code">f1</code> and <code class="code">f2</code> in <code class="code">F</code>, we have <code class="code">l1 * l2</code> equal to the Lie element corresponding to <code class="code">f1 * f2 - f2 * f1</code>. Furthermore, the product of Lie elements <code class="code">l1</code>, <code class="code">l2</code> and <code class="code">l3</code> is left-normed, that is <code class="code">l1*l2*l3</code> is equal to <code class="code">(l1*l2)*l3</code>.</p>

<p>The main reason to distinguish elements and Lie elements on the family level is that this helps to avoid forming domains that contain elements of both types. For example, if we could form vector spaces of matrices then at first glance it would be no problem to have both ordinary and Lie matrices in it, but as soon as we find out that the space is in fact an algebra (e.g., because its dimension is that of the full matrix algebra), we would run into strange problems.</p>

<p>Note that the family situation with Lie families may be not familiar.</p>


<ul>
<li><p>We have to be careful when installing methods for certain types of domains that may involve Lie elements. For example, the zero element of a matrix space is either an ordinary matrix or its Lie element, depending on the space. So either the method must be aware of both cases, or the method selection must distinguish the two cases. In the latter situation, only one method may be applicable to each case; this means that it is not sufficient to treat the Lie case with the additional requirement <code class="code">IsLieObjectCollection</code> but that we must explicitly require non-Lie elements for the non-Lie case.</p>

</li>
<li><p>Being a full matrix space is a property that may hold for a space of ordinary matrices or a space of Lie matrices. So methods for full matrix spaces must also be aware of Lie matrices.</p>

</li>
</ul>
<p><a id="X87F121978775AF48" name="X87F121978775AF48"></a></p>

<h5>64.1-1 LieObject</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieObject</code>( <var class="Arg">obj</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Let <var class="Arg">obj</var> be a ring element. Then <code class="code">LieObject( <var class="Arg">obj</var> )</code> is the corresponding Lie object. If <var class="Arg">obj</var> lies in the family <code class="code">F</code>, then <code class="code">LieObject( <var class="Arg">obj</var> )</code> lies in the family <code class="code">LieFamily( F )</code> (see <code class="func">LieFamily</code> (<a href="chap64_mj.html#X8725993C7BF386EE"><span class="RefLink">64.1-3</span></a>)).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">m:= [ [ 1, 0 ], [ 0, 1 ] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">lo:= LieObject( m );</span>
LieObject( [ [ 1, 0 ], [ 0, 1 ] ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">m*m;</span>
[ [ 1, 0 ], [ 0, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">lo*lo;</span>
LieObject( [ [ 0, 0 ], [ 0, 0 ] ] )
</pre></div>

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

<h5>64.1-2 IsLieObject</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLieObject</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLieObjectCollection</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRestrictedLieObject</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRestrictedLieObjectCollection</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>An object lies in <code class="func">IsLieObject</code> if and only if it lies in a family constructed by <code class="func">LieFamily</code> (<a href="chap64_mj.html#X8725993C7BF386EE"><span class="RefLink">64.1-3</span></a>).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">m:= [ [ 1, 0 ], [ 0, 1 ] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">lo:= LieObject( m );</span>
LieObject( [ [ 1, 0 ], [ 0, 1 ] ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">IsLieObject( m );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsLieObject( lo );</span>
true
</pre></div>

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

<h5>64.1-3 LieFamily</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieFamily</code>( <var class="Arg">Fam</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is a family <code class="code">F</code> in bijection with the family <var class="Arg">Fam</var>, but with the Lie bracket as infix multiplication. That is, for <code class="code">x</code>, <code class="code">y</code> in <var class="Arg">Fam</var>, the product of the images in <code class="code">F</code> will be the image of <code class="code">x * y - y * x</code>.</p>

<p>The standard type of objects in a Lie family <code class="code">F</code> is <code class="code"><var class="Arg">F</var>!.packedType</code>.</p>

<p>The bijection from <var class="Arg">Fam</var> to <code class="code">F</code> is given by <code class="code">Embedding( <var class="Arg">Fam</var>, F )</code> (see <code class="func">Embedding</code> (<a href="chap32_mj.html#X86452F8587CBAEA0"><span class="RefLink">32.2-11</span></a>)); this bijection respects addition and additive inverses.</p>

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

<h5>64.1-4 UnderlyingFamily</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UnderlyingFamily</code>( <var class="Arg">Fam</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>If <var class="Arg">Fam</var> is a Lie family then <code class="code">UnderlyingFamily( <var class="Arg">Fam</var> )</code> is a family <code class="code">F</code> such that <code class="code"><var class="Arg">Fam</var> = LieFamily( F )</code>.</p>

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

<h5>64.1-5 UnderlyingRingElement</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UnderlyingRingElement</code>( <var class="Arg">obj</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Let <var class="Arg">obj</var> be a Lie object constructed from a ring element <code class="code">r</code> by calling <code class="code">LieObject( r )</code>. Then <code class="code">UnderlyingRingElement( <var class="Arg">obj</var> )</code> returns the ring element <code class="code">r</code> used to construct <var class="Arg">obj</var>. If <code class="code">r</code> lies in the family <code class="code">F</code>, then <var class="Arg">obj</var> lies in the family <code class="code">LieFamily( F )</code> (see <code class="func">LieFamily</code> (<a href="chap64_mj.html#X8725993C7BF386EE"><span class="RefLink">64.1-3</span></a>)).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">lo:= LieObject( [ [ 1, 0 ], [ 0, 1 ] ] );</span>
LieObject( [ [ 1, 0 ], [ 0, 1 ] ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">m:=UnderlyingRingElement(lo);</span>
[ [ 1, 0 ], [ 0, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">lo*lo;</span>
LieObject( [ [ 0, 0 ], [ 0, 0 ] ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">m*m;</span>
[ [ 1, 0 ], [ 0, 1 ] ]
</pre></div>

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

<h4>64.2 <span class="Heading">Constructing Lie algebras</span></h4>

<p>In this section we describe functions that create Lie algebras. Creating and working with subalgebras goes exactly in the same way as for general algebras; so for that we refer to Chapter <a href="chap62_mj.html#X7DDBF6F47A2E021C"><span class="RefLink">62</span></a>.</p>

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

<h5>64.2-1 LieAlgebraByStructureConstants</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieAlgebraByStructureConstants</code>( <var class="Arg">R</var>, <var class="Arg">sct</var>[, <var class="Arg">nameinfo</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">LieAlgebraByStructureConstants</code> does the same as <code class="func">AlgebraByStructureConstants</code> (<a href="chap62_mj.html#X7CC58DFD816E6B65"><span class="RefLink">62.4-1</span></a>), and has the same meaning of arguments, except that the result is assumed to be a Lie algebra. Note that the function does not check whether <var class="Arg">sct</varsatisfies the Jacobi identity. (So if one creates a Lie algebra this way with a table that does not satisfy the Jacobi identity, errors may occur later on.)</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">T:= EmptySCTable( 2, 0, "antisymmetric" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetEntrySCTable( T, 1, 2, [ 1/2, 1 ] );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= LieAlgebraByStructureConstants( Rationals, T );</span>
<Lie algebra of dimension 2 over Rationals>
</pre></div>

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

<h5>64.2-2 RestrictedLieAlgebraByStructureConstants</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RestrictedLieAlgebraByStructureConstants</code>( <var class="Arg">R</var>, <var class="Arg">sct</var>[, <var class="Arg">nameinfo</var>], <var class="Arg">pmapping</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">RestrictedLieAlgebraByStructureConstants</code> does the same as <code class="func">LieAlgebraByStructureConstants</code> (<a href="chap64_mj.html#X7D362350824FA115"><span class="RefLink">64.2-1</span></a>), and has the same meaning of all arguments, except that the result is assumed to be a restricted Lie algebra (see <a href="chap64_mj.html#X878080BB79BE3F2E"><span class="RefLink">64.8</span></a>) with the <span class="SimpleMath">\(p\)</span>-map given by the additional argument <var class="Arg">pmapping</var>. This last argument is a list of the length equal to the dimension of the algebra; its <span class="SimpleMath">\(i\)</span>-th entry specifies the <span class="SimpleMath">\(p\)</span>-th power of the <span class="SimpleMath">\(i\)</span>-th basis vector in the same format <code class="code">[ coeff1, position1, coeff2, position2, ... ]</code> as <code class="func">SetEntrySCTable</code> (<a href="chap62_mj.html#X817BD086876EC1C4"><span class="RefLink">62.4-5</span></a>) uses to specify entries of the structure constants table.</p>

<p>Note that the function does not check whether <var class="Arg">sct</var> satisfies the Jacobi identity, of whether <var class="Arg">pmapping</var> specifies a legitimate <span class="SimpleMath">\(p\)</span>-mapping.</p>

<p>The following example creates a commutative restricted Lie algebra of dimension 3, in which the <span class="SimpleMath">\(p\)</span>-th power of the <span class="SimpleMath">\(i\)</span>-th basis element is the <span class="SimpleMath">\(i+1\)</span>-th basis element (except for the 3rd basis element which goes to zero).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">T:= EmptySCTable( 3, Zero(GF(5)), "antisymmetric" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= RestrictedLieAlgebraByStructureConstants(</span>
<span class="GAPprompt">></span> <span class="GAPinput">                                    GF(5), T, [[1,2],[1,3],[]] );</span>
<Lie algebra of dimension 3 over GF(5)>
<span class="GAPprompt">gap></span> <span class="GAPinput">List(Basis(L),PthPowerImage);</span>
[ v.2, v.3, 0*v.1 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">PthPowerImage(L.1+L.2);</span>
v.2+v.3
</pre></div>

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

<h5>64.2-3 LieAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieAlgebra</code>( <var class="Arg">L</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieAlgebra</code>( <var class="Arg">F</var>, <var class="Arg">gens</var>[, <var class="Arg">zero</var>][, <var class="Arg">"basis"</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>For an associative algebra <var class="Arg">L</var>, <code class="code">LieAlgebra( <var class="Arg">L</var> )</code> is the Lie algebra isomorphic to <var class="Arg">L</var> as a vector space but with the Lie bracket as product.</p>

<p><code class="code">LieAlgebra( <var class="Arg">F</var>, <var class="Arg">gens</var> )</code> is the Lie algebra over the division ring <var class="Arg">F</var>, generated <em>as Lie algebra</em> by the Lie objects corresponding to the vectors in the list <var class="Arg">gens</var>.</p>

<p><em>Note</em> that the algebra returned by <code class="func">LieAlgebra</code> does not contain the vectors in <var class="Arg">gens</var>. The elements in <var class="Arg">gens</var> are wrapped up as Lie objects (see <a href="chap64_mj.html#X80A607C47B7A2E69"><span class="RefLink">64.1</span></a>). This allows one to create Lie algebras from ring elements with respect to the Lie bracket as product. But of course the product in the Lie algebra is the usual <code class="code">*</code>.</p>

<p>If there are three arguments, a division ring <var class="Arg">F</var> and a list <var class="Arg">gens</var> and an element <var class="Arg">zero</var>, then <code class="code">LieAlgebra( <var class="Arg">F</var>, <var class="Arg">gens</var>, <var class="Arg">zero</var> )</code> is the corresponding <var class="Arg">F</var>-Lie algebra with zero element the Lie object corresponding to <var class="Arg">zero</var>.</p>

<p>If the last argument is the string <code class="code">"basis"</code> then the vectors in <var class="Arg">gens</var> are known to form a basis of the algebra (as an <var class="Arg">F</var>-vector space).</p>

<p><em>Note</em> that even if each element in <var class="Arg">gens</var> is already a Lie element, i.e., is of the form <code class="code">LieElement( <var class="Arg">elm</var> )</code> for an object <var class="Arg">elm</var>, the elements of the result lie in the Lie family of the family that contains <var class="Arg">gens</var> as a subset.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:= FullMatrixAlgebra( GF( 7 ), 4 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= LieAlgebra( A );</span>
<Lie algebra of dimension 16 over GF(7)>
<span class="GAPprompt">gap></span> <span class="GAPinput">mats:= [ [ [ 1, 0 ], [ 0, -1 ] ], [ [ 0, 1 ], [ 0, 0 ] ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">            [ [ 0, 0 ], [ 1, 0] ] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= LieAlgebra( Rationals, mats );</span>
<Lie algebra over Rationals, with 3 generators>
</pre></div>

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

<h5>64.2-4 FreeLieAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FreeLieAlgebra</code>( <var class="Arg">R</var>, <var class="Arg">rank</var>[, <var class="Arg">name</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FreeLieAlgebra</code>( <var class="Arg">R</var>, <var class="Arg">name1</var>, <var class="Arg">name2</var>, <var class="Arg">...</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns a free Lie algebra of rank <var class="Arg">rank</var> over the ring <var class="Arg">R</var>. <code class="code">FreeLieAlgebra( <var class="Arg">R</var>, <var class="Arg">name1</var>, <var class="Arg">name2</var>,...)</code> returns a free Lie algebra over <var class="Arg">R</var> with generators named <var class="Arg">name1</var>, <var class="Arg">name2</var>, and so on. The elements of a free Lie algebra are written on the Hall-Lyndon basis.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= FreeLieAlgebra( Rationals, "x""y""z" );</span>
<Lie algebra over Rationals, with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">g:= GeneratorsOfAlgebra( L );; x:= g[1];; y:=g[2];; z:= g[3];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">z*(y*(x*(z*y)));</span>
(-1)*((x*(y*z))*(y*z))+(-1)*((x*((y*z)*z))*y)+(-1)*(((x*z)*(y*z))*y)
</pre></div>

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

<h5>64.2-5 FullMatrixLieAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FullMatrixLieAlgebra</code>( <var class="Arg">R</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MatrixLieAlgebra</code>( <var class="Arg">R</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MatLieAlgebra</code>( <var class="Arg">R</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>is the full matrix Lie algebra of <span class="SimpleMath">\(\textit{n} \times \textit{n}\)</span> matrices over the ring <var class="Arg">R</var>, for a nonnegative integer <var class="Arg">n</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">FullMatrixLieAlgebra( GF(9), 10 );</span>
<Lie algebra over GF(3^2), with 19 generators>
</pre></div>

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

<h5>64.2-6 RightDerivations</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RightDerivations</code>( <var class="Arg">B</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LeftDerivations</code>( <var class="Arg">B</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Derivations</code>( <var class="Arg">B</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>These functions all return the matrix Lie algebra of derivations of the algebra <span class="SimpleMath">\(A\)</span> with basis <var class="Arg">B</var>.</p>

<p><code class="code">RightDerivations( <var class="Arg">B</var> )</code> returns the algebra of derivations represented by their right action on the algebra <span class="SimpleMath">\(A\)</span>. This means that with respect to the basis <span class="SimpleMath">\(B\)</span> of <span class="SimpleMath">\(A\)</span>, the derivation <span class="SimpleMath">\(D\)</span> is described by the matrix <span class="SimpleMath">\([ d_{{i,j}} ]\)</span> which means that <span class="SimpleMath">\(D\)</span> maps the <span class="SimpleMath">\(i\)</span>-th basis element <span class="SimpleMath">\(b_i\)</span> to <span class="SimpleMath">\(\sum_{{j = 1}}^n d_{{i,j}} b_j\)</span>.</p>

<p><code class="code">LeftDerivations( <var class="Arg">B</var> )</code> returns the Lie algebra of derivations represented by their left action on the algebra <span class="SimpleMath">\(A\)</span>. So the matrices contained in the algebra output by <code class="code">LeftDerivations( <var class="Arg">B</var> )</code> are the transposes of the matrices contained in the output of <code class="code">RightDerivations( <var class="Arg">B</var> )</code>.</p>

<p><code class="func">Derivations</code> is just a synonym for <code class="func">RightDerivations</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:= OctaveAlgebra( Rationals );</span>
<algebra of dimension 8 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= Derivations( Basis( A ) );</span>
<Lie algebra of dimension 14 over Rationals>
</pre></div>

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

<h5>64.2-7 SimpleLieAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SimpleLieAlgebra</code>( <var class="Arg">type</var>, <var class="Arg">n</var>, <var class="Arg">F</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function constructs the simple Lie algebra of type given by the string <var class="Arg">type</var> and rank <var class="Arg">n</var> over the field <var class="Arg">F</var>. The string <var class="Arg">type</var> must be one of <code class="code">"A"</code>, <code class="code">"B"</code>, <code class="code">"C"</code>, <code class="code">"D"</code>, <code class="code">"E"</code>, <code class="code">"F"</code>, <code class="code">"G"</code>, <code class="code">"H"</code>, <code class="code">"K"</code>, <code class="code">"S"</code>, <code class="code">"W"</code> or <code class="code">"M"</code>. For the types <code class="code">A</code> to <code class="code">G</code>, <var class="Arg">n</var> must be a positive integer. The last five types only exist over fields of characteristic <span class="SimpleMath">\(p>0\)</span>. If the type is <code class="code">H</code>, then <var class="Arg">n</var> must be a list of positive integers of even length. If the type is <code class="code">K</code>, then <var class="Arg">n</var> must be a list of positive integers of odd length. For the types <code class="code">S</code> and <code class="code">W</code>, <var class="Arg">n</var> must be a list of positive integers of any length. If the type is <code class="code">M</code>, then the Melikyan algebra is constructed. In this case <var class="Arg">n</var> must be a list of two positive integers. This Lie algebra only exists over fields of characteristic <span class="SimpleMath">\(5\)</span>. This Lie algebra is <span class="SimpleMath">\(ℤ \times ℤ\)</span> graded; and the grading can be accessed via the attribute <code class="code">Grading(L)</code> (see <code class="func">Grading</code> (<a href="chap62_mj.html#X7DCA2568870A2D34"><span class="RefLink">62.9-20</span></a>)). In some cases the Lie algebra returned by this function is not simple. Examples are the Lie algebras of type <span class="SimpleMath">\(A_n\)</span> over a field of characteristic <span class="SimpleMath">\(p>0\)</span> where <span class="SimpleMath">\(p\)</span> divides <span class="SimpleMath">\(n+1\)</span>, and the Lie algebras of type <span class="SimpleMath">\(K_n\)</span> where <span class="SimpleMath">\(n\)</span> is a list of length 1.</p>

<p>If <var class="Arg">type</var> is one of <code class="code">A</code>, <code class="code">B</code>, <code class="code">C</code>, <code class="code">D</code>, <code class="code">E</code>, <code class="code">F</code>, <code class="code">G</code>, and <var class="Arg">F</var> is a field of characteristic zero, then the basis of the returned Lie algebra is a Chevalley basis.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">SimpleLieAlgebra( "E", 6, Rationals );</span>
<Lie algebra of dimension 78 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">SimpleLieAlgebra( "A", 6, GF(5) );</span>
<Lie algebra of dimension 48 over GF(5)>
<span class="GAPprompt">gap></span> <span class="GAPinput">SimpleLieAlgebra( "W", [1,2], GF(5) );</span>
<Lie algebra of dimension 250 over GF(5)>
<span class="GAPprompt">gap></span> <span class="GAPinput">SimpleLieAlgebra( "H", [1,2], GF(5) );</span>
<Lie algebra of dimension 123 over GF(5)>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= SimpleLieAlgebra( "M", [1,1], GF(5) );</span>
<Lie algebra of dimension 125 over GF(5)>
</pre></div>

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

<h4>64.3 <span class="Heading">Distinguished Subalgebras</span></h4>

<p>Here we describe functions that calculate well-known subalgebras and ideals of a Lie algebra (such as the centre, the centralizer of a subalgebra, etc.).</p>

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

<h5>64.3-1 LieCentre</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieCentre</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieCenter</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The <em>Lie</em> centre of the Lie algebra <var class="Arg">L</var> is the kernel of the adjoint mapping, that is, the set <span class="SimpleMath">\(\{ a \in L : \forall x \in L: a x = 0 \}\)</span>.</p>

<p>In characteristic <span class="SimpleMath">\(2\)</span> this may differ from the usual centre (that is the set of all <span class="SimpleMath">\(a \in L\)</span> such that <span class="SimpleMath">\(a x = x a\)</span> for all <span class="SimpleMath">\(x \in L\)</span>). Therefore, this operation is named <code class="func">LieCentre</code> and not <code class="func">Centre</code> (<a href="chap35_mj.html#X847ABE6F781C7FE8"><span class="RefLink">35.4-5</span></a>).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= FullMatrixLieAlgebra( GF(3), 3 );</span>
<Lie algebra over GF(3), with 5 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieCentre( L );</span>
<two-sided ideal in <Lie algebra of dimension 9 over GF(3)>,
  (dimension 1)>
</pre></div>

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

<h5>64.3-2 LieCentralizer</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieCentralizer</code>( <var class="Arg">L</var>, <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>is the annihilator of <var class="Arg">S</var> in the Lie algebra <var class="Arg">L</var>, that is, the set <span class="SimpleMath">\(\{ a \in L : \forall s \in S: a*s = 0 \}\)</span>. Here <var class="Arg">S</var> may be a subspace or a subalgebra of <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= SimpleLieAlgebra( "G", 2, Rationals );</span>
<Lie algebra of dimension 14 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">b:= BasisVectors( Basis( L ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieCentralizer( L, Subalgebra( L, [ b[1], b[2] ] ) );</span>
<Lie algebra of dimension 1 over Rationals>
</pre></div>

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

<h5>64.3-3 LieNormalizer</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieNormalizer</code>( <var class="Arg">L</var>, <var class="Arg">U</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>is the normalizer of the subspace <var class="Arg">U</var> in the Lie algebra <var class="Arg">L</var>, that is, the set <span class="SimpleMath">\(N_L(U) = \{ x \in L : [x,U] \subset U \}\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= SimpleLieAlgebra( "G", 2, Rationals );</span>
<Lie algebra of dimension 14 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">b:= BasisVectors( Basis( L ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieNormalizer( L, Subalgebra( L, [ b[1], b[2] ] ) );</span>
<Lie algebra of dimension 8 over Rationals>
</pre></div>

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

<h5>64.3-4 LieDerivedSubalgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieDerivedSubalgebra</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is the (Lie) derived subalgebra of the Lie algebra <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput"> L:= FullMatrixLieAlgebra( GF( 3 ), 3 );</span>
<Lie algebra over GF(3), with 5 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieDerivedSubalgebra( L );</span>
<Lie algebra of dimension 8 over GF(3)>
</pre></div>

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

<h5>64.3-5 LieNilRadical</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieNilRadical</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>This function calculates the (Lie) nil radical of the Lie algebra <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mats:= [ [[1,0],[0,0]], [[0,1],[0,0]], [[0,0],[0,1]] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= LieAlgebra( Rationals, mats );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieNilRadical( L );</span>
<two-sided ideal in <Lie algebra of dimension 3 over Rationals>,
  (dimension 2)>
</pre></div>

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

<h5>64.3-6 LieSolvableRadical</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieSolvableRadical</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns the (Lie) solvable radical of the Lie algebra <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= FullMatrixLieAlgebra( Rationals, 3 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieSolvableRadical( L );</span>
<two-sided ideal in <Lie algebra of dimension 9 over Rationals>,
  (dimension 1)>
</pre></div>

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

<h5>64.3-7 CartanSubalgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CartanSubalgebra</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>A Cartan subalgebra of a Lie algebra <var class="Arg">L</var> is defined as a nilpotent subalgebra of <var class="Arg">L</var> equal to its own Lie normalizer in <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= SimpleLieAlgebra( "G", 2, Rationals );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">CartanSubalgebra( L );</span>
<Lie algebra of dimension 2 over Rationals>
</pre></div>

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

<h4>64.4 <span class="Heading">Series of Ideals</span></h4>

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

<h5>64.4-1 LieDerivedSeries</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieDerivedSeries</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is the (Lie) derived series of the Lie algebra <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mats:= [ [[1,0],[0,0]], [[0,1],[0,0]], [[0,0],[0,1]] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= LieAlgebra( Rationals, mats );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieDerivedSeries( L );</span>
[ <Lie algebra of dimension 3 over Rationals>,
  <Lie algebra of dimension 1 over Rationals>,
  <Lie algebra of dimension 0 over Rationals> ]
</pre></div>

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

<h5>64.4-2 LieLowerCentralSeries</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieLowerCentralSeries</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is the (Lie) lower central series of the Lie algebra <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mats:= [ [[ 1, 0 ], [ 0, 0 ]], [[0,1],[0,0]], [[0,0],[0,1]] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=LieAlgebra( Rationals, mats );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieLowerCentralSeries( L );</span>
[ <Lie algebra of dimension 3 over Rationals>,
  <Lie algebra of dimension 1 over Rationals> ]
</pre></div>

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

<h5>64.4-3 LieUpperCentralSeries</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LieUpperCentralSeries</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is the (Lie) upper central series of the Lie algebra <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">mats:= [ [[ 1, 0 ], [ 0, 0 ]], [[0,1],[0,0]], [[0,0],[0,1]] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=LieAlgebra( Rationals, mats );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LieUpperCentralSeries( L );</span>
[ <two-sided ideal in <Lie algebra of dimension 3 over Rationals>,
      (dimension 1)>, <Lie algebra of dimension 0 over Rationals>
 ]
</pre></div>

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

<h4>64.5 <span class="Heading">Properties of a Lie Algebra</span></h4>

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

<h5>64.5-1 IsLieAbelian</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLieAbelian</code>( <var class="Arg">L</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if <var class="Arg">L</var> is a Lie algebra such that each product of elements in <var class="Arg">L</var> is zero, and <code class="keyw">false</code> otherwise.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput"> T:= EmptySCTable( 5, 0, "antisymmetric" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput"> L:= LieAlgebraByStructureConstants( Rationals, T );</span>
<Lie algebra of dimension 5 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsLieAbelian( L );</span>
true
</pre></div>

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

<h5>64.5-2 IsLieNilpotent</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLieNilpotent</code>( <var class="Arg">L</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A Lie algebra <var class="Arg">L</var> is defined to be (Lie) <em>nilpotent</em> when its (Lie) lower central series reaches the trivial subalgebra.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">T:= EmptySCTable( 5, 0, "antisymmetric" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= LieAlgebraByStructureConstants( Rationals, T );</span>
<Lie algebra of dimension 5 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsLieNilpotent( L );</span>
true
</pre></div>

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

<h5>64.5-3 IsLieSolvable</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLieSolvable</code>( <var class="Arg">L</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A Lie algebra <var class="Arg">L</var> is defined to be (Lie) <em>solvable</em> when its (Lie) derived series reaches the trivial subalgebra.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">T:= EmptySCTable( 5, 0, "antisymmetric" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= LieAlgebraByStructureConstants( Rationals, T );</span>
<Lie algebra of dimension 5 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsLieSolvable( L );</span>
true
</pre></div>

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

<h4>64.6 <span class="Heading">Semisimple Lie Algebras and Root Systems</span></h4>

<p>This section contains some functions for dealing with semisimple Lie algebras and their root systems.</p>

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

<h5>64.6-1 SemiSimpleType</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SemiSimpleType</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Let <var class="Arg">L</var> be a semisimple Lie algebra, i.e., a direct sum of simple Lie algebras. Then <code class="func">SemiSimpleType</code> returns the type of <var class="Arg">L</var>, i.e., a string containing the types of the simple summands of <var class="Arg">L</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= SimpleLieAlgebra( "E", 8, Rationals );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">b:= BasisVectors( Basis( L ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">K:= LieCentralizer(L, Subalgebra(L, [ b[61]+b[79]+b[101]+b[102] ]));</span>
<Lie algebra of dimension 102 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">lev:= LeviMalcevDecomposition(K);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SemiSimpleType( lev[1] );</span>
"B3 A1"
</pre></div>

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

<h5>64.6-2 ChevalleyBasis</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ChevalleyBasis</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Here <var class="Arg">L</var> must be a semisimple Lie algebra with a split Cartan subalgebra. Then <code class="code">ChevalleyBasis(<var class="Arg">L</var>)</code> returns a list consisting of three sublists. Together these sublists form a Chevalley basis of <var class="Arg">L</var>. The first list contains the positive root vectors, the second list contains the negative root vectors, and the third list the Cartan elements of the Chevalley basis.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= SimpleLieAlgebra( "G", 2, Rationals );</span>
<Lie algebra of dimension 14 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">ChevalleyBasis( L );</span>
[ [ v.1, v.2, v.3, v.4, v.5, v.6 ],
  [ v.7, v.8, v.9, v.10, v.11, v.12 ], [ v.13, v.14 ] ]
</pre></div>

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

<h5>64.6-3 IsRootSystem</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRootSystem</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>Category of root systems.</p>

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

<h5>64.6-4 IsRootSystemFromLieAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRootSystemFromLieAlgebra</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>Category of root systems that come from (semisimple) Lie algebras. They often have special attributes such as <code class="func">UnderlyingLieAlgebra</code> (<a href="chap64_mj.html#X7CA021E28527763E"><span class="RefLink">64.6-6</span></a>), <code class="func">PositiveRootVectors</code> (<a href="chap64_mj.html#X829C78427A442C23"><span class="RefLink">64.6-9</span></a>), <code class="func">NegativeRootVectors</code> (<a href="chap64_mj.html#X7AB374DC87A39349"><span class="RefLink">64.6-10</span></a>), <code class="func">CanonicalGenerators</code> (<a href="chap64_mj.html#X7FAE45B37C5779A0"><span class="RefLink">64.6-14</span></a>).</p>

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

<h5>64.6-5 RootSystem</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RootSystem</code>( <var class="Arg">L</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
--> --------------------

--> maximum size reached

--> --------------------

100%


¤ Dauer der Verarbeitung: 0.33 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.