restart: with(LinearAlgebra): with(group): X := Matrix(3,[ [0,1,0], [0,0,1] , [1,0,0] ]); Y := Matrix(3, [ [ -1, 0 ,0] , [0,-1,0] , [-b5 , -b5 , 1] ]); (1) # Note: here I put sqrt5:=RootOf(z^2-5). # I don't use sqrt(5) because I want to make sure my computation is # independent on the choice of the sign: +sqrt(5) or -sqrt(5) sqrt5:=RootOf(z^2-5); b5:=-1/2+(1/2)*sqrt5; mmult_list:=proc(L::list) local x,y; y:=Matrix( 3, [ [1,0,0], [0,1,0] , [0,0,1] ] ); if nops(L)=1 then RETURN(L[1]); fi: for x in L do y:=MatrixMatrixMultiply(y,x); od; y:=simplify( y , 'symbolic' ); RETURN(y); end: IsMatrixIn:=proc(M::Matrix,L::list) local l; for l in L do: if Equal( l , M ) then: RETURN( 1 ); end if: end do: Print("NOT IN"); RETURN(0); end: (2) (2) GG:=[ mmult_list([ X^3 ]) ]; (3) #... below I generates all the elements of the group A5 for i from 1 to 12 do i; GV:=[op(GG)]: nops(GG): for j from 1 to nops(GG) do; g:=GG[j]; u:=mmult_list( [g,X] ); v:=mmult_list( [g,Y] ); #Print(u,v); if (IsMatrixIn( u , GV) = 0 ) then GV:=[op(GV) , u ]: end if: if (IsMatrixIn( v , GV) = 0 ) then; GV:=[op(GV) , v ]: end if: end do; GG:=[op(GV)]: "-----"; end do: nops(GG); 60 (4) # We consider a point V such that G_V=<Y> V:=Vector( 3 , [a*(-1+sqrt5), a-a*sqrt5+4 , -1+sqrt5] ); (5) # note: the following expressions must be <>0: # a-1, a+1, a-sqrt5, a-2-sqrt5, a-1/2*(1+sqrt5). #Get the orbit of V for i from 1 to 60 do: P[i]:=(MatrixVectorMultiply( GG[i] , V end do: )): # I double check that I get an orbit of size 30 Couples:={}: for i from 1 to 59 do; for j from (i+1) to 60 do; l:=Matrix( [P[i] , P[j] , Vector([0,0,0])] ); diffr:= Vector(3, [ Minor(l, 1, 3), Minor(l, 2, 3), Minor(l, 3, 3) ]) ; diffr := simplify( diffr, 'symbolic' ); if ( (diffr[1]) = 0) and ( (diffr[2]) = 0) and (diffr[3]= 0) then; Couples:=Couples union { {i,j} }; end if: end do; end do; 30 (6) Couples; (7) sysres := {}: for i to 28 do: for j from i+1 to 29 do: for k from j+1 to 30 do: m := Matrix(3, [PP[i], PP[j], PP[k]]); dd := simplify( Determinant(m) , 'symbolic'); sysres := `union`(sysres, {dd }); end do: end do: end do: nops(sysres); 156 (8) # I am considering only the irreducible factors (9) "----" 0 0 "----" 0 0 "----" 0 0 "----" 8 0 0 "----" 16 0 0 "----" 24 0 0 "----" a 1 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 0 1 "----" 1 2 "----" 1 3 "----" 1 4 "----" 1 5 "----" 0 5 "----" 0 5 "----" 0 5 "----" 0 5 "----" 0 5 "----" 1 6 "----" 1 7 "----" 1 8 "----" 1 9 "----" 1 10 "----" 1 11 "----" 2 13 "----" 2 15 "----" 2 17 "----" 2 19 "----" 2 21 "----" 2 23 "----" 2 25 "----" 2 27 "----" 2 29 "----" 2 31 "----" 2 33 "----" 2 35 "----" 2 37 "----" 2 39 "----" 2 41 "----" 2 43 "----" 2 45 "----" 2 47 "----" 2 49 "----" 3 52 "----" 3 55 "----" 3 58 "----" 3 61 "----" 3 64 "----" 3 67 "----" (10) 67 (11) a 11 (12) 19 (13) 6 (14)
© Copyright 2025 Paperzz