Examples

Example GrpMatInf_IsFiniteMatrixGroupFQ (H67E1)

> Q := Rationals ();
> F<t>:= RationalFunctionField (Q);
> M:= MatrixAlgebra (F, 3);
> a:= M![-1, 2*t^2, -2*t^4 - 2*t^3 - 2*t^2, 0, 1, 0, 0, 0, 1];
> b:= M![1, 0, 0, 1/t^2, -1, (2*t^3 - 1)/(t - 1), 0, 0, 1];
> c:= M![t, -t^3 + t^2, t^5 - t^2 - t, t^2, -t^4, (t^8 - t^5 + 1)/
> (t^2 - t), (t - 1)/t, -t^2 + t, t^4 - t];
> G:= sub<GL(3,F)|a,b,c>;
> IsFinite(G);
true
> flag, H := IsomorphicCopy(G);
> H;
MatrixGroup(3, GF(3))
Generators:
    [2 2 1]
    [0 1 0]
    [0 0 1]
    [1 0 0]
    [1 2 0]
    [0 0 1]
    [2 2 2]
    [1 2 0]
    [2 1 2]
> #H;
48

Example GrpMatInf_IsFiniteMatrixGroupFF (H67E2)

> F<t>:= RationalFunctionField (GF(5));
> M:= MatrixAlgebra (F, 6);
> a:= M![2, 2*t^2, 4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
> 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1];
> b:= M![(4*t + 4)/t, 4*t, (t + 1)/t, 0, t, t^2 + t, 0, 4, 0, 0, 0,
> 1/t, 4/t, t^2 + 4*t, 1/t, 0, 0, 0, 0, 4*t, 0, 0, 0, 0, 0, 0, 4, 4,
> 0, 0, 0, 0, 0, 4, 0, 0];
> G:= sub<GL(6,F)|a,b>;
> IsFinite(G);
true
> flag, H := IsomorphicCopy (G);
> flag;
true
> H;
MatrixGroup(6, GF(5)) of order 2^7 * 3 * 5^4 * 31
Generators:
    [2 2 4 1 0 0]
    [0 2 0 0 0 0]
    [0 0 1 1 0 0]
    [0 0 0 1 0 0]
    [0 0 0 0 1 1]
    [0 0 0 0 0 1]
    [3 4 2 0 1 2]
    [0 4 0 0 0 1]
    [4 0 1 0 0 0]
    [0 4 0 0 0 0]
    [0 0 4 4 0 0]
    [0 0 0 4 0 0]
> #H;
7440000

Example GrpMatInf_IsFiniteMatrixGroupFF (H67E3)

>  L<t> := RationalFunctionField (GF (5^2));
>  G := GL (2, L);
>  a := G![t,1,0,-1];
>  b:= G![t/(t + 1), 1, 0, 1/t];
>  H := sub <GL(2, L) | a, b>;
> f :=IsFinite(H);
> f;
false
> IsSolubleByFinite (H);
true
> IsCompletelyReducible (H);
false

Example GrpMatInf_IsFiniteMatrixGroupFF (H67E4)

> G := MatrixGroup<3, IntegerRing() |
>  [ 5608, 711, -711, 6048, 766, -765, 1071, 135, -134 ],
>  [ 1, -2415, 5475, 0, 4471, -10140, 0, 780, -1769 ],
>  [ 5743, -5742, 639, -576, 577, -72, -711, 711, -80 ],
>  [ 526168, -618507, 729315, 621984, -731138, 862125,
>        274455, -322620, 380419      ]  ,
>  [ 648226, -4621455, 9226791, 660687, -4710305, 9404184,
>        85626, -610473, 1218820 ],
>  [ 32581, -39465, 46350, 53100, -64319, 75540, 24210,
>        -29325, 34441 ]>;
> IsFinite (G);
false
> IsSolubleByFinite (G);
false
> IsNilpotentByFinite (G);
false
> time IsCentralByFinite (G);
false
> IsAbelianByFinite (G);
false

Example GrpMatInf_IsFiniteMatrixGroupFF (H67E5)

