Documentation

Mathlib.RingTheory.Polynomial.Content

GCD structures on polynomials #

Definitions and basic results about polynomials over GCD domains, particularly their contents and primitive polynomials.

Main Definitions #

Let p : R[X].

Main Results #

Note #

This has nothing to do with minimal polynomials of primitive elements in finite fields.

A polynomial is primitive when the only constant polynomials dividing it are units. Note: This has nothing to do with minimal polynomials of primitive elements in finite fields.

Equations
    Instances For
      theorem Polynomial.isPrimitive_of_dvd {R : Type u_1} [CommSemiring R] {p q : Polynomial R} (hp : p.IsPrimitive) (hq : q ∣ p) :

      An irreducible nonconstant polynomial over a domain is primitive.

      @[simp]

      In a field, the notion of primitive polynomials is degenerate.

      p.content is the gcd of the coefficients of p.

      Equations
        Instances For
          noncomputable def Polynomial.primPart {R : Type u_1} [CommRing R] [NormalizedGCDMonoid R] (p : Polynomial R) :

          The primitive part of a polynomial p is the primitive polynomial gained by dividing p by p.content. If p = 0, then p.primPart = 1.

          Equations
            Instances For
              theorem Polynomial.aeval_primPart_eq_zero {R : Type u_1} [CommRing R] [NormalizedGCDMonoid R] {S : Type u_2} [Ring S] [IsDomain S] [Algebra R S] [Module.IsTorsionFree R S] {p : Polynomial R} {s : S} (hpzero : p β‰  0) (hp : (aeval s) p = 0) :
              (aeval s) p.primPart = 0
              theorem Polynomial.evalβ‚‚_primPart_eq_zero {R : Type u_1} [CommRing R] [NormalizedGCDMonoid R] {S : Type u_2} [CommSemiring S] [IsDomain S] {f : R β†’+* S} (hinj : Function.Injective ⇑f) {p : Polynomial R} {s : S} (hpzero : p β‰  0) (hp : evalβ‚‚ f s p = 0) :
              @[simp]
              theorem Polynomial.primPart_mul {R : Type u_1} [CommRing R] [NormalizedGCDMonoid R] {p q : Polynomial R} (h0 : p * q β‰  0) :
              @[instance 100]
              Equations