1gap> START_TEST("");
2
3#
4gap> sc := rec( dim := 3, prime := 2, tab := [] );;
5gap> L := LiePRingBySCTable(sc);
6<LiePRing of dimension 3 over prime 2>
7gap> l := BasisOfLiePRing(L);
8[ l1, l2, l3 ]
9gap> l[1]*l[2];
100
11gap> 2*l[1];
120
13gap> l[1] + l[2];
14l1 + l2
15gap> sc := rec( dim := 4, prime := 5, tab := [ [], [3, 1], [], [4, 1]]);;
16gap> L := LiePRingBySCTableNC(sc);;
17gap> ViewPCPresentation(L);
18[l2,l1] = l3
19[l3,l1] = l4
20gap> p := IndeterminateByName("p");;
21gap> x := IndeterminateByName("x");;
22gap> S := rec( dim := 5,
23>              param := [ x ],
24>              prime := p,
25>              tab := [ [ 4, 1 ], [ 3, 1 ], [ 5, x ], [ 4, 1 ], [ 5, 1 ] ] );;
26gap> L := LiePRingBySCTable(S);
27<LiePRing of dimension 5 over prime p with parameters [ x ]>
28gap> ViewPCPresentation(L);
29p*l1 = l4
30p*l2 = x*l5
31[l2,l1] = l3
32[l3,l1] = l4
33[l3,l2] = l5
34gap> l := BasisOfLiePRing(L);
35[ l1, l2, l3, l4, l5 ]
36gap> p*l[1];
37l4
38gap> l[1]+l[2];
39l1 + l2
40gap> l[1]*l[2];
41-1*l3
42gap> p := IndeterminateByName("p");;
43gap> w := IndeterminateByName("w");;
44gap> x := IndeterminateByName("x");;
45gap> y := IndeterminateByName("y");;
46gap> S := rec( dim := 7,
47>              param := [ w, x, y ],
48>              prime := p,
49>              tab := [ [  ], [ 6, 1 ], [ 6, 1 ], [ 7, 1 ], [  ],
50>                       [ 6, x, 7, y ], [  ], [ 7, 1 ], [ 6, w ] ] );;
51gap> L := LiePRingBySCTable(S);
52<LiePRing of dimension 7 over prime p with parameters [ w, x, y ]>
53gap> ViewPCPresentation(L);
54p*l2 = l6
55p*l3 = x*l6 + y*l7
56[l2,l1] = l6
57[l3,l1] = l7
58[l4,l2] = l7
59[l4,l3] = w*l6
60gap>
61gap> SpecialiseLiePRing(L, 7, [x, y], [0,0]);
62<LiePRing of dimension 7 over prime 7>
63gap> ViewPCPresentation(last);
647*l2 = l6
65[l2,l1] = l6
66[l3,l1] = l7
67[l4,l2] = l7
68[l4,l3] = 3*l6
69gap>
70gap> SpecialiseLiePRing(L, 11, [x, y], [0,10]);
71<LiePRing of dimension 7 over prime 11>
72gap> ViewPCPresentation(last);
7311*l2 = l6
7411*l3 = 10*l7
75[l2,l1] = l6
76[l3,l1] = l7
77[l4,l2] = l7
78[l4,l3] = 2*l6
79gap>
80gap> Cartesian([0,1],[0,1]);
81[ [ 0, 0 ], [ 0, 1 ], [ 1, 0 ], [ 1, 1 ] ]
82gap> List(last, v -> SpecialiseLiePRing(L, 2, [x,y], v));
83[ <LiePRing of dimension 7 over prime 2>, <LiePRing of dimension 7 over prime
84    2>, <LiePRing of dimension 7 over prime 2>,
85  <LiePRing of dimension 7 over prime 2> ]
86gap> SpecialiseLiePRing(L, p, [x], [0]);
87<LiePRing of dimension 7 over prime p with parameters [ y, w ]>
88gap> ViewPCPresentation(last);
89p*l2 = l6
90p*l3 = y*l7
91[l2,l1] = l6
92[l3,l1] = l7
93[l4,l2] = l7
94[l4,l3] = w*l6
95gap> SpecialiseLiePRing(L, p, [y], [3]);
96<LiePRing of dimension 7 over prime p with parameters [ x, w ]>
97gap> ViewPCPresentation(last);
98p*l2 = l6
99p*l3 = x*l6 + 3*l7
100[l2,l1] = l6
101[l3,l1] = l7
102[l4,l2] = l7
103[l4,l3] = w*l6
104gap> SpecialisePrimeOfLiePRing(L, 29);
105<LiePRing of dimension 7 over prime 29 with parameters [ y, x ]>
106gap> ViewPCPresentation(last);
10729*l2 = l6
10829*l3 = x*l6 + y*l7
109[l2,l1] = l6
110[l3,l1] = l7
111[l4,l2] = l7
112[l4,l3] = 2*l6
113gap>  L := LiePRingsByLibrary(6)[14];
114<LiePRing of dimension 6 over prime p with parameters [ x ]>
115gap>  K := SpecialisePrimeOfLiePRing(L, 5);
116<LiePRing of dimension 6 over prime 5 with parameters [ x ]>
117gap> LiePValues(K);
118[ [ p, w ], [ 5, 2 ] ]
119gap> L := LiePRingsByLibrary(6)[100];
120<LiePRing of dimension 6 over prime p>
121gap> l := BasisOfLiePRing(L);
122[ l1, l2, l3, l4, l5, l6 ]
123gap> U := LiePSubring(L, [5*l[1]]);
124WARNING: Dividing by 1/5 in 6.464
125<LiePRing of dimension 3 over prime p>
126gap> BasisOfLiePRing(U);
127[ l1, l4, l6 ]
128gap>
129gap>  K := SpecialisePrimeOfLiePRing(L, 5);
130<LiePRing of dimension 6 over prime 5>
131gap>  b := BasisOfLiePRing(K);
132[ l1, l2, l3, l4, l5, l6 ]
133gap> LiePSubring(K, [5*b[1]]);
134<LiePRing of dimension 2 over prime 5>
135gap>  BasisOfLiePRing(last);
136[ l4, l6 ]
137gap>
138gap> K := SpecialisePrimeOfLiePRing(L, 7);
139<LiePRing of dimension 6 over prime 7>
140gap> b := BasisOfLiePRing(K);
141[ l1, l2, l3, l4, l5, l6 ]
142gap> U := LiePSubring(L, [5*b[1]]);
143<LiePRing of dimension 1 over prime p>
144gap> BasisOfLiePRing(U);
145[ l1 + 2*l4 ]
146gap> LiePIdeal(L, [l[1]]);
147<LiePRing of dimension 5 over prime p>
148gap> BasisOfLiePRing(last);
149[ l1, l3, l4, l5, l6 ]
150gap> LiePIdeal(K, [b[1]]);
151<LiePRing of dimension 5 over prime 7>
152gap> LiePIdeal(K, [b[2]]);
153<LiePRing of dimension 4 over prime 7>
154gap> LiePQuotient(K,last);
155<LiePRing of dimension 2 over prime 7>
156
157#
158gap> STOP_TEST( "", 1);
159