5.5 Multivariate measure conversion
In an ordered polynomial basis, measure conversion can be computed by factoring a Gram matrix. Degree-block bandwidth describes which blocks vanish. Sparsity within a block requires further structure, studied in the following chapters.
Reference details: Flags and triangular conversion and related results
If each \(P_j\) belongs to the span of \(Q_i\) with degree label \(d_i\le d_j\), then \(Q^{-1}P\) is block upper triangular with respect to \(d\). A shared scalar flag \(P_j\in \operatorname {span}\{ Q_i:i\le j\} \) gives scalar upper triangularity. Total degree alone does not specify an ordering within each block.
Lean Formalisation
theorem Module.Basis.toMatrix_blockTriangular_of_mem_span.{u_1, u_2, u_3} {ι : Type u_1} {M : Type u_2} {R : Type u_3}
[CommSemiring R] [AddCommMonoid M] [Module R M] (q p : Module.Basis ι R M) (degree : ι → ℕ)
(hflag : ∀ (j : ι), p j ∈ Submodule.span R (⇑q '' {i | degree i ≤ degree j})) : (q.toMatrix ⇑p).BlockTriangular degree
Lean proof
/-- A conversion respecting a labelled filtration is block upper triangular. -/
theorem toMatrix_blockTriangular_of_mem_span (q p : Basis ι R M) (degree : ι → ℕ)
(hflag : ∀ j, p j ∈ Submodule.span R (q '' {i | degree i ≤ degree j})) :
(q.toMatrix p).BlockTriangular degree := by
intro i j hij
change q.repr (p j) i = 0
by_contra h
have hi := q.repr_support_subset_of_mem_span _ (hflag j)
(Finsupp.mem_support_iff.mpr h)
exact (not_le_of_gt hij) hi
source For an upper triangular matrix \(R\) of size \(n+m\), the leading size-\(n\) section of \(R^\top R\) equals \(R_n^\top R_n\). Positive-diagonal triangular factors of Gram matrices agreeing on this section consequently agree there too.
Lean Formalisation
theorem Matrix.IsUpperTriangular.transpose_mul_self_principal {n m : ℕ} {R : Matrix (Fin (n + m)) (Fin (n + m)) ℝ}
(hR : R.IsUpperTriangular) :
(R.transpose * R).submatrix (Fin.castAdd m) (Fin.castAdd m) =
(R.submatrix (Fin.castAdd m) (Fin.castAdd m)).transpose * R.submatrix (Fin.castAdd m) (Fin.castAdd m)
Lean proof
/-- Leading principal sections of an upper triangular Gram factor are exact;
no rows outside the section contribute to the restricted Gram matrix. -/
theorem IsUpperTriangular.transpose_mul_self_principal {n m : ℕ}
{R : Matrix (Fin (n + m)) (Fin (n + m)) ℝ} (hR : R.IsUpperTriangular) :
(R.transpose * R).submatrix (Fin.castAdd m) (Fin.castAdd m) =
(R.submatrix (Fin.castAdd m) (Fin.castAdd m)).transpose *
R.submatrix (Fin.castAdd m) (Fin.castAdd m) := by
ext i j
simp only [submatrix_apply, mul_apply, transpose_apply, Fin.sum_univ_add]
have hz : (∑ k : Fin m, R (Fin.natAdd n k) (Fin.castAdd m i) *
R (Fin.natAdd n k) (Fin.castAdd m j)) = 0 := by
apply Finset.sum_eq_zero
intro k _
have hi : Fin.castAdd m i < Fin.natAdd n k := by
simp only [Fin.lt_def, Fin.val_castAdd, Fin.val_natAdd]
omega
exact mul_eq_zero_of_left (hR hi) _
rw [hz, add_zero]
source Let \(\nu \) have finite polynomial moments and a positive-definite polynomial pairing, in any finite number of variables. Every ordered basis \(P\) of a finite polynomial subspace has a unique positive-diagonal upper triangular Gram factor. There exists an orthonormal basis \(Q\) for which \(P=QR\) with this factor. For any orthonormal basis \(Q\) of the same space, its coordinate matrix satisfies \(G_\nu (P)=R^\top R\); triangularity follows from the appropriate flag hypothesis. The preceding leading-section result supplies compatibility whenever the ordered basis vectors in the smaller section are unchanged.
Reference: [GOS25, Lemma 2.8] and its references.
Lean Formalisation
theorem MvPolynomial.existsUnique_pos_upperTriangular_integralGram_factor.{u_1} {σ : Type u_1} [Fintype σ] {n : ℕ}
(μ : MeasureTheory.Measure (σ → ℝ)) (hμ : MvPolynomial.HasFiniteMoments μ)
(hpos : MvPolynomial.HasPositiveDefiniteIntegral μ) {V : Submodule ℝ (MvPolynomial σ ℝ)}
(b : Module.Basis (Fin n) ℝ ↥V) :
∃! R,
R.IsUpperTriangular ∧ (∀ (i : Fin n), 0 < R i i) ∧ MvPolynomial.integralGram μ (fun i => ↑(b i)) ⋯ = R.transpose * R
Lean proof
/-- An ordered basis of any finite multivariate polynomial subspace has a unique
positive-diagonal upper triangular Gram factor for the supplied measure. -/
theorem existsUnique_pos_upperTriangular_integralGram_factor
(μ : Measure (σ → ℝ)) (hμ : HasFiniteMoments μ)
(hpos : HasPositiveDefiniteIntegral μ)
{V : Submodule ℝ (MvPolynomial σ ℝ)} (b : Basis (Fin n) ℝ V) :
∃! R : Matrix (Fin n) (Fin n) ℝ,
R.IsUpperTriangular ∧ (∀ i, 0 < R i i) ∧
integralGram μ (fun i => (b i : MvPolynomial σ ℝ)) = R.transpose * R := by
let core := integralInnerProductCore μ hμ hpos
let : NormedAddCommGroup (MvPolynomial σ ℝ) :=
InnerProductSpace.Core.toNormedAddCommGroup (𝕜 := ℝ)
let : InnerProductSpace ℝ (MvPolynomial σ ℝ) :=
InnerProductSpace.ofCore (inferInstance : PreInnerProductSpace.Core ℝ (MvPolynomial σ ℝ))
obtain ⟨R, hR, hp, hg⟩ := InnerProductSpace.exists_pos_upperTriangular_gram_factor b
refine ⟨R, ⟨hR, hp, hg⟩, ?_⟩
rintro S ⟨hS, hSp, hSg⟩
exact Matrix.eq_of_pos_upperTriangular_gram_eq hS hR hSp hp (hSg.symm.trans hg)
source Let \(u\) be a polynomial nonnegative \(\mu \)-almost everywhere, and set \(d\nu =u\, d\mu \). Finite moments are preserved. If \(u\ne 0\) and the original polynomial pairing is positive definite, so is the modified pairing. Moreover \(\langle p,q\rangle _\nu =\langle up,q\rangle _\mu \). Suppose \(\deg P_i\le d_i\) and \(P_i\) is orthogonal to every polynomial of total degree less than \(d_i\). Then \(\langle P_i,P_j\rangle _\nu =0\) whenever \(d_j+\deg u{\lt}d_i\) or \(d_i+\deg u{\lt}d_j\). This asserts degree-block bandwidth, without an assertion about sparsity inside blocks.
Lean Formalisation
theorem MvPolynomial.HasFiniteMoments.withDensity_polynomial.{u_1} {σ : Type u_1} [Fintype σ]
{μ : MeasureTheory.Measure (σ → ℝ)} (hμ : MvPolynomial.HasFiniteMoments μ) (u : MvPolynomial σ ℝ)
(hu : ∀ᵐ (x : σ → ℝ) ∂μ, 0 ≤ (MvPolynomial.eval x) u) :
MvPolynomial.HasFiniteMoments (u.polynomialDensityMeasure (MeasureTheory.Measure.comap Subtype.val μ))
Lean proof
/-- Multiplying a measure by a nonnegative polynomial preserves finite moments. -/
@[aesop (rule_sets := [PolynomialIntegrability]) unsafe 80% apply]
theorem HasFiniteMoments.withDensity_polynomial (hμ : HasFiniteMoments μ)
(u : MvPolynomial σ ℝ) (hu : ∀ᵐ x ∂μ, 0 ≤ eval x u) :
HasFiniteMoments (polynomialDensityMeasure u (μ.comap Subtype.val)) := by
obtain ⟨w, hw, hwval, _, he⟩ := exists_polynomialDensityMeasure_extension u
rw [he]
intro p
rw [integrable_withDensity_iff_integrable_smul' hw.coe_nnreal_ennreal
(Filter.Eventually.of_forall (fun _ => ENNReal.coe_lt_top))]
apply (hμ.integrable_mul (u * p) p).congr
filter_upwards [hu] with x hx
rw [hwval x hx]
simp only [ENNReal.coe_toReal, NNReal.coe_mk, smul_eq_mul, map_mul, pow_two]
ring
source Reference details: Exact conversion intertwines multiplication and related results
For any two bases of the multivariate polynomial ring, conversion \(C\) and multiplication by a polynomial \(u\) satisfy \(C M_P(u)=M_Q(u)C\) as linear maps on finitely supported coefficients. Orthogonality and boundedness on \(\ell ^2\) are not required.
Lean Formalisation
theorem MvPolynomial.coefficientMap_mul_intertwining.{u_1, u_2, u_3} {σ : Type u_1} {ι : Type u_2} {κ : Type u_3}
(p : Module.Basis ι ℝ (MvPolynomial σ ℝ)) (q : Module.Basis κ ℝ (MvPolynomial σ ℝ)) (u : MvPolynomial σ ℝ) :
p.coefficientMap q LinearMap.id ∘ₗ p.coefficientMap p (LinearMap.mulLeft ℝ u) =
q.coefficientMap q (LinearMap.mulLeft ℝ u) ∘ₗ p.coefficientMap q LinearMap.id
Lean proof
/-- Conversion intertwines multiplication on finitely supported polynomial
coefficients. The bases may have arbitrary index sets and need not be orthogonal. -/
theorem coefficientMap_mul_intertwining {ι κ : Type*}
(p : Basis ι ℝ (MvPolynomial σ ℝ)) (q : Basis κ ℝ (MvPolynomial σ ℝ))
(u : MvPolynomial σ ℝ) :
(p.coefficientMap q LinearMap.id).comp
(p.coefficientMap p (LinearMap.mulLeft ℝ u)) =
(q.coefficientMap q (LinearMap.mulLeft ℝ u)).comp
(p.coefficientMap q LinearMap.id) := by
rw [Basis.coefficientMap_comp, Basis.coefficientMap_comp]
simp
source Let a truncation \(T\) fix every polynomial of total degree at most \(N\). If \(\deg p+k\deg u\le N\), then \(k\) applications of \(q\mapsto T(uq)\) to \(p\) give exactly \(u^kp\). The bound is on degree, not coefficient count.
Lean Formalisation
theorem MvPolynomial.iterate_truncated_mul_eq_pow_mul.{u_1, u_2} {σ : Type u_1} {R : Type u_2} [CommSemiring R]
(T : MvPolynomial σ R → MvPolynomial σ R) (N : ℕ) (hT : ∀ (q : MvPolynomial σ R), q.totalDegree ≤ N → T q = q)
(u p : MvPolynomial σ R) (k : ℕ) (hbound : p.totalDegree + k * u.totalDegree ≤ N) :
(fun q => T (u * q))^[k] p = u ^ k * p
Lean proof
/-- With enough degree padding, repeated truncated multiplication agrees exactly
with full polynomial multiplication. No assertion is made without the padding. -/
theorem iterate_truncated_mul_eq_pow_mul (T : MvPolynomial σ R → MvPolynomial σ R)
(N : ℕ) (hT : ∀ q, q.totalDegree ≤ N → T q = q)
(u p : MvPolynomial σ R) (k : ℕ)
(hbound : p.totalDegree + k * u.totalDegree ≤ N) :
(fun q => T (u * q))^[k] p = u ^ k * p := by
induction k with
| zero => simp
| succ k ih =>
have hk : p.totalDegree + k * u.totalDegree ≤ N := by
rw [Nat.succ_mul] at hbound
omega
rw [Function.iterate_succ_apply', ih hk]
have hd : (u * (u ^ k * p)).totalDegree ≤ N := by
have h₁ := totalDegree_mul u (u ^ k * p)
have h₂ := totalDegree_mul (u ^ k) p
have h₃ := totalDegree_pow u k
rw [Nat.succ_mul] at hbound
omega
rw [hT _ hd, pow_succ']
exact (mul_assoc _ _ _).symm
source There is no assertion that applying a polynomial to an unpadded multiplication section gives the corresponding section of the full polynomial operator.
Let the scalar basis order have nondecreasing degree labels \(d_i\). An upper triangular factor \(R\) with nonzero diagonal inherits upper block bandwidth \(d\) from \(R^\top R\): if its Gram entries vanish whenever \(d_i+d{\lt}d_j\), then so do \(R_{ij}\). In particular, the positive Cholesky factor for a nonnegative polynomial modification \(u\) of a degree-orthogonal family vanishes when \(d_i+\deg u{\lt}d_j\). For one polynomial per degree this is ordinary bandwidth. In higher dimensions it bounds degree blocks, without determining sparsity inside them.
Reference: [GOS25, Lemma 2.8 and Section 5].
Lean Formalisation
theorem Matrix.IsUpperTriangular.eq_zero_of_transpose_mul_self_degree_band {n : ℕ} {R : Matrix (Fin n) (Fin n) ℝ}
(hR : R.IsUpperTriangular) (hdiag : ∀ (i : Fin n), R i i ≠ 0) (degree : Fin n → ℕ) (hdegree : Monotone degree) (d : ℕ)
(hband : ∀ (i j : Fin n), degree i + d < degree j → (R.transpose * R) i j = 0) (i j : Fin n) :
degree i + d < degree j → R i j = 0
Lean proof
/-- A nonzero-diagonal upper triangular Gram factor preserves degree-block
bandwidth, for a monotone degree labelling of the scalar ordering. -/
theorem IsUpperTriangular.eq_zero_of_transpose_mul_self_degree_band {n : ℕ}
{R : Matrix (Fin n) (Fin n) ℝ} (hR : R.IsUpperTriangular)
(hdiag : ∀ i, R i i ≠ 0) (degree : Fin n → ℕ) (hdegree : Monotone degree)
(d : ℕ) (hband : ∀ i j, degree i + d < degree j → (R.transpose * R) i j = 0) :
∀ i j, degree i + d < degree j → R i j = 0 := by
intro i
induction i using WellFoundedLT.induction with
| ind i ih =>
intro j hij
have hs : (R.transpose * R) i j = R i i * R i j := by
rw [mul_apply]
apply Finset.sum_eq_single i
· intro k _ hki
simp only [transpose_apply]
rcases lt_or_gt_of_ne hki with hk | hk
· have hj : degree k + d < degree j :=
lt_of_le_of_lt (Nat.add_le_add_right (hdegree hk.le) d) hij
rw [ih k hk j hj, mul_zero]
· exact mul_eq_zero_of_left (hR hk) _
· simp
exact (mul_eq_zero.mp (hs.symm.trans (hband i j hij))).resolve_left (hdiag i)
source For \(\sigma \)-finite factor measures and a nonnegative separated polynomial density \(\prod _i h_i(x_i)\), assume each weighted factor product \(h_i p_i q_i\) belongs to \(L^1(\mu _i)\). The modified pairing of the tensor products of \(p_i\) and \(q_i\) then factors into the pairings for the modified coordinate measures. If each factor measure has finite polynomial moments and the source and target coordinate sequences are orthogonal for their respective measures, the mixed pairing is zero whenever any coordinate lies outside \(0\le n_i-m_i\le \deg h_i\).
Lean Formalisation
theorem MvPolynomial.tensorProductPolynomial_mul.{u_1} {σ : Type u_1} [Fintype σ] (p q : σ → Polynomial ℝ) :
(MvPolynomial.tensorProductPolynomial fun i => p i * q i) =
MvPolynomial.tensorProductPolynomial p * MvPolynomial.tensorProductPolynomial q
Lean proof
/-- Tensor products preserve coordinatewise polynomial multiplication. -/
theorem tensorProductPolynomial_mul (p q : σ → ℝ[X]) :
tensorProductPolynomial (fun i ↦ p i * q i) =
tensorProductPolynomial p * tensorProductPolynomial q := by
simp only [tensorProductPolynomial, Polynomial.eval₂_mul, Finset.prod_mul_distrib]
source Reference details: Classical Proriol polynomial norm and related results
For every parameter and index choice for which \((P_{n,k}^{\alpha ,\beta ,\gamma })^2\) is integrable with respect to \(\omega _{\alpha ,\beta ,\gamma }\), define
The domain consists of all such square-integrable polynomials; no additional parameter restrictions are imposed.
Lean Formalisation
def MvPolynomial.proriolNorm (α β γ : ℝ)
(i :
{ i //
MeasureTheory.Integrable (fun v => (MvPolynomial.eval v) (MvPolynomial.proriol α β γ i.1 i.2) ^ 2)
(MvPolynomial.proriolMeasure α β γ) }) :
ℝ
Lean definition
/-- The positive square root of the Proriol squared norm. -/
noncomputable def proriolNorm (α β γ : ℝ)
(i : {i : ℕ × ℕ // Integrable (fun v ↦ eval v (proriol α β γ i.1 i.2)^2)
(proriolMeasure α β γ)}) : ℝ :=
Real.sqrt (∫ v, eval v (proriol α β γ i.val.1 i.val.2)^2 ∂proriolMeasure α β γ)
source Whenever \((P_{n,k}^{\alpha ,\beta ,\gamma })^2\) is \(\omega _{\alpha ,\beta ,\gamma }\)-integrable,
Lean Formalisation
theorem MvPolynomial.proriolNorm_nonneg (α β γ : ℝ)
(i :
{ i //
MeasureTheory.Integrable (fun v => (MvPolynomial.eval v) (MvPolynomial.proriol α β γ i.1 i.2) ^ 2)
(MvPolynomial.proriolMeasure α β γ) }) :
0 ≤ MvPolynomial.proriolNorm α β γ i
Lean proof
/-- The classical polynomial norm is nonnegative. -/
theorem proriolNorm_nonneg (α β γ : ℝ)
(i : {i : ℕ × ℕ // Integrable (fun v ↦ eval v (proriol α β γ i.1 i.2)^2)
(proriolMeasure α β γ)}) : 0 ≤ proriolNorm α β γ i :=
Real.sqrt_nonneg _
source Normalize Proriol polynomials by their positive norms and order a complete finite section by total degree, then inner degree. Under nonnegative integer parameter raising, the actual normalized connection is the canonical positive upper triangular Cholesky factor of the target-measure Gram matrix of the source basis. Both preceding support bounds therefore hold for this canonical factor itself.
Lean Formalisation
theorem MvPolynomial.integralGramFactor_proriol_eq_connection {α β γ : ℝ} (hα : -1 < α) (hβ : -1 < β) (hγ : -1 < γ)
(a b c N : ℕ) (hαa : -1 < α + ↑a) (hβb : -1 < β + ↑b) (hγc : -1 < γ + ↑c) :
MvPolynomial.integralGramFactor (MvPolynomial.proriolMeasure (α + ↑a) (β + ↑b) (γ + ↑c)) ⋯ ⋯
(MvPolynomial.orderedProriolBasis hα hβ hγ N) =
(MvPolynomial.orderedProriolBasis hαa hβb hγc N).toMatrix ⇑(MvPolynomial.orderedProriolBasis hα hβ hγ N)
Lean proof
/-- Integer parameter raising gives the canonical Cholesky factor, with no sign ambiguity. -/
theorem integralGramFactor_proriol_eq_connection {α β γ : ℝ}
(hα : -1 < α) (hβ : -1 < β) (hγ : -1 < γ) (a b c N : ℕ)
(hαa : -1 < α+a) (hβb : -1 < β+b) (hγc : -1 < γ+c) :
integralGramFactor (proriolMeasure (α+a) (β+b) (γ+c))
(hasFiniteMoments_proriolMeasure hαa hβb hγc)
(hasPositiveDefiniteIntegral_proriolMeasure hαa hβb hγc)
(orderedProriolBasis hα hβ hγ N) =
(orderedProriolBasis hαa hβb hγc N).toMatrix (orderedProriolBasis hα hβ hγ N) := by
apply integralGramFactor_eq
· exact orderedProriolBasis_connection_upperTriangular hα hβ hγ a b c N hαa hβb hγc
· exact orderedProriolBasis_connection_diag_pos hα hβ hγ hαa hβb hγc N
· exact integralGram_proriol_connection hα hβ hγ hαa hβb hγc N
source On every complete finite degree space, the connection from the normalized \(\beta \) basis to the normalized \(\beta +1\) basis has positive diagonal, is upper triangular in degree then inner-index order, and its transpose product is the raised-measure Gram matrix. It has the four-position support of parameter raising. Thus it is the positive Cholesky factor in that order.
Lean Formalisation
theorem MvPolynomial.integralGram_eq_dunklXuRaisingMatrix_transpose_mul {β : ℝ} (hβ : -1 < β) (N : ℕ)
[Fintype { d // (d.sum fun x e => e) ≤ N }] :
MvPolynomial.integralGram (MvPolynomial.dunklXuDiskMeasure (β + 1))
(fun i => ↑((MvPolynomial.normalizedDunklXuDegreeBasis hβ N) i)) ⋯ =
(MvPolynomial.dunklXuRaisingMatrix hβ N).transpose * MvPolynomial.dunklXuRaisingMatrix hβ N
Lean proof
/-- The normalized disk connection factors the raised-measure Gram matrix. -/
theorem integralGram_eq_dunklXuRaisingMatrix_transpose_mul {β : ℝ} (hβ : -1 < β)
(N : ℕ) [Fintype {d : Fin 2 →₀ ℕ // d.sum (fun _ e => e) ≤ N}] :
integralGram (dunklXuDiskMeasure (β + 1))
(fun i => (normalizedDunklXuDegreeBasis hβ N i : MvPolynomial (Fin 2) ℝ))
(hP := fun _ _ => (hasFiniteMoments_dunklXuDiskMeasure (by linarith)).integrable_mul _ _) =
(dunklXuRaisingMatrix hβ N).transpose * dunklXuRaisingMatrix hβ N := by
classical
exact integralGram_eq_transpose_toMatrix_mul _
(hasFiniteMoments_dunklXuDiskMeasure (by linarith))
(hasPositiveDefiniteIntegral_dunklXuDiskMeasure (by linarith)) _ _
(integralGram_normalizedDunklXuDegreeBasis (by linarith) N)
source Let \(P,Q\) be orthogonal sequences before and after a nonzero nonnegative polynomial modification \(u\), under the finite-moment and positivity hypotheses. For any real commutative algebra \(A\), algebra homomorphism \(\phi :\mathbb R[x]\to A\), and fixed \(v\in A\), one has
Applied separately at each inner index, this keeps the inner lift unchanged and bounds the outer conversion bandwidth independently of the lift’s degree.
Lean Formalisation
theorem Polynomial.Sequence.IsOrthogonal.separated_expansion.{u_1} {A : Type u_1} [CommRing A] [Algebra ℝ A]
{μ : MeasureTheory.Measure ℝ} (hμ : Polynomial.HasFiniteMoments μ) (hpos : Polynomial.HasPositiveDefiniteIntegral μ)
{Q : Polynomial.Sequence ℝ} (hQ : Q.IsOrthogonal μ) (hu : ∀ (i : ℕ), IsUnit (↑Q i).leadingCoeff)
(φ : Polynomial ℝ →ₐ[ℝ] A) (v : A) (P : Polynomial.Sequence ℝ) (n : ℕ) :
φ (↑P n) * v = ∑ m ∈ Finset.range (n + 1), ((Q.basis hu).repr (↑P n)) m • (φ (↑Q m) * v)
Lean proof
/-- An outer polynomial expansion lifts through any algebra embedding and fixed
inner factor. In particular it introduces no other inner indices. -/
theorem IsOrthogonal.separated_expansion {μ : Measure ℝ}
(hμ : HasFiniteMoments μ) (hpos : HasPositiveDefiniteIntegral μ)
{Q : Sequence ℝ} (hQ : Q.IsOrthogonal μ)
(hu : ∀ i, IsUnit (Q i).leadingCoeff)
(φ : ℝ[X] →ₐ[ℝ] A) (v : A) (P : Sequence ℝ) (n : ℕ) :
φ (P n) * v = ∑ m ∈ Finset.range (n+1),
(Q.basis hu).repr (P n) m • (φ (Q m) * v) := by
have he := congrArg (fun p => φ p * v)
(hQ.sum_range_repr hμ hpos hu (P n) (n+1) (by simp))
simpa only [map_sum, map_smul, Finset.sum_mul, smul_mul_assoc] using he.symm
source This algebraic expansion does not itself assert that a proposed collection of lifts is a basis of a total-degree space.