Hilbert-function count for the fixed-data packet conditions
OpenOAI.PiExponent.FormalInterpolation.fixedData_packet_conditions_eq_colengthFix admissible fixed determinant data and an integer multiplicity vector . Assume that all row weights of the strict weighted simplex are commensurable with the rational scale : for every one has . Then, for every natural number , the complex dimension of the polynomial ring modulo the -th power of the product of the logarithmic center ideals equals the number of interpolation rows at height , i.e. the number of pairs consisting of a center index and an exponent vector in the strict weighted simplex of height .
This Hilbert-function/colength count is the residual dimension identity behind the converse direction of the interpolation packet theory: packet vanishing identifies the ideal power with a subspace of the packet kernel, and this count shows that the two finite-dimensional spaces have equal dimension, so that the packet map on the quotient is an isomorphism.
import Definitions.Def_OAI_PiExponent_TruncatedPolynomialJets import Mathlib.LinearAlgebra.FiniteDimensional.Defs import Mathlib.RingTheory.Ideal.Quotient.Operations open scoped BigOperators open OAI.PiExponent OAI.PiExponent.DeterminantContradiction OAI.PiExponent.FormalInterpolation
theorem OAI.PiExponent.FormalInterpolation.fixedData_packet_conditions_eq_colength
(nu : Real) (d : FixedData nu)
(R : Rat) (T : Fin d.m → Nat) (e : Fin (d.m + 1) → Nat)
(hR : 0 < R) (he : ∀ i, 0 < e i)
(hT : ∀ i, InterpolationMatrix.rowWeights d.v0 d.base.theta
(MatrixArithmetic.logWeights (finiteDenominators d)) i.succ ≤
(T i : Real) * InterpolationMatrix.rowWeights d.v0 d.base.theta
(MatrixArithmetic.logWeights (finiteDenominators d)) 0)
(hscale : ∀ i, (R : Real) = (e i : Real) *
InterpolationMatrix.rowWeights d.v0 d.base.theta
(MatrixArithmetic.logWeights (finiteDenominators d)) i) :
∀ n : Nat,
Module.finrank Complex
(MvPolynomial (Fin (d.m + 1)) Complex ⧸
(logarithmicCentersIdeal
(fun j : Fin d.K => fun i => (j.val : Complex) *
MatrixArithmetic.rationalCenters (finiteNumerators d)
(finiteDenominators d) i)
T e) ^ n) =
Fintype.card (InterpolationMatrix.Row d.K d.v0 d.base.theta
(MatrixArithmetic.logWeights (finiteDenominators d))
((n : Real) * (R : Real))) := by sorry