Finding roots of polynomials with rational coefficients

I'm looking for a general approach (or approaches) for finding the roots of polynomials with rational coefficients of higher degrees than $4$. The problem is that I need to find the exact roots and not their approximations. And also I need to find both real and complex roots.

I know that there are no methods which will work for every polynomial, but I need to find at least several methods which will work for $5$ or $6$ degree.

Could anyone please suggest a link or a book where this topic is discussed?


The general quintic was solved in 1858 by Hermite using methods beyond the scope of the Abel-Ruffini theorem. Exact expressions are somewhat ungainly:

See Bring radical and this: http://mathworld.wolfram.com/QuinticEquation.html which includes a general solution of the quintic in terms of the Jacobi theta functions. I am unaware of any algorithmic implementation of the methods described on the latter page.

This question Hermite's solution of the general quintic in terms of theta functions. has links to an exposition of Hermite's method.

The following two questions over at mathoverflow discuss solutions for polynomials of degree $n\geq 5$

*method of finding roots of polynomial equations with arithmetic operations and roots and other functions

*Can Fuchsian functions solve the general equation of degree n?


EDIT: I was poking around and found this preprint: Resolution of degree $≤ 6$ algebraic equations by genus two theta constants which provides a step by step algorithm.


Have you read the pages below?

  • http://en.wikipedia.org/wiki/Cubic_equation
  • http://en.wikipedia.org/wiki/Quartic_function#Solving_a_quartic_equation
  • http://en.wikipedia.org/wiki/Quintic

It'd help if you told us why you need to do that.

The only practical solutions for higher degrees are numerical methods (which can probably be better for degree 3 and 4 as well). Root isolation helps and here Descartes' rule of signs and Sturm's theorem are important.