I don't know if this group is finite. Someone can help me?

S = diag(1,1,-1,-1) A = [0, 0, cos(s), -sin(s)] [-sin(t), cos(t), 0, 0] [cos(t), sin(t), 0, 0] [0, 0, sin(s), cos(s)]

with

cos(t) := 1/4 + 1/4 sqrt(5)

sin(t) := 1/4 sqrt(2) sqrt(5 - sqrt(5))

cos(s):= 3/4 - 1/4 sqrt(5)

sin(s):= 1/4 sqrt(2 + 6 sqrt(5))

numbers failed. It turned out

that sin(s) has the minimal polynomial

x^4 - 1/4*x^2 - 11/16

and its Galois group is a dihedral group of order 8. Hence the extension

field Q(sin(s)) is not abelian and cannot be embedded into a cyclotomic

field. So the idea does not work in this case and we have to apply a

different approach to find a description of the algebraic field that

contains the given irrationalities, suitable for the intended computations.

If we set

a := sin(s)

and b := sin(t)

it follows immediately from the above definitions that

cos(s) = 3/4 - 1/24*((4*a)^2 - 2)

and cos(t) = 1/4 + 1/24*((4*a)^2 - 2).

Hence we can do the computations in Q(a,b). From the theorem on the

existence of a primitive element we know that there is a q in Q such

that Q(c) = Q(a,b) for c = a + q*b. We simply try the easiest case

and check if q = 1 will do, i. e. if there is a solution for

a = q_0*c^0 + q_1*c^1 + ... + q_7*c^7 with c = a+b.

As GAP cannot handle numbers like a = 1/4 sqrt(2 + 6 sqrt(5)) we use

Maple for this purpose and in fact get a solution

a = 21/8*c - c^3 + c^5 - 3/8*c^7.

Similarly, starting with the approach

c^8 = q_0*c^0 + q_1*c^1 + ... + q_7*c^7,

we compute the minimal polynomial p of c to

p = x^8 - 3*x^6 + 4*x^4 - 7*x^2 + 1.

We perform the subsequent

computations in the matrix field generated by the companion matrix m of p

which is isomorphic to Q(c). This leads to the following GAP job.

gap> # Verify that p is irreducible. gap> x := Indeterminate( Rationals );; gap> p := x^8 - 3*x^6 + 4*x^4 - 7*x^2 + 1;; gap> Factors( p ); [ 1-7*x_1^2+4*x_1^4-3*x_1^6+x_1^8 ] gap> gap> # Get the isomorphic matrices for the given sinus and cosinus values. gap> e := IdentityMat( 8 );; gap> m := CompanionMat( p ); [ [ 0, 0, 0, 0, 0, 0, 0, -1 ], [ 1, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0, 0, 7 ], [ 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0, 0, -4 ], [ 0, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 3 ], [ 0, 0, 0, 0, 0, 0, 1, 0 ] ] gap> sins := 21/8*m - m^3 + m^5 - 3/8*m^7; [ [ 0, 3/8, 0, 1/8, 0, -1/8, 0, -7/8 ], [ 21/8, 0, 3/8, 0, 1/8, 0, -1/8, 0 ], [ 0, 0, 0, -1/2, 0, 1, 0, 6 ], [ -1, 0, 0, 0, -1/2, 0, 1, 0 ], [ 0, 1/2, 0, 1/2, 0, -1, 0, -5/2 ], [ 1, 0, 1/2, 0, 1/2, 0, -1, 0 ], [ 0, -1/8, 0, 1/8, 0, 7/8, 0, 13/8 ], [ -3/8, 0, -1/8, 0, 1/8, 0, 7/8, 0 ] ] gap> sint := m - sins; [ [ 0, -3/8, 0, -1/8, 0, 1/8, 0, -1/8 ], [ -13/8, 0, -3/8, 0, -1/8, 0, 1/8, 0 ], [ 0, 1, 0, 1/2, 0, -1, 0, 1 ], [ 1, 0, 1, 0, 1/2, 0, -1, 0 ], [ 0, -1/2, 0, 1/2, 0, 1, 0, -3/2 ], [ -1, 0, -1/2, 0, 1/2, 0, 1, 0 ], [ 0, 1/8, 0, -1/8, 0, 1/8, 0, 11/8 ], [ 3/8, 0, 1/8, 0, -1/8, 0, 1/8, 0 ] ] gap> coss := 3/4*e - 1/24*( (4*sins)^2 - 2*e ); [ [ 1/8, 0, -1/8, 0, 1/8, 0, 3/8, 0 ], [ 0, 1/8, 0, -1/8, 0, 1/8, 0, 3/8 ], [ 1/2, 0, 1, 0, -1, 0, -5/2, 0 ], [ 0, 1/2, 0, 1, 0, -1, 0, -5/2 ], [ -1/2, 0, 0, 0, 3/2, 0, 1/2, 0 ], [ 0, -1/2, 0, 0, 0, 3/2, 0, 1/2 ], [ 1/8, 0, -1/8, 0, -3/8, 0, 3/8, 0 ], [ 0, 1/8, 0, -1/8, 0, -3/8, 0, 3/8 ] ] gap> cost := 1/4*e + 1/24*( (4*sins)^2 - 2*e ); [ [ 7/8, 0, 1/8, 0, -1/8, 0, -3/8, 0 ], [ 0, 7/8, 0, 1/8, 0, -1/8, 0, -3/8 ], [ -1/2, 0, 0, 0, 1, 0, 5/2, 0 ], [ 0, -1/2, 0, 0, 0, 1, 0, 5/2 ], [ 1/2, 0, 0, 0, -1/2, 0, -1/2, 0 ], [ 0, 1/2, 0, 0, 0, -1/2, 0, -1/2 ], [ -1/8, 0, 1/8, 0, 3/8, 0, 5/8, 0 ], [ 0, -1/8, 0, 1/8, 0, 3/8, 0, 5/8 ] ] gap> gap> # Get the two generators of G. gap> S := IdentityMat( 32 );; gap> for i in [ 17 .. 32 ] do S[i][i] := -1; od; gap> A := MatrixByBlockMatrix( BlockMatrix( > [ [1,3,coss], [1,4,-sins], > [2,1,-sint], [2,2,cost], > [3,1,cost], [3,2,sint], > [4,3,sins], [4,4,coss] ], 4,4 ) );; gap> gap> # Compute the orders of the groups <S>, <A>, and G = <A,S>. gap> Size( Group( S ) ); 2 gap> Size( Group( A ) ); 6 gap> G := Group( A, S ); <matrix group with 2 generators> gap> Size( G ); infinity