Finding the discriminant and roots of a polynomial

If $x_1, \ldots, x_n$ are the roots of a polynomial $f$, i.e. $f(x)=(x-x_1)\cdots (x-x_n)$, then the discriminant of $f$ is defined as $\Delta=\prod_{1\le i<j\le n}(x_i-x_j)$. Then $\Delta^2$ is an expression that is symmetric in the $x_i$, hence can be expressed using the elementary symmetric polynomials, which are the coefficients of $f$. While $\Delta$ tells us something about the behavipur of the roots (especially, $\Delta=0$ iff there are multiple roots), it is not the end of the story for higher polynomial degrees. As has been hinted in the comment by abiessu, Galois theory shows that no general method using radicals exists to solve degrees five and above.


If a polynomial is given numerically, (coefficients $a_0..a_n$ are given), the resultant method can be used to get at a numerical value of the discriminant. The coefficients of the polynomial and its derivative are put in a (n+2)- squared Sylvester matrix. Then the determinant is the discriminant wanted. Where writing out the discriminant of a matrix containing symbols is prohibitive, the discriminant can be calculated swiftly numerically using existing matrix packages in $O(N^3)$ time.

It is very nicely explained in

http://www2.math.uu.se/~svante/papers/sjN5.pdf

This is example 4.7

If $f(x) = ax^4 + bx^3 + cx^2 + dx + e$, then Theorem 3.3 yields

\begin{align} \begin{array}{| ccccccc |} & a & b & c & d & e & 0 & 0 &\\ & 0 & a & b & c & d & e & 0 \\ & 0 & 0 & a & b & c & d & e \\ & 4a& 3b& 2c& d & 0 & 0 & 0 \\ & 0 & 4a& 3b& 2c& d& 0 & 0 \\ & 0 & 0 & 4a& 3b& 2c& d & 0 \\ & 0 & 0 & 0 & 4a& 3b& 2c& d \\ \end{array} \end{align}

= $b^2c^2d^2 - 4b^2c^3 e - 4b^3d^3 + 18b^3cde - 27b^4e^2 - 4ac^3d^2 + 16ac^4e + 18abcd^3 - 80abc^2de - 6ab^2d^2e + 144ab^2ce^2 - 27a^2d^4 + 144a^2cd^2e - 128a^2c^2e^2 - 192a^2bde^2 + 256a^3e^3$