Documentation

Mathlib.RingTheory.Polynomial.Resultant.Basic

Resultant of two polynomials #

This file contains basic facts about resultant of two polynomials over commutative rings.

Main definitions #

TODO #

def Polynomial.sylvester {R : Type u} [Semiring R] (f g : Polynomial R) (m n : ) :
Matrix (Fin (n + m)) (Fin (n + m)) R

The Sylvester matrix of two polynomials f and g of degrees m and n respectively is a (n+m) × (n+m) matrix with the coefficients of f and g arranged in a specific way. Here, m and n are free variables, not necessarily equal to the actual degrees of the polynomials f and g.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Polynomial.sylvester_C_right {R : Type u} [Semiring R] (f : Polynomial R) (m : ) (a : R) :
    f.sylvester (C a) m 0 = Matrix.diagonal fun (x : Fin (0 + m)) => a
    def Polynomial.resultant {R : Type u} [CommRing R] (f g : Polynomial R) (m : := f.natDegree) (n : := g.natDegree) :
    R

    The resultant of two polynomials f and g is the determinant of the Sylvester matrix of f and g. The size arguments m and n are implemented as optParam, meaning that the default values are f.natDegree and g.natDegree respectively, but they can also be specified to be other values.

    Equations
    Instances For
      @[simp]
      theorem Polynomial.resultant_C_zero_right {R : Type u} [CommRing R] (f : Polynomial R) (m : ) (a : R) :
      f.resultant (C a) m 0 = a ^ m

      For polynomial f and constant a, Res(f, a) = a ^ m.

      theorem Polynomial.resultant_C_right {R : Type u} [CommRing R] (f : Polynomial R) (m : ) (a : R) :
      f.resultant (C a) m = a ^ m

      For polynomial f and constant a, Res(f, a) = a ^ m.