> Q<z> := QuadraticField(5);
> O<w> := sub< MaximalOrder(Q) | 7 >;
> G := GL(2, Q);
> x := G![1,1+w,0,w];
> y :=  G![-1/2, 2, 2 + w, 5 + w^2];
> H:=sub<G | x, y>;
> IsFinite (H);
false
> IsSolubleByFinite (H);
false

Example GrpMatInf_IsFiniteMatrixGroup (H67E6)

>  R<x> := PolynomialRing(Integers());
>  K<y> := NumberField(x^4-420*x^2+40000);
>  G := GL (2, K);
>  a := G![y,1,0,-1];
>  b:= G![y/(y + 1), 1, 0, 1/y];
>  H := sub <GL(2, K) | a, b>;
> time IsFinite(H);
false

Example GrpMatInf_IsFiniteMatrixGroupF (H67E7)

> /* example over algebraic extension of a function field */
>
> R<u> := FunctionField (Rationals ());
> v := u; w := -2 * v;
> Px<X> := PolynomialRing (R);
> Py<Y> := PolynomialRing (R);
> f :=  Y^2- 3 * u * X * Y^2  + v * X^3;
> facs := Factorisation (f);
> F:=ext <R | facs[2][1]>;
> F;
Algebraic function field defined over Univariate rational function
field over Rational Field by Y - 1/2/u
>
> n := 3;
> G:= GL(n,F);
> Z := 4 * X * Y;
> MA:= MatrixAlgebra(F,n);
> h1:= Id(MA);
> h1[n][n]:= (X^2+Y+Z+1);
> h1[1][n]:= X+1;
> h1[1][n]:= X+1;
> h1[1][1]:=(Z^5-X^2*Z+Z*X*Y);
> h1[2][1]:=1-X*Y*Z;
> h1[2][n]:= X^20+X*Y^15+Y^10+Z^4*Y*X^5+1;
> h2:= Id(MA);
> h2[n][n]:= (X^7+Z^6+1);
> h2[1][n]:= X^2+X+1;
> h2[1][1]:=(Y^3+X^2+X+1);
> h2[1][1]:=(Y^3+X^2+X+1);
> h2[2][1]:=1-X^2;
> h2[2][n]:= X^50+Y^35+X^20+X^13+Y^2+1;
> G := sub< GL(n, F) | h1, h2>;
> G;
MatrixGroup(3, F)
Generators:
    [1/u^10 0 (u + 1/2)/u]
    [(u^4 - 1/4)/u^4 1 (u^20 + 1/1024*u^10 + 1/64*u^6 + 1/65536*u^4 +
        1/1048576)/u^20]
    [0 0 (u^2 + 1/2*u + 5/4)/u^2]
    [(u^3 + 1/2*u^2 + 1/4*u + 1/8)/u^3 0 (u^2 + 1/2*u + 1/4)/u^2]
    [(u^2 - 1/4)/u^2 1 (u^50 + 1/4*u^48 + 1/8192*u^37 + 1/1048576*u^30 +
        1/34359738368*u^15 + 1/1125899906842624)/u^50]
    [0 0 (u^12 + 1/128*u^5 + 1)/u^12]
> time IsFinite(G);
false
Time: 0.010
> time IsSolubleByFinite (G);
true

Example GrpMatInf_IsFiniteMatrixGroupF (H67E8)

> F := GF(2);
> P := PolynomialRing (F);
> P<t> := PolynomialRing (F);
> F := ext < F | t^2+t+1>;
> G := GL (2, FunctionField (F));
> a := G![1,1/t, 0, 1];
> b := [1,1/(t + 1), 0, 1];
> c := [1,1/(t^2 + t + 1), 0, 1];
> d := [1,1/(t^2 + t), 0, 1];
> G := sub < G | a,b,c,d>;
> time IsFinite (G);
true
> f, I, tau := IsomorphicCopy (G);
> f;
true

Example GrpMatInf_IsFiniteMatrixGroupF (H67E9)

