Integral scaled homogenization. The point (h,x) on the homogeneous model corresponds to the original integer affine point x, without dividing coordinates.
theorem
CCDN.scaledHomogenize_eval
{R : Type u_1}
[CommRing R]
{n d : ℕ}
(h : R)
(f : MvPolynomial (Fin n) R)
(hf : f.totalDegree ≤ d)
(x : Fin n → R)
:
If f has total degree at most d, then evaluating scaledHomogenize d h f at the point
(h, x) gives h ^ d times the value of f at x.
theorem
CCDN.scaledHomogenize_ne_zero
{R : Type u_1}
[CommRing R]
[IsDomain R]
{n : ℕ}
(d : ℕ)
{h : R}
(hh : h ≠ 0)
{f : MvPolynomial (Fin n) R}
(hf : f ≠ 0)
:
Over a domain, the scaled homogenization of a nonzero polynomial with a nonzero scaling
factor h is nonzero.
theorem
CCDN.exists_scaledHomogenize_top_coefficient
{n : ℕ}
(f : MvPolynomial (Fin n) ℤ)
(hf : f ≠ 0)
{h : ℤ}
(hh : 1 ≤ h)
:
∃ (m : Fin n →₀ ℕ),
(m.sum fun (x : Fin n) (e : ℕ) => e) = f.totalDegree ∧ ↑h ^ f.totalDegree ≤ |↑((scaledHomogenize f.totalDegree h f).coeff (homogenizedExponent f.totalDegree m))|
A highest-degree nonzero coefficient gains the full factor h^d.