Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->1<!-- %% -->2<!-- %A alglie.msk GAP documentation Willem de Graaf -->3<!-- %% -->4<!-- %A @(#)<M>Id: alglie.msk,v 1.42 2005/11/28 11:43:42 gap Exp </M> -->5<!-- %% -->6<!-- %Y (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland -->7<!-- %Y Copyright (C) 2002 The GAP Group -->8<!-- %% -->9<Chapter Label="Lie Algebras">10<Heading>Lie Algebras</Heading>1112<#Include Label="[1]{alglie}">1314<!-- %% The algorithms for Lie algebras are due to Willem de Graaf. -->151617<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->18<Section Label="Lie Objects">19<Heading>Lie Objects</Heading>2021<#Include Label="[1]{liefam}">22<#Include Label="LieObject">23<#Include Label="IsLieObject">24<#Include Label="LieFamily">25<#Include Label="UnderlyingFamily">26<#Include Label="UnderlyingRingElement">2728</Section>293031<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->32<Section Label="Constructing Lie algebras">33<Heading>Constructing Lie algebras</Heading>3435In this section we describe functions that create Lie algebras. Creating36and working with subalgebras goes exactly in the same way as for general37algebras; so for that we refer to Chapter <Ref Chap="Algebras"/>.3839<#Include Label="LieAlgebraByStructureConstants">40<#Include Label="RestrictedLieAlgebraByStructureConstants">41<#Include Label="LieAlgebra">42<#Include Label="FreeLieAlgebra">43<#Include Label="FullMatrixLieAlgebra">44<#Include Label="RightDerivations">45<#Include Label="SimpleLieAlgebra">4647</Section>484950<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->51<Section Label="Distinguished Subalgebras">52<Heading>Distinguished Subalgebras</Heading>5354Here we describe functions that calculate well-known subalgebras55and ideals of a Lie algebra (such as the centre, the centralizer of a56subalgebra, etc.).5758<#Include Label="LieCentre">59<#Include Label="LieCentralizer">60<#Include Label="LieNormalizer">61<#Include Label="LieDerivedSubalgebra">62<#Include Label="LieNilRadical">63<#Include Label="LieSolvableRadical">64<#Include Label="CartanSubalgebra">6566</Section>676869<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->70<Section Label="Series of Ideals">71<Heading>Series of Ideals</Heading>7273<#Include Label="LieDerivedSeries">74<#Include Label="LieLowerCentralSeries">75<#Include Label="LieUpperCentralSeries">7677</Section>787980<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->81<Section Label="Properties of a Lie Algebra">82<Heading>Properties of a Lie Algebra</Heading>8384<#Include Label="IsLieAbelian">85<#Include Label="IsLieNilpotent">86<#Include Label="IsLieSolvable">8788</Section>899091<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->92<Section Label="Semisimple Lie Algebras and Root Systems">93<Heading>Semisimple Lie Algebras and Root Systems</Heading>9495This section contains some functions for dealing with96semisimple Lie algebras and their root systems.9798<#Include Label="SemiSimpleType">99<#Include Label="ChevalleyBasis">100<#Include Label="IsRootSystem">101<#Include Label="IsRootSystemFromLieAlgebra">102<#Include Label="RootSystem">103<#Include Label="UnderlyingLieAlgebra">104<#Include Label="PositiveRoots">105<#Include Label="NegativeRoots">106<#Include Label="PositiveRootVectors">107<#Include Label="NegativeRootVectors">108<#Include Label="SimpleSystem">109<#Include Label="CartanMatrix">110<#Include Label="BilinearFormMat">111<#Include Label="CanonicalGenerators">112113</Section>114115116<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->117<Section Label="Semisimple Lie Algebras and Weyl Groups of Root Systems">118<Heading>Semisimple Lie Algebras and Weyl Groups of Root Systems</Heading>119120This section deals with the Weyl group of a root system.121A Weyl group is represented by its action on the weight lattice.122A <E>weight</E> is by definition a linear function123<M>\lambda: H \rightarrow F</M> (where <M>F</M> is the ground field), such124that the values <M>\lambda(h_i)</M> are all integers (where the <M>h_i</M>125are the Cartan elements of the <Ref Attr="CanonicalGenerators"/>).126On the other hand each weight is determined by these values.127Therefore we represent a weight by a vector of integers;128the <M>i</M>-th entry of this vector is the value <M>\lambda(h_i)</M>.129Now the elements of the Weyl group are represented by matrices, and130if <C>g</C> is an element of a Weyl group and <C>w</C> a weight, then131<C>w*g</C> gives the result of applying <C>g</C> to <C>w</C>.132Another way of applying the <M>i</M>-th simple reflection to a weight is133by using the function <Ref Oper="ApplySimpleReflection"/>.134<P/>135A Weyl group is generated by the simple reflections.136So <Ref Attr="GeneratorsOfGroup"/> for a Weyl group <C>W</C> gives a list137of matrices and the <M>i</M>-th entry of this list is the simple reflection138corresponding to the <M>i</M>-th simple root of the corresponding root system.139140<#Include Label="IsWeylGroup">141<#Include Label="SparseCartanMatrix">142<#Include Label="WeylGroup">143<#Include Label="ApplySimpleReflection">144<#Include Label="LongestWeylWordPerm">145<#Include Label="ConjugateDominantWeight">146<#Include Label="WeylOrbitIterator">147148</Section>149150151<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->152<Section Label="Restricted Lie algebras">153<Heading>Restricted Lie algebras</Heading>154155A Lie algebra <M>L</M> over a field of characteristic <M>p>0</M> is called156restricted if there is a map <M>x \mapsto x^p</M> from <M>L</M> into <M>L</M>157(called a <M>p</M>-map) such that158ad <M>x^p = (</M>ad<M> x)^p</M>,159<M>(\alpha x)^p = \alpha^p x^p</M> and160<M>(x+y)^p = x^p + y^p + \sum_{{i=1}}^{{p-1}} s_i(x,y)</M>,161where <M>s_i: L \times L \rightarrow L</M>162are certain Lie polynomials in two variables.163Using these relations we can calculate <M>y^p</M> for all <M>y \in L</M>,164once we know <M>x^p</M> for <M>x</M> in a basis of <M>L</M>.165Therefore a <M>p</M>-map is represented in &GAP; by a list166containing the images of the basis vectors of a basis <M>B</M> of <M>L</M>.167For this reason this list is an attribute of the basis <M>B</M>.168<P/>169<#Include Label="IsRestrictedLieAlgebra">170<#Include Label="PthPowerImages">171<#Include Label="PthPowerImage">172<#Include Label="JenningsLieAlgebra">173<#Include Label="PCentralLieAlgebra">174<#Include Label="NaturalHomomorphismOfLieAlgebraFromNilpotentGroup">175176</Section>177178179<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->180<Section Label="The Adjoint Representation">181<Heading>The Adjoint Representation</Heading>182183In this section we show functions for calculating with the adjoint184representation of a Lie algebra (and the corresponding trace form,185called the Killing form) (see also <Ref Func="AdjointBasis"/> and186<Ref Func="IndicesOfAdjointBasis"/>).187<P/>188<#Include Label="AdjointMatrix">189<#Include Label="AdjointAssociativeAlgebra">190<#Include Label="KillingMatrix">191<#Include Label="KappaPerp">192<#Include Label="IsNilpotentElement">193<#Include Label="NonNilpotentElement">194<#Include Label="FindSl2">195196</Section>197198199<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->200<Section Label="Universal Enveloping Algebras">201<Heading>Universal Enveloping Algebras</Heading>202203<#Include Label="UniversalEnvelopingAlgebra">204205</Section>206207208<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->209<Section Label="Finitely Presented Lie Algebras">210<Heading>Finitely Presented Lie Algebras</Heading>211212Finitely presented Lie algebras can be constructed from free Lie algebras by213using the <C>/</C> constructor, i.e., <C>FL/[r1, ..., rk]</C> is the quotient214of the free Lie algebra <C>FL</C> by the ideal generated by the elements215<C>r1, ..., rk</C> of <C>FL</C>. If the finitely presented Lie algebra216<C>K</C> happens to be finite dimensional then an isomorphic structure217constants Lie algebra can be constructed by <C>NiceAlgebraMonomorphism(K)</C>218(see <Ref Attr="NiceAlgebraMonomorphism"/>), which returns a surjective219homomorphism. The structure constants Lie algebra can then be accessed by220calling <Ref Attr="Range" Label="of a general mapping"/> for this map.221Also limited computations with elements of the finitely presented Lie222algebra are possible.223<P/>224<Example><![CDATA[225gap> L:= FreeLieAlgebra( Rationals, "s", "t" );226<Lie algebra over Rationals, with 2 generators>227gap> gL:= GeneratorsOfAlgebra( L );; s:= gL[1];; t:= gL[2];;228gap> K:= L/[ s*(s*t), t*(t*(s*t)), s*(t*(s*t))-t*(s*t) ];229<Lie algebra over Rationals, with 2 generators>230gap> h:= NiceAlgebraMonomorphism( K );231[ [(1)*s], [(1)*t] ] -> [ v.1, v.2 ]232gap> U:= Range( h );233<Lie algebra of dimension 3 over Rationals>234gap> IsLieNilpotent( U );235true236gap> gK:= GeneratorsOfAlgebra( K );237[ [(1)*s], [(1)*t] ]238gap> gK[1]*(gK[2]*gK[1]) = Zero( K );239true240]]></Example>241<P/>242<#Include Label="FpLieAlgebraByCartanMatrix">243<#Include Label="NilpotentQuotientOfFpLieAlgebra">244245</Section>246247248<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->249<Section Label="Modules over Lie Algebras and Their Cohomology">250<Heading>Modules over Lie Algebras and Their Cohomology</Heading>251252Representations of Lie algebras are dealt with in the same way as253representations of ordinary algebras254(see <Ref Sect="Representations of Algebras"/>).255In this section we mainly deal with modules over general Lie algebras256and their cohomology. The next section is devoted to modules over257semisimple Lie algebras.258259<#Include Label="[1]{lierep}">260<#Include Label="IsCochain">261<#Include Label="Cochain">262<#Include Label="CochainSpace">263<#Include Label="ValueCochain">264<#Include Label="LieCoboundaryOperator">265<#Include Label="Cocycles">266<#Include Label="Coboundaries">267268</Section>269270271<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->272<Section Label="Modules over Semisimple Lie Algebras">273<Heading>Modules over Semisimple Lie Algebras</Heading>274275This section contains functions for calculating information on276representations of semisimple Lie algebras. First we have some functions277for calculating some combinatorial data (set of dominant weights,278the dominant character, the decomposition of a tensor product, the dimension279of a highest-weight module). Then280there is a function for creating an admissible lattice in the universal281enveloping algebra of a semisimple Lie algebra. Finally we have a function282for constructing a highest-weight module over a semisimple Lie algebra.283<P/>284<#Include Label="DominantWeights">285<#Include Label="DominantCharacter">286<#Include Label="DecomposeTensorProduct">287<#Include Label="DimensionOfHighestWeightModule">288289</Section>290291292<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->293<Section Label="Admissible Lattices in UEA">294<Heading>Admissible Lattices in UEA</Heading>295296<#Include Label="[2]{lierep}">297<#Include Label="IsUEALatticeElement">298<#Include Label="LatticeGeneratorsInUEA">299300<ManSection>301<Meth Name="ObjByExtRep" Arg="F, descr"302Label="for creating a UEALattice element"/>303304<Description>305An UEALattice element is represented by a list of the form306<C>[ m1, c1, m2, c2, ... ]</C>, where the <C>c1</C>, <C>c2</C> etc. are307coefficients, and the <C>m1</C>, <C>m2</C> etc. are monomials. A monomial308is a list of the form <C>[ ind1, e1, ind2, e2, ... ]</C> where <C>ind1</C>,309<C>ind2</C> are indices, and <C>e1</C>, <C>e2</C> etc. are exponents. Let310<M>N</M> be the number of positive roots of the underlying Lie algebra311<C>L</C>. The indices lie between 1 and <M>dim(L)</M>. If an index lies312between 1 and <C>N</C>, then it represents a negative root vector313(corresponding to the root <C>NegativeRoots( R )[ind]</C>, where <C>R</C>314is the root system of <C>L</C>; see <Ref Attr="NegativeRoots"/>). This315leads to a factor <C>yind1^(e1)</C> in the printed form of the monomial316(which equals <C>z^e1/e1!</C>, where <C>z</C> is a basis element of <C>L</C>).317If an index lies between <M>N+1</M> and <M>2N</M>, then it represents a318positive root vector. Finally, if ind lies between <M>2N+1</M> and319<M>2N+rank</M>, then it represents an element of the Cartan subalgebra.320This is printed as <M>( h_1/ e_1 )</M>, meaning <M>{h_1 \choose e_1}</M>,321where <M>h_1, \ldots, h_{rank}</M> are the canonical Cartan generators.322<P/>323The zero element is represented by the empty list, the identity324element by the list <C>[ [], 1 ]</C>.325<P/>326<Example><![CDATA[327gap> L:= SimpleLieAlgebra( "G", 2, Rationals );;328gap> g:=LatticeGeneratorsInUEA( L );329[ y1, y2, y3, y4, y5, y6, x1, x2, x3, x4, x5, x6, ( h13/1 ),330( h14/1 ) ]331gap> IsUEALatticeElement( g[1] );332true333gap> g[1]^3;3346*y1^(3)335gap> q:= g[7]*g[1]^2;336-2*y1+2*y1*( h13/1 )+2*y1^(2)*x1337gap> ExtRepOfObj( q );338[ [ 1, 1 ], -2, [ 1, 1, 13, 1 ], 2, [ 1, 2, 7, 1 ], 2 ]339]]></Example>340</Description>341</ManSection>342343<#Include Label="IsWeightRepElement">344<#Include Label="HighestWeightModule">345346</Section>347348349<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->350<Section Label="Tensor Products and Exterior and Symmetric Powers">351<Heading>Tensor Products and Exterior and Symmetric Powers</Heading>352353<#Include Label="TensorProductOfAlgebraModules">354<#Include Label="ExteriorPowerOfAlgebraModule">355<#Include Label="SymmetricPowerOfAlgebraModule">356357</Section>358</Chapter>359360361<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->362<!-- %% -->363<!-- %E -->364365366367