> G := MatrixGroup<10, K | [
>     Matrix(SparseMatrix(K, 10, 10, [
>     <1, 3, -1>, <2, 1, 1>, <2, 2, 1>, <2, 3, 1>, <2, 4, 1>, <2, 5, 1>,
>     <3, 4, -1>, <4, 5, -1>, <5, 2, -1>, <6, 8, -1>, <7, 6, 1>,
>     <7, 7, 1>, <7, 8, 1>,
>     <7, 9, 1>, <7, 10, 1>, <8, 9, -1>, <9, 10, -1>, <10, 7, -1>])),
>     Matrix(SparseMatrix(K, 10, 10, [
>     <1, 2, 1>, <2, 3, 1>, <3, 1, -1>, <3, 2, -1>, <3, 3, -1>, <3, 4, -1>,
>     <3, 5, -1>, <4, 4, 1>, <5, 1, 1>, <6, 7, 1>, <7, 8, 1>, <8, 6, -1>,
>     <8, 7, -1>, <8,8, -1>, <8, 9, -1>, <8, 10, -1>, <9, 9, 1>, <10, 6, 1>])),
>     ScalarMatrix(K, 10, -1),
>     Matrix(SparseMatrix(K, 10, 10, [
>     <1, 6, 1>, <2, 7, 1>, <3, 8, 1>, <4, 9, 1>, <5, 10, 1>, <6, 1, w + 3>,
>     <7, 2, w + 3>, <8, 3, w + 3>, <9, 4, w + 3>, <10, 5, w + 3>])),
>     Matrix(SparseMatrix(K, 10, 10, [
>     <1, 6, 1>, <2, 7, 1>, <3, 8, 1>, <4, 9, 1>, <5, 10, 1>,
>     <6, 1, 1/5*(5*w - 7)>, <7, 2, 1/5*(5*w - 7)>, <8, 3, 1/5*(5*w - 7)>,
>     <9, 4, 1/5*(5*w - 7)>, <10, 5, 1/5*(5*w - 7)>]))
> ]> where w := K.1 where K := ext<K|Polynomial(K, [1, 0, 1])> where K is
> RationalField();
>
> IsIrreducible (GModule (G));
true
> IsSolubleByFinite (G);
true
>
> flag := HasFiniteRank (G);
> "G has finite rank?", flag;
G has finite rank? true
>
> h := HirschNumber(G);
> "Hirsch number of G is ", h;
Hirsch number of G is  3
>
> H := sub<G | G.2 * G.1 * G.2, G.3 * G.4, G.5>;
> HasFiniteIndex (G, H);
true

Example GrpMatInf_IsFiniteMatrixGroupF (H67E10)

> G := MatrixGroup<8, RationalField() |
>     Matrix(RationalField(), 8, 8, [ -402, -128, 32, 24, -452, 798, -293,
>     349, 3, 37, 20, -9, 5, -11, 29, 7, -67, 56, 5, -15, -105, 133, 21,
>     65, -114, 660, 80, -164, -325, 208, 528, 199, -2, 220, 0, -55, -90,
>     4, 199, 18,-213, 236, 16, -63, -359, 423, 121, 209, -36, 260, 0,
>     -65, -144, 72, 221, 57, 3, -228, 0, 57, 94, -6, -206, -20 ]),
>     Matrix(RationalField(), 8, 8, [ -446, 1144, -64, -288, -1114, 910,
>     833, 407, -9, 37, -4, -9, -31, 19, 29, 7, -125, 155, -7, -39, -223,
>     252, 77, 113, -510, 428, -16, -106, -779, 1024, 104, 457, -108, 28,
>     0, -7, -134, 216, -35, 96, -407, 608, -32, -153, -781, 823, 347, 367,
>     -190, 92, 0, -23,  -254, 380, -23, 171, 159, 12, 0, -3, 176, -318,
>     98, -140 ]) >;
>
> IsSolubleByFinite (G: NeedChangeOfBasis := true);
true
> IsCompletelyReducible (G);
false
> I, CB := CompletelyReduciblePart (G);
> "Completely reducible part ", I;
Completely reducible part
MatrixGroup(8, Rational Field)
Generators:
    [    24   -600    266   -535    -69      0      0      0]
    [  63/2   -128  345/4   -103 -171/4      0      0      0]
    [    -2    220    -90    199     18      0      0      0]
    [   -36    260   -144    221     57      0      0      0]
    [     3   -228     94   -206    -20      0      0      0]
    [     0      0      0      0      0      1      0      0]
    [     0      0      0      0      0      0      1      0]
    [     0      0      0      0      0      0      0      1]
    [   368    -72    448    139   -327      0      0      0]
    [ 237/2    -70  655/4      3 -429/4      0      0      0]
    [  -108     28   -134    -35     96      0      0      0]
    [  -190     92   -254    -23    171      0      0      0]
    [   159     12    176     98   -140      0      0      0]
    [     0      0      0      0      0      1      0      0]
    [     0      0      0      0      0      0      1      0]
    [     0      0      0      0      0      0      0      1]
