# Discriminant of n-degree polynomial

The discriminants of polynomials $$f(x)=x^n+a_1x^{n-1}+\cdots+a_n, 1\leq n\leq 4$$ are

degree-n discriminant-$$\Delta_n$$
1 1
2 $$a_1^2-4a_2$$
3 $$a_1^2a_2^2-27a_3^2-4a_1^3a_3-4a_2^3+18a_1a_2a_3$$
4 $$a_1^2a_2^2a_3^2-256a_4^3+\cdots$$ (16 items)

Explicit formula for each $$n$$ can be obtained by the symmetric polynomial $$\prod\limits_{i. My question is

Is there a general term for $$\Delta_n$$?

I'm trying to find the pattern of these multinomials, a feasible way (I guess) is to convert them into determinants. For example

• $$\Delta_1=1$$
• $$\Delta_2=\begin{array}{|cc|}a_1^2&4\\a_2&1\end{array}$$.
• $$\Delta_3$$ has 5 items | 3-order determinant has 6 items
• $$\Delta_4$$ has 16 items | 4-order determinant has 24 items

I tried finding the determinant of $$\Delta_3$$ by hand but failed. Since MMA has a lot of useful functions in guessing number pattern such as FindSequenceFunction and FindLinearRecurrence, I wonder:

Is there exists an effective algorithm to convert multinomials in $$\mathbb{Z}[x_1,...,x_n]$$ into determinants of order k with entries in $$\mathbb{Z}[x_1,...,x_n]$$.

Note: Here one might require the determinant to be as "nontrivial" as possible. For instance, each entry of the determinant has the lowest degree.

• The discriminant of a polynomial P is the resultant of the pair P and P' . The resultant can be calculated as a determinant from the formula here: en.wikipedia.org/wiki/Resultant#Definition So it's the determinant of a 2n-1 matrix containing coefficients from P and P' . Eg in the 2 case you get {{1, a_1, a_2 }, {1, 2* a_1 0 }, { 0 , 1 , 2 * a1}} Aug 10 at 17:15
• An in-depth introduction to discriminants and resultants is found in "Algorithms in real algebraic geometry" by Richard M. Pollack and Saugata Basu Aug 10 at 17:25
• Have you see the Discriminantcommand? There is Modulus option. Aug 10 at 17:49
• You can form a matrix to take the determinant using the Sylvester or Bezout formulation. Example: In[414]:= poly[a_, x_, n_] := x^n + Array[a, n, 0] . x^Range[0, n - 1] In[417]:= ResourceFunction["SylvesterMatrix"][poly[a, x, 4], D[poly[a, x, 4], x], x] Out[417]= {{1, a[3], a[2], a[1], a[0], 0, 0}, {0, 1, a[3], a[2], a[1], a[0], 0}, {0, 0, 1, a[3], a[2], a[1], a[0]}, {4, 3 a[3], 2 a[2], a[1], 0, 0, 0}, {0, 4, 3 a[3], 2 a[2], a[1], 0, 0}, {0, 0, 4, 3 a[3], 2 a[2], a[1], 0}, {0, 0, 0, 4, 3 a[3], 2 a[2], a[1]}} Aug 11 at 1:45
• @DanielLichtblau Thanks. This function is great! Aug 11 at 8:38