[GAP Forum] degree <5 univariate polynomials solving

Andreas Distler a.distler at tu-bs.de
Wed Oct 5 14:59:24 BST 2005


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




More information about the Forum mailing list