> "Change-of-basis matrix is ", CB;
Change-of-basis matrix is
[   1    0    0    0    0   -2    0    0]
[   0    1    0 -1/4    0    0    0    0]
[   0    0    0    0    1    0    0    0]
[   0    0    0    0    0    0    1    0]
[   0    0    0    0    0    0    0    1]
[   0    0    1    0    0 -1/4    0    0]
[   0    0    0    1    0    0    0    0]
[   0    0    0    0    0    1    0    0]
>
Total time: 0.790 seconds, Total memory usage: 32.09MB

Example GrpMatInf_IsNilpotentMatrixGroupF (H67E11)

> // irreducible but (evidently) imprimitive
> K<w> := QuadraticField (2);
> G := MatrixGroup< 8, K |
>     [1/2*w,1/2*w,0,0,0,0,0,0,-1/2*w,1/2*w,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
>      0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,
>      0,0,0,1],
>     [1,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
>      0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1],
>     [0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,
>     0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0] >;
> G;
MatrixGroup(8, K)
Generators:
    [ 1/2*w  1/2*w        0        0        0        0        0        0]
    [-1/2*w  1/2*w        0        0        0        0        0        0]
    [       0        0        1        0        0        0        0        0]
    [       0        0        0        1        0        0        0        0]
    [       0        0        0        0        1        0        0        0]
    [       0        0        0        0        0        1        0        0]
    [       0        0        0        0        0        0        1        0]
    [       0        0        0        0        0        0        0        1]
    [ 1  0  0  0  0  0  0  0]
    [ 0 -1  0  0  0  0  0  0]
    [ 0  0  1  0  0  0  0  0]
    [ 0  0  0  1  0  0  0  0]
    [ 0  0  0  0  1  0  0  0]
    [ 0  0  0  0  0  1  0  0]
    [ 0  0  0  0  0  0  1  0]
    [ 0  0  0  0  0  0  0  1]
    [0 0 1 0 0 0 0 0]
    [0 0 0 1 0 0 0 0]
    [0 0 0 0 1 0 0 0]
    [0 0 0 0 0 1 0 0]
    [0 0 0 0 0 0 1 0]
    [0 0 0 0 0 0 0 1]
    [1 0 0 0 0 0 0 0]
    [0 1 0 0 0 0 0 0]
> IsIrreducibleFiniteNilpotent(G);
true
> r, B := IsPrimitiveFiniteNilpotent(G);
> r;
false
> #B;
2

Example GrpMatInf_IsNilpotentMatrixGroupF (H67E12)

