SqrtField
## construct the field SqrtFieldgap> F := SqrtField;
SqrtField
gap> IsField( F ); LeftActingDomain( F ); Size( F ); Characteristic( F );
true
GaussianRationals
infinity
0
## construct a few elements
gap> Sqroot(-(2*3*4)/(11*13)); Sqroot(245/15); Sqroot(16/9);
2/143*E(4)*Sqroot(858)
7/3*Sqroot(3)
4/3
gap> a := 2+Sqroot(7)+Sqroot(99);
2 + Sqroot(7) + 3*Sqroot(11)
## construction of elements via coefficient lists
gap>CoefficientsOfSqrtFieldElt(a);
[ [ 2, 1 ], [ 1, 7 ], [ 3, 11 ] ]
gap> SqrtFieldEltByCoefficients([[2,9],[1,7],[E(4),13]]);
6 + Sqroot(7) + E(4)*Sqroot(13)
## construction of elements via cyclototmics
gap> SqrtFieldEltToCyclotomic( Sqroot(2) );
E(8)-E(8)^3
gap> SqrtFieldEltToCyclotomic( Sqroot(2)+E(4)*Sqroot(7) );
E(56)^5+E(56)^8+E(56)^13-E(56)^15+E(56)^16-E(56)^23-E(56)^24+
E(56)^29-E(56)^31+E(56)^32+E(56)^37-E(56)^39-E(56)^40+E(56)^45-
E(56)^47-E(56)^48+E(56)^53-E(56)^55
gap> SqrtFieldEltByCyclotomic( E(8)-E(8)^3 );
Sqroot(2)
gap> SqrtFieldEltByCyclotomic( 3*E(4)*Sqrt(11)-2/4*Sqrt(-13/7) );
3*E(4)*Sqroot(11) + (-1/14*E(4))*Sqroot(91)
## some basic operations
gap> a := Sqroot( 2 ) + 3 * Sqroot( 3/7 ); b := Sqroot( 21 ) - Sqroot( 2 );
Sqroot(2) + 3/7*Sqroot(21)
(-1)*Sqroot(2) + Sqroot(21)
gap> a + b; a * b; a - b;
10/7*Sqroot(21)
7 + 4/7*Sqroot(42)
2*Sqroot(2) + (-4/7)*Sqroot(21)
gap> a := Sum( List( [2,3,5,7], x -> Sqroot( x ) ) );
Sqroot(2) + Sqroot(3) + Sqroot(5) + Sqroot(7)
gap> b := a^-1;
#I InfoSqrtField: (inverses) computed 10 powers
37/43*Sqroot(2) + (-29/43)*Sqroot(3) + (-133/215)*Sqroot(5) + 27/43*Sqroot(7) +
62/215*Sqroot(30) + (-10/43)*Sqroot(42) + (-34/215)*Sqroot(70) + 22/215*Sqroot(105)
gap> ComplexConjugate(Sqroot(17)+Sqroot(-7));
(-E(4))*Sqroot(7) + Sqroot(17)
Constructing real simple Lie Algebras
## contruct simple real Lie algebras using their idgap> RealFormsInformation("A",3);
There are 5 simple real forms with complexification A3
1 is of type su(4), compact form
2 - 3 are of type su(p,4-p) with 1 <= p <= 2
4 is of type sl(4,R)
5 is of type sl(2,H)
Index '0' returns the realification of A3
gap> L := RealFormById("A",3,2);
<Lie algebra of dimension 15 over SqrtField>
gap> L := RealFormById("A",3,2,CF(4));
<Lie algebra of dimension 15 over GaussianRationals>
gap> NumberRealForms("B",12);
13
## construct the id of a Lie algebra
gap> sct := StructureConstantsTable(Basis(RealFormById("C",4,3)));;
gap> L := LieAlgebraByStructureConstants(sct,SqrtField);
gap> IdRealForm(L);
[ "C", 4, 3 ]
## compute some additional informations
gap> L:=RealFormById("E",6,3);;
gap> cd := CartanDecomposition(L);
rec( CartanInv := function( v ) ... end,
K := <Lie algebra of dimension 38 over SqrtField>,
P := <vector space over SqrtField, with 40 generators> )
gap> Hc := MaximallyCompactCartanSubalgebra(L);
<Lie algebra over SqrtField, with 6 generators>
gap> Dimension(Intersection(Hc,cd.K));
6
gap> Hnc := MaximallyNonCompactCartanSubalgebra(L);
gap> Dimension(Intersection(Hnc,cd.K));
2
## compute diagrams
gap> L := RealFormById("B",6,4);;
gap> vd := VoganDiagram(L);
<Vogan diagram in Lie algebra of type B6>
gap> Display(vd);
B4: 1---(2)---3---4---5=>=6
Involution: ()
gap> sd := SatakeDiagram(L);
<Satake diagram in Lie algebra of type B6>
gap> Display(sd);
Dynkin diagram:
B6: 1---2---3---4---(5)=>=(6)
Involution: ()
## compute isomorphisms
gap> L := RealFormById( "F", 4, 2 );;
gap> sc := StructureConstantsTable(Basis(L));;
gap> K := LieAlgebraByStructureConstants(SqrtField,sc);;
gap> iso := IsomorphismOfRealSemisimpleLieAlgebras(K,L);
<Lie algebra isomorphism between Lie algebras of dimension 52 over SqrtField>
## computing with Cartan subalgebras
gap> L := RealFormById( "F", 4, 2 );;
gap> C := CartanSubalgebrasOfRealForm(L);;
gap> RootsystemOfCartanSubalgebra(L,C[2]);
<root system of rank 4>
gap> List(C,H->CompactDimensionOfCartanSubalgebra(L,H));
[ 0, 1, 1, 2, 2, 3, 3, 4 ]
Nilpotent Orbits
gap> L:= RealFormById( "F", 4, 2 );;gap> no:= NilpotentOrbitsOfRealForm( L );;
gap> o:= no[10];
<nilpotent orbit in Lie algebra>
gap> t:=RealCayleyTriple(o);;
gap> theta:= CartanDecomposition(L).CartanInv;;
gap> theta(t[1]) = -t[3];
true
gap> theta(t[2]) = -t[2];
true
gap> t[3]*t[1] = t[2];
true
gap> WeightedDynkinDiagram(o);
[ 1, 2, 0, 0 ]