Dear Dmitrii and GAP Forum, > I need to diagonalize medium-size (say, 30x30, with 0-1 entries) > symmetric integer matrices > that have at most cubic Z[x]-factors in their minimal polynomials. > > I found out about radiroot package, but I cannot find a way to use > it to use the roots of solvable polynomials it can find in my > computation (so that I can call, say, Eigenvectors() with the > right field). > Am I missing something?
The main functionality of RadiRoot is to create an expression by radicals for the roots of a polynomial. This, of course, doesn't help for further computations. If I understand your problem correctly, you want to use the splitting field of the minimal polynomial. You can use the command SplittingField to create it. Let me give an example: gap> mat; [ [ 0, 0, -2 ], [ 1, 0, 0 ], [ 0, 1, 0 ] ] gap> MinimalPolynomial( Rationals, mat ); x_1^3+2 gap> L := SplittingField( last ); <field in characteristic 0> To use the commands Eigenvectors or Eigenvalues you have to embed the entries of the matrix in the splitting field first. The result of gap> Eigenvectors( L, One(L)*mat ); may be what you have been searching for. An idea: Possibly your problem can be examined more efficiently over a finite field, as your matrices have 0-1 entries only. Hope this helps, Andreas _______________________________________________ Forum mailing list [email protected] http://mail.gap-system.org/mailman/listinfo/forum