> G := MatrixGroup<8, RationalField() |
>     Matrix(RationalField(),8,8,[2008, -20376, 10986, -17499, -2961, 0, 0, 0,
>     2205/2, -4964, 13545/4, -3990, -5355/4, 0, 0, 0, -546, 7212, -3698, 6267,
>     882, 0, 0, 0, -1512, 9348, -5724, 7765, 1953, 0, 0, 0, 651, -7812, 4074,
>     -6762, -1016, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
>     0, 0, 0, 0, 0, 0, 0, 1 ]),
>     Matrix(RationalField(), 8, 8, [ -6371, -304884, 123147, -274455, -2268, 0,
>     0,0,-6741, -91988, 31500, -341397/4, 3591, 0, 0, 0, 1764, 103896, -42443,
>     93312, 1134, 0, 0, 0, 8442, 157356, -57510, 144370, -3402, 0, 0, 0, -378,
>     -112644, 47817, -100359, -2591, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
>      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 ]),
>     Matrix(RationalField(), 8, 8, [ 68095, -10044, 95553, 20763, -58968, 0, 0,
>     0,49203/2,622, 64575/2, 45423/4, -42903/2, 0, 0, 0, -22176, 1080, -29969,
>     -8748, 19278, 0, 0, 0, -39060, 108, -51840, -17036, 34020, 0, 0, 0, 24192,
>     -9828, 37233, 1701, -20735, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
>     0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 ]),
>     Matrix(RationalField(), 8, 8, [ -8810, -109512, 45447, -103143, 11133, 0,
>     0, 0, -5685/2, -35609, 14820, -134115/4, 14445/4, 0, 0, 0, 2748, 33924,
>     -14042, 31959, -3456, 0, 0, 0, 4626, 57696, -23973, 54334, -5859, 0,
>     0, 0, -3543,  -44244, 18393, -41664, 4492, 0, 0, 0, 0, 0, 0, 0, 0, 1,
>     0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 ]) >;
>
> IsAbelian (G);
true
> IsCompletelyReducible (G);
true
>
> I, phi, tau := RecogniseAbelian (G);
> I;
GrpGPC : I of infinite order on 3 PC-generators
PC-Relations:
> phi;
Mapping from: GL(8, RationalField()) to GrpGPC: I given by a rule [no inverse]
> tau;
Mapping from: GrpGPC: I to GrpMat: G given by a rule [no inverse]
> images := [phi (G.i): i in [1..Ngens (G)]];
> "images of matrix generators are ", images;
images of matrix generators are  [ I.3, I.1, I.1^-1, I.2 ]
>
> "Preimage of I.1 is ", tau (I.1);
Preimage of I.1 is
[-6371 -304884 123147 -274455 -2268 0 0 0]
[-6741 -91988 31500 -341397/4 3591 0 0 0]
[1764 103896 -42443 93312 1134 0 0 0]
[8442 157356 -57510 144370 -3402 0 0 0]
[-378 -112644 47817 -100359 -2591 0 0 0]
[0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 1]

Example GrpMatInf_IsNilpotentMatrixGroupF (H67E13)

> M:= MatrixAlgebra (GF(17), 4);
> a:= M![5, 5, 3, 3, 0, 5, 0, 3, 16, 16, 14, 14, 0, 16, 0, 14];
> b:= M![9, 9, 0, 0, 0, 9, 0, 0, 10, 10, 8, 8, 0, 10, 0, 8];
> G:= sub<GL(4,17)|a,b>;
> IsNilpotent(G);
true
> SylowSystem (G);
[
    MatrixGroup(4, GF(17))
    Generators:
        [ 5  0  3  0]
        [ 0  5  0  3]
        [16  0 14  0]
        [ 0 16  0 14]
        [ 9  0  0  0]
        [ 0  9  0  0]
        [10  0  8  0]
        [ 0 10  0  8],
    MatrixGroup(4, GF(17))
    Generators:
        [ 1  1  0  0]
        [ 0  1  0  0]
        [ 0  0  1  1]
        [ 0  0  0  1]
]
> Order(G);
8704

Example GrpMatInf_IsNilpotentMatrixGroupF (H67E14)

> R<s>:= QuadraticField(-1);
> F<t>:= FunctionField(R);
> M:= MatrixAlgebra (F, 2);
> a:= M![-s*t^2 + 1, s*t^3, -s*t, s*t^2 + 1];
> b:= M![t^2 - 3*t + 1, 0, 0, t^2 - 3*t + 1];
> G:= sub<GL(2,F)|a,b>;
> IsNilpotent(G);
true
> IsFinite(G);
false
V2.28, 13 July 2023