1

This semester I am doing my Bachelor project which is about "computing the degree of the splitting field of a polynomial $f(x) \in \mathbb{Q}[x]$".

I have successively written a program which computes such a degree for any polynomial but there is always a chance of failing since I proceed as follows:

  • Calculate $f(x)$'s roots $\alpha_1 , ..., \alpha_n$
  • Pick random coefficients $\beta_1, ..., \beta_n \in \{1,...,N\}$ and define $\alpha = \beta_1\alpha_1 + ... + \beta_n\alpha_n$
  • Using the proof of the primitive element theorem we know that as $N\to\infty$ the probability of $\alpha$ being a primitive element of the splitting field goes to $1$.
  • Compute the minimal polynomial of the chosen primitive element and we are done.

Here is my question :

Suppose my algorithm outputs a potential degree of the splitting field of $f(x)$, how can I verify with certainty that this degree is correct? That is without using any of my previous work but just in general.

Thanks!

PS: I in fact calculate approximations of $f(x)$'s roots and use the LLL-algorithm to compute minimal polynomials but this isn't relevant here.

  • I believe this to be a "computationally hard" problem. As far as I know, the best you can do is that the degree of the splitting field divides $n!$, where $n$ is the degree of $f(x)$. See here – wormram Apr 19 '20 at 20:02
  • This is helpful, thank you ! – AnthoEPFL Apr 19 '20 at 23:16
  • The proof of the primitive element theorem is effective, so you can determine which values of $\beta_i$ won't give you a primitive element, and then just make some other choice of parameters. –  Apr 20 '20 at 02:59

0 Answers0