Zulip Chat Archive

Stream: Is there code for X?

Topic: Vieta's formulas of polynomials


Jiang Jiedong (Jun 24 2024 at 14:10):

Are Vieta's formulas in mathlib?

What I really need is the following application: Let ff be the minimal polynomial of xx over KK, then the constant term a0a_0 of ff is

(1)nσGal(K(f)/K)σ(x)(-1)^n * \prod_{\sigma \in \text{Gal}(K(f)/K) } \sigma (x)

It basically boils down to two theorems,

  1. Vieta's formula. a0=α is a root of fαa_0 = \prod_{\alpha \text{ is a root of } f } \alpha. For this, I find Polynomial.C_leadingCoeff_mul_prod_multiset_X_sub_C but it seems a little bit overkilling. Is there a more direct theorem?
  2. roots are acted by the Galois group transitively and faithfully, i.e. {root of f}={σ(x)σGal(K(f)/K)} \{ \text{root of } f \} = \{ \sigma(x) | \sigma \in \text{Gal}(K(f)/K) \} . For this, I didn't find a suitable theorem in mathlib.

Thank you for any possible suggestions!

Riccardo Brasca (Jun 24 2024 at 14:20):

I am not in front of a laptop, but that result is more or less in mathlib. If I remember correctly there is something very similar stated using the norm.

Riccardo Brasca (Jun 24 2024 at 14:21):

I would have a look in the file about Algebra.norm.

Jiang Jiedong (Jun 24 2024 at 14:26):

Riccardo Brasca said:

I would have a look in the file about Algebra.norm.

Thank you very much! I found Algebra.norm_eq_prod_automorphisms and Algebra.PowerBasis.norm_gen_eq_coeff_zero_minpoly

Jiang Jiedong (Jun 24 2024 at 14:27):

I'll look into this PowerBasis more to figure out how to use the second theorem.

Junyan Xu (Jun 24 2024 at 14:37):

There are docs#AdjoinRoot.powerBasis, docs#IntermediateField.adjoinRootEquivAdjoin


Last updated: May 02 2025 at 03:31 UTC