Documentation

Mathlib.RingTheory.Polynomial.UniversalFactorizationRing

Universal factorization ring #

Let R be a commutative ring and p : R[X] be monic of degree n and let n = m + k. We construct the universal ring of the following functors on R-Alg:

The free monic polynomial of degree n, as a polynomial in R[X₁,...,Xₙ][X].

Equations
Instances For
    theorem Polynomial.coeff_freeMonic (R : Type u_1) [CommRing R] (n k : ) :
    (freeMonic R n).coeff k = if h : k < n then MvPolynomial.X k, h else if k = n then 1 else 0
    theorem Polynomial.degree_freeMonic (R : Type u_1) [CommRing R] (n : ) [Nontrivial R] :
    (freeMonic R n).degree = n
    theorem Polynomial.map_map_freeMonic (R : Type u_1) (S : Type u_2) [CommRing R] [CommRing S] (n : ) (f : R →+* S) :

    The free monic polynomial of degree n, as a MonicDegreeEq in R[X₁,...,Xₙ][X].

    Equations
    Instances For

      MonicDegreeEq · n is representable by R[X₁,...,Xₙ], with the universal element being freeMonic.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem MvPolynomial.coe_mapEquivMonic_comp {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] (n : ) (f : MvPolynomial (Fin n) R →ₐ[R] S) (g : S →ₐ[R] T) :
        ((mapEquivMonic R T n) (g.comp f)) = Polynomial.map g ((mapEquivMonic R S n) f)
        theorem MvPolynomial.coe_mapEquivMonic_comp' {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] (n : ) (f : MvPolynomial (Fin n) R →ₐ[R] S) (g : S →ₐ[R] T) :
        (mapEquivMonic R T n) (g.comp f) = ((mapEquivMonic R S n) f).map g
        theorem MvPolynomial.mapEquivMonic_symm_map {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] (n : ) (p : Polynomial.MonicDegreeEq S n) (g : S →ₐ[R] T) :
        (mapEquivMonic R T n).symm (p.map g) = g.comp ((mapEquivMonic R S n).symm p)
        theorem MvPolynomial.mapEquivMonic_symm_map_algebraMap {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] (n : ) (p : Polynomial.MonicDegreeEq S n) [Algebra S T] [IsScalarTower R S T] :

        In light of the fact that MonicDegreeEq · n is representable by R[X₁,...,Xₙ], this is the map R[X₁,...,Xₘ₊ₖ] → R[X₁,...,Xₘ] ⊗ R[X₁,...,Xₖ] corresponding to the multiplication MonicDegreeEq · m × MonicDegreeEq · k → MonicDegreeEq · (m + k).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def MvPolynomial.universalFactorizationMapLiftEquiv (R : Type u_1) (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] (n m k : ) (hn : n = m + k) (p : Polynomial.MonicDegreeEq S n) :

          Lifts along universalFactorizationMap corresponds to factorization of p into monic polynomials with fixed degrees.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem MvPolynomial.ker_eval₂Hom_universalFactorizationMap (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) :
            RingHom.ker (eval₂Hom (↑(universalFactorizationMap R n m k hn)) (Sum.elim (fun (x : Fin m) => X x ⊗ₜ[R] 1) fun (x : Fin k) => 1 ⊗ₜ[R] X x)) = Ideal.span (Set.range fun (i : Fin n) => C (X i) - (map C) ((tensorEquivSum R (Fin m) (Fin k) R) ((universalFactorizationMap R n m k hn) (X i))))

            The canonical presentation of universalFactorizationMap.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_σ' (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (f : TensorProduct R (MvPolynomial (Fin m) R) (MvPolynomial (Fin k) R)) :
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_algebra_algebraMap (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) :
              Algebra.algebraMap = (aeval (Sum.elim (fun (x : Fin m) => X x ⊗ₜ[R] 1) fun (x : Fin k) => 1 ⊗ₜ[R] X x)).toRingHom
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_algebra_smul (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (c : MvPolynomial (Fin m Fin k) (MvPolynomial (Fin n) R)) (x : TensorProduct R (MvPolynomial (Fin m) R) (MvPolynomial (Fin k) R)) :
              SMul.smul c x = (aeval (Sum.elim (fun (x : Fin m) => X x ⊗ₜ[R] 1) fun (x : Fin k) => 1 ⊗ₜ[R] X x)).toRingHom c * x
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_val (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (a✝ : Fin m Fin k) :
              (universalFactorizationMapPresentation R n m k hn).val a✝ = Sum.elim (fun (x : Fin m) => X x ⊗ₜ[R] 1) (fun (x : Fin k) => 1 ⊗ₜ[R] X x) a✝
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_relation (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (i : Fin n) :
              (universalFactorizationMapPresentation R n m k hn).relation i = C (X i) - (map C) ((tensorEquivSum R (Fin m) (Fin k) R) ((universalFactorizationMap R n m k hn) (X i)))
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_map (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (a✝ : Fin n) :
              theorem MvPolynomial.pderiv_inl_universalFactorizationMap_X (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (i : Fin m) (j : Fin n) :
              (pderiv (Sum.inl i)) ((tensorEquivSum R (Fin m) (Fin k) R) ((universalFactorizationMap R n m k hn) (X j))) = if j < i then 0 else if h : j - i < k then X (Sum.inr j - i, h) else if j - i = k then 1 else 0
              theorem MvPolynomial.pderiv_inr_universalFactorizationMap_X (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (i : Fin k) (j : Fin n) :
              (pderiv (Sum.inr i)) ((tensorEquivSum R (Fin m) (Fin k) R) ((universalFactorizationMap R n m k hn) (X j))) = if j < i then 0 else if h : j - i < m then X (Sum.inl j - i, h) else if j - i = m then 1 else 0
              theorem MvPolynomial.finite_universalFactorizationMap (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) :
              def Polynomial.UniversalFactorizationRing {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
              Type u_1

              The universal factorization ring of a monic polynomial p of degree n. This is the representing object of the functor S ↦ "factorizations of p into (monic deg m) * (monic deg k) in S". See UniversalFactorizationRing.homEquiv.

              Equations
              Instances For

                The image of p in the universal factorization ring of p.

                Equations
                Instances For
                  @[simp]
                  theorem Polynomial.UniversalFactorizationRing.monicDegreeEq_coe {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                  (monicDegreeEq m k hn p) = map (algebraMap R (UniversalFactorizationRing m k hn p)) p

                  The first factor of p in the universal factorization ring of p.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    The second factor of p in the universal factorization ring of p.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem Polynomial.UniversalFactorizationRing.factor₁_mul_factor₂ {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                      (factor₁ m k hn p) * (factor₂ m k hn p) = (monicDegreeEq m k hn p)
                      def Polynomial.UniversalFactorizationRing.homEquiv {R : Type u_1} (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                      (UniversalFactorizationRing m k hn p →ₐ[R] S) { q : MonicDegreeEq S m × MonicDegreeEq S k // q.1 * q.2 = map (algebraMap R S) p }

                      The universal factorization ring that represents S ↦ "factorizations of p into (monic deg m) * (monic deg k) in S".

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For