Documentation

Mathlib.RingTheory.Polynomial.Wronskian

Wronskian of a pair of polynomial #

This file defines Wronskian of a pair of polynomials, which is W(a, b) = ab' - a'b. We also prove basic properties of it.

Main declarations #

TODO #

def Polynomial.wronskian {R : Type u_1} [CommRing R] (a b : Polynomial R) :

Wronskian of a pair of polynomials, W(a, b) = ab' - a'b.

Equations
  • a.wronskian b = a * Polynomial.derivative b - Polynomial.derivative a * b
Instances For

    Polynomial.wronskian as a bilinear map.

    Equations
    Instances For
      @[simp]
      theorem Polynomial.wronskianBilin_apply {R : Type u_1} [CommRing R] (a b : Polynomial R) :
      ((Polynomial.wronskianBilin R) a) b = a.wronskian b
      @[simp]
      theorem Polynomial.wronskian_zero_right {R : Type u_1} [CommRing R] (a : Polynomial R) :
      a.wronskian 0 = 0
      theorem Polynomial.wronskian_neg_left {R : Type u_1} [CommRing R] (a b : Polynomial R) :
      (-a).wronskian b = -a.wronskian b
      theorem Polynomial.wronskian_neg_right {R : Type u_1} [CommRing R] (a b : Polynomial R) :
      a.wronskian (-b) = -a.wronskian b
      theorem Polynomial.wronskian_add_right {R : Type u_1} [CommRing R] (a b c : Polynomial R) :
      a.wronskian (b + c) = a.wronskian b + a.wronskian c
      theorem Polynomial.wronskian_add_left {R : Type u_1} [CommRing R] (a b c : Polynomial R) :
      (a + b).wronskian c = a.wronskian c + b.wronskian c
      theorem Polynomial.wronskian_self_eq_zero {R : Type u_1} [CommRing R] (a : Polynomial R) :
      a.wronskian a = 0
      theorem Polynomial.wronskian_neg_eq {R : Type u_1} [CommRing R] (a b : Polynomial R) :
      -a.wronskian b = b.wronskian a
      theorem Polynomial.wronskian_eq_of_sum_zero {R : Type u_1} [CommRing R] {a b c : Polynomial R} (hAdd : a + b + c = 0) :
      a.wronskian b = b.wronskian c
      theorem Polynomial.degree_wronskian_lt_add {R : Type u_1} [CommRing R] {a b : Polynomial R} (ha : a 0) (hb : b 0) :
      (a.wronskian b).degree < a.degree + b.degree

      Degree of W(a,b) is strictly less than the sum of degrees of a and b (both nonzero).

      theorem Polynomial.natDegree_wronskian_lt_add {R : Type u_1} [CommRing R] {a b : Polynomial R} (hw : a.wronskian b 0) :
      (a.wronskian b).natDegree < a.natDegree + b.natDegree

      natDegree version of the above theorem. Note this would be false with just (ha : a ≠ 0) (hb : b ≠ 0), as when a = b = 1we have(wronskian a b).natDegree = a.natDegree = b.natDegree = 0`.

      theorem IsCoprime.wronskian_eq_zero_iff {R : Type u_1} [CommRing R] [NoZeroDivisors R] {a b : Polynomial R} (hc : IsCoprime a b) :
      a.wronskian b = 0 Polynomial.derivative a = 0 Polynomial.derivative b = 0

      For coprime polynomials a and b, their Wronskian is zero if and only if their derivatives are zeros.

      @[deprecated IsCoprime.wronskian_eq_zero_iff]
      theorem Polynomial.IsCoprime.wronskian_eq_zero_iff {R : Type u_1} [CommRing R] [NoZeroDivisors R] {a b : Polynomial R} (hc : IsCoprime a b) :
      a.wronskian b = 0 Polynomial.derivative a = 0 Polynomial.derivative b = 0

      Alias of IsCoprime.wronskian_eq_zero_iff.


      For coprime polynomials a and b, their Wronskian is zero if and only if their derivatives are zeros.