LeanFun RevOLVER

5.2 Semiclassical Jacobi polynomials

The weight \(x^a(1-x)^b(t-x)^c\) on \((0,1)\), with \(t{\gt}1\), adds a third factor to the Jacobi weight, with the extra root \(x=t\) outside the interval. The family retains sparse conversion and differentiation. Integer parameter shifts are polynomial modifications, so conversion is banded by the previous chapter. A Pearson identity \((\sigma w)'=\tau w\) makes differentiation sparse. For simultaneously raised parameters and positive orthonormal scaling, weighted differentiation is the negative transpose of the ordinary derivative matrix. The partially weighted variant has its own adjoint identity and support pattern, stated separately below. Cholesky and QR factorizations construct the parameter hierarchy, with exact finite Jacobi updates in Section 5.2.1. These families are used in spectral methods on annuli (Chapter 5.4).

Definition 5.2.1 Semiclassical Jacobi weights and measures
✓ 🤖

For \(t\in (1,\infty )\) and arbitrary real \(a,b,c\), define the continuous nonnegative weight \(w_{t,a,b,c}(x)=x^a(1-x)^b(t-x)^c\) on \((0,1)\). Define \(\mu _{t,a,b,c}\) by this density on the open interval, pushed forward to \(\mathbb {R}\) by inclusion. The measure need not be finite.

Reference: [PGSO24, Section 3].

Lean Formalisation
def Polynomial.semiclassicalJacobiWeight (t : ↑(Set.Ioi 1)) (α β γ : ℝ) : C(↑(Set.Ioo 0 1), NNReal)
Lean definition
/-- All three power bases are positive on the typed domain. -/
noncomputable def semiclassicalJacobiWeight (t : Ioi (1 : ℝ)) (α β γ : ℝ) : C(Ioo (0 : ℝ) 1, ℝ≥0) where
  toFun x := ⟨(x : ℝ) ^ α * (1 - (x : ℝ)) ^ β * ((t : ℝ) - x) ^ γ,
    mul_nonneg (mul_nonneg (Real.rpow_nonneg x.property.1.le _)
      (Real.rpow_nonneg (by linarith [x.property.2]) _))
      (Real.rpow_nonneg (by have ht : 1 < (t : ℝ) := t.property; linarith [x.property.2]) _)⟩
  continuous_toFun := by
    apply Continuous.subtype_mk
    apply Continuous.mul
    · apply Continuous.mul
      · exact continuous_subtype_val.rpow_const (fun x ↦ Or.inl x.property.1.ne')
      · exact (continuous_const.sub continuous_subtype_val).rpow_const
          (fun x ↦ Or.inl (by change 1 - (x : ℝ) ≠ 0; linarith [x.property.2]))
    · exact (continuous_const.sub continuous_subtype_val).rpow_const
        (fun x ↦ Or.inl (by change (t : ℝ) - (x : ℝ) ≠ 0; have ht : 1 < (t : ℝ) := t.property; linarith [x.property.2]))
source
Reference details: Semiclassical density characterisation and related results
Theorem 5.2.2 Semiclassical density characterisation
✓ 🤖

At every \(x\in (0,1)\), \(w(x)=x^\alpha (1-x)^\beta (t-x)^\gamma \), with all three power bases positive.

Lean Formalisation
theorem Polynomial.semiclassicalJacobiWeight_apply (t : ↑(Set.Ioi 1)) (α β γ : ℝ) (x : ↑(Set.Ioo 0 1)) :
  ↑((Polynomial.semiclassicalJacobiWeight t α β γ) x) = ↑x ^ α * (1 - ↑x) ^ β * (↑t - ↑x) ^ γ
Lean proof
/-- Characterization of the density on its classical domain. -/
theorem semiclassicalJacobiWeight_apply (t : Ioi (1 : ℝ)) (α β γ : ℝ)
    (x : Ioo (0 : ℝ) 1) :
    (semiclassicalJacobiWeight t α β γ x : ℝ) =
      (x : ℝ) ^ α * (1 - (x : ℝ)) ^ β * ((t : ℝ) - x) ^ γ := rfl
source
Theorem 5.2.3 Semiclassical integral characterisation
✓ 🤖

A real function \(f\) is \(\mu _{t,\alpha ,\beta ,\gamma }\)-integrable if and only if \(x\mapsto w(x)f(x)\) is Lebesgue-integrable on \((0,1)\). When these equivalent integrability conditions hold,

\[ \int f\, d\mu _{t,\alpha ,\beta ,\gamma }=\int _{x\in (0,1)}w(x)f(x)\, dx. \]
Lean Formalisation
theorem Polynomial.integrable_semiclassicalJacobiMeasure_iff (t : ↑(Set.Ioi 1)) (α β γ : ℝ) (f : ℝ → ℝ) :
  MeasureTheory.Integrable f (Polynomial.semiclassicalJacobiMeasure t α β γ) ↔
    MeasureTheory.Integrable (fun x => ↑((Polynomial.semiclassicalJacobiWeight t α β γ) x) * f ↑x) MeasureTheory.volume
Lean proof
/-- Characterization of integrability, including every convergent endpoint singularity. -/
theorem integrable_semiclassicalJacobiMeasure_iff (t : Ioi (1 : ℝ)) (α β γ : ℝ)
    (f : ℝ → ℝ) :
    Integrable f (semiclassicalJacobiMeasure t α β γ) ↔
      Integrable (fun x : Ioo (0 : ℝ) 1 ↦
        (semiclassicalJacobiWeight t α β γ x : ℝ) * f x) volume :=
  integrable_openIntervalWeightMeasure_iff _ _ _ _
source

For \(t\in (1,\infty )\), \(\alpha ,\beta {\gt}-1\) and \(\gamma \in \mathbb {R}\), the classical density is integrable on \((0,1)\). Every real-valued function continuous on \([0,1]\) is integrable for its measure. The measure has finite mass and all polynomial moments, and the polynomial pairing is positive definite. There exists an orthogonal polynomial sequence of exact degrees. No normalization is fixed by this existence assertion. Reference: [PGSO24, Section 3].

Lean Formalisation
theorem Polynomial.integrable_semiclassicalJacobiWeight (t : ↑(Set.Ioi 1)) {α β γ : ℝ} (hα : -1 < α) (hβ : -1 < β) :
  MeasureTheory.Integrable (fun x => ↑((Polynomial.semiclassicalJacobiWeight t α β γ) x)) MeasureTheory.volume
Lean proof
/-- The density has a finite integral under precisely the stated admissible exponents. -/
theorem integrable_semiclassicalJacobiWeight (t : Ioi (1 : ℝ))
    {α β γ : ℝ} (hα : -1 < α) (hβ : -1 < β) :
    Integrable (fun x : Ioo (0 : ℝ) 1 ↦ (semiclassicalJacobiWeight t α β γ x : ℝ)) volume := by
  have := (semiclassicalJacobiMeasure_foundation t (γ := γ) hα hβ).1
  simpa using (integrable_semiclassicalJacobiMeasure_iff t α β γ
    (fun _ ↦ 1)).1 (integrable_const 1)
source
Definition 5.2.5 Positive orthonormal semiclassical Jacobi coordinates
✓ 🤖

For \(t{\gt}1\), \(\alpha ,\beta {\gt}-1\) and arbitrary real \(\gamma \), let \((Q_n)\) be a degree-indexed polynomial sequence chosen to be orthonormal for \(x^\alpha (1-x)^\beta (t-x)^\gamma \, dx\) on \((0,1)\), with positive leading coefficients; such a sequence exists by Theorem 5.2.4.

Reference: [PGSO24, Section 3].

Lean Formalisation
def Polynomial.semiclassicalJacobiSequence {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) :
  Polynomial.Sequence ℝ
Lean definition
/-- The positive-leading orthonormal semiclassical Jacobi family. -/
noncomputable def semiclassicalJacobiSequence {t α β : ℝ} (ht : 1 < t)
    (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) : Sequence ℝ :=
  (exists_positive_orthonormal_sequence (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ)
    (hasFiniteMoments_semiclassicalJacobiMeasure ht hα hβ)
    (hasPositiveDefiniteIntegral_semiclassicalJacobiMeasure ht hα hβ)).choose
source
Theorem 5.2.6 Positive orthonormal semiclassical Jacobi sequence
✓ 🤖

For \(t{\gt}1\), \(\alpha ,\beta {\gt}-1\) and \(\gamma \in \mathbb {R}\), the chosen sequence \((Q_n)\) is orthogonal for the semiclassical Jacobi measure, has positive leading coefficients, and satisfies \(\int Q_n^2\, d\mu =1\) for every \(n\).

Reference: [PGSO24, Section 3].

Lean Formalisation
theorem Polynomial.semiclassicalJacobiSequence_spec {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) :
  (Polynomial.semiclassicalJacobiSequence ht hα hβ γ).IsOrthogonal
      (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ α β γ) ∧
    (∀ (n : ℕ), 0 < (↑(Polynomial.semiclassicalJacobiSequence ht hα hβ γ) n).leadingCoeff) ∧
      ∀ (n : ℕ),
        ∫ (x : ℝ),
            Polynomial.eval x (↑(Polynomial.semiclassicalJacobiSequence ht hα hβ γ) n) ^
              2 ∂Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ α β γ =
          1
Lean proof
/-- Orthogonality, positive leading coefficients and squared norms characterize the scaling. -/
theorem semiclassicalJacobiSequence_spec {t α β : ℝ} (ht : 1 < t)
    (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) :
    (semiclassicalJacobiSequence ht hα hβ γ).IsOrthogonal (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) ∧
    (∀ n, 0 < (semiclassicalJacobiSequence ht hα hβ γ n).leadingCoeff) ∧
    (∀ n, ∫ x, (semiclassicalJacobiSequence ht hα hβ γ n).eval x ^ 2
      ∂semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ = 1) :=
  (exists_positive_orthonormal_sequence (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ)
    (hasFiniteMoments_semiclassicalJacobiMeasure ht hα hβ)
    (hasPositiveDefiniteIntegral_semiclassicalJacobiMeasure ht hα hβ)).choose_spec
source
Reference details: Semiclassical Jacobi polynomial basis and related results
Definition 5.2.7 Semiclassical Jacobi polynomial basis
✓ 🤖
#

For \(t{\gt}1\), \(\alpha ,\beta {\gt}-1\) and \(\gamma \in \mathbb {R}\), let \(B\) be the polynomial basis whose \(n\)th member is \(Q_n\).

Reference: [PGSO24, Section 3].

Lean Formalisation
def Polynomial.semiclassicalJacobiBasis {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) :
  Module.Basis ℕ ℝ (Polynomial ℝ)
Lean definition
/-- The positive orthonormal semiclassical sequence as a polynomial basis. -/
noncomputable def semiclassicalJacobiBasis {t α β : ℝ} (ht : 1 < t)
    (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) : Basis ℕ ℝ ℝ[X] :=
  (semiclassicalJacobiSequence ht hα hβ γ).basis (fun n ↦
    isUnit_iff_ne_zero.mpr ((semiclassicalJacobiSequence_spec ht hα hβ γ).2.1 n).ne')
source
Theorem 5.2.8 Orthonormality and coordinates
✓ 🤖

The sequence \((Q_n)\) is orthogonal for the semiclassical Jacobi measure, its members have positive leading coefficients, and each has unit squared norm. The \(n\)th coordinate of a polynomial \(p\) in the basis \(B\) is the pairing \(\langle p,Q_n\rangle \) for this measure.

Reference: [PGSO24, Section 3].

Lean Formalisation
theorem Polynomial.semiclassicalJacobiBasis_repr {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) (p : Polynomial ℝ)
  (n : ℕ) :
  ((Polynomial.semiclassicalJacobiBasis ht hα hβ γ).repr p) n =
    Polynomial.integralInner (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ α β γ)
      (Polynomial.IntegrablePair.of (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ α β γ) p
        (↑(Polynomial.semiclassicalJacobiSequence ht hα hβ γ) n) ⋯)
Lean proof
/-- Coefficient coordinates are integral projections, since the basis is normalized. -/
theorem semiclassicalJacobiBasis_repr {t α β : ℝ} (ht : 1 < t)
    (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) (p : ℝ[X]) (n : ℕ) :
    (semiclassicalJacobiBasis ht hα hβ γ).repr p n =
      integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) (IntegrablePair.of (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) p (semiclassicalJacobiSequence ht hα hβ γ n)) := by
  rw [semiclassicalJacobiBasis,
    (semiclassicalJacobiSequence_spec ht hα hβ γ).1.basis_repr_eq_integralInner_div
      (hasFiniteMoments_semiclassicalJacobiMeasure ht hα hβ)
      (hasPositiveDefiniteIntegral_semiclassicalJacobiMeasure ht hα hβ)]
  rw [integralInner_self, (semiclassicalJacobiSequence_spec ht hα hβ γ).2.2 n, div_one]
source

For \(t{\gt}1\) and nonnegative integers \(k,l,m\), increasing \((a,b,c)\) by \((k,l,m)\) is exactly multiplication of the measure by \(x^k(1-x)^l(t-x)^m\). No integrability restrictions on the exponents are needed for this measure identity.

Reference: [PGSO24, Section 3].

Lean Formalisation
theorem Polynomial.semiclassicalJacobiWeight_add_nat (t : ↑(Set.Ioi 1)) (α β γ : ℝ) (k l m : ℕ) (x : ↑(Set.Ioo 0 1)) :
  ↑((Polynomial.semiclassicalJacobiWeight t (α + ↑k) (β + ↑l) (γ + ↑m)) x) =
    ↑x ^ k * (1 - ↑x) ^ l * (↑t - ↑x) ^ m * ↑((Polynomial.semiclassicalJacobiWeight t α β γ) x)
Lean proof
/-- Integer weight shifts on the classical open domain. -/
theorem semiclassicalJacobiWeight_add_nat (t : Ioi (1 : ℝ)) (α β γ : ℝ)
    (k l m : ℕ) (x : Ioo (0 : ℝ) 1) :
    (semiclassicalJacobiWeight t (α + k) (β + l) (γ + m) x : ℝ) =
      ((x : ℝ) ^ k * (1 - (x : ℝ)) ^ l * ((t : ℝ) - x) ^ m) *
        (semiclassicalJacobiWeight t α β γ x : ℝ) := by
  simp only [semiclassicalJacobiWeight_apply]
  exact semiclassicalJacobiWeight_add_nat_rpow t α β γ t.property k l m x.property
source

Raising \((\alpha ,\beta ,\gamma )\) by nonnegative integers \((a,b,c)\) gives an upper connection of bandwidth at most \(a+b+c\). Its leading finite sections have positive diagonal and factor the target-measure Gram matrix as \(R^{\mathsf T}R\). All coefficients are coordinates in the actual normalized polynomial bases.

References: [PGSO24, Theorem 3.2]; [GOS25, Lemma 2.8].

Lean Formalisation
theorem Polynomial.semiclassicalJacobiConnection_eq_zero {t α β γ : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (a b c : ℕ)
  (hαa : -1 < α + ↑a) (hβb : -1 < β + ↑b) (n m : ℕ) (hgap : n < m ∨ m + (a + b + c) < n) :
  Polynomial.semiclassicalJacobiConnection ht hα hβ γ hαa hβb (γ + ↑c) m n = 0
Lean proof
/-- Raising by (a,b,c) gives an upper connection of bandwidth at most a+b+c. -/
theorem semiclassicalJacobiConnection_eq_zero {t α β γ : ℝ} (ht : 1 < t)
    (hα : -1 < α) (hβ : -1 < β) (a b c : ℕ)
    (hαa : -1 < α+a) (hβb : -1 < β+b) (n m : ℕ)
    (hgap : n < m ∨ m+(a+b+c) < n) :
    semiclassicalJacobiConnection ht hα hβ γ hαa hβb (γ+c) m n = 0 := by
  rw [semiclassicalJacobiConnection, Basis.toMatrix_apply, semiclassicalJacobiBasis_apply,
    semiclassicalJacobiBasis_repr]
  have hQ := (semiclassicalJacobiSequence_spec ht hαa hβb (γ+c)).1
  have hP := (semiclassicalJacobiSequence_spec ht hα hβ γ).1
  have hM := hasFiniteMoments_semiclassicalJacobiMeasure (γ := γ) ht hα hβ
  have hT := hasFiniteMoments_semiclassicalJacobiMeasure (γ := γ+c) ht hαa hβb
  rcases hgap with hgap | hgap
  · exact hQ.integralInner_eq_zero_of_degree_lt hT
      (by simpa only [Sequence.degree_eq, Nat.cast_lt] using hgap)
  · rw [integralInner_comm]
    have he := (integral_semiclassicalJacobi_shift_integrable ht α β γ a b c
      ⟨_, hT.integrable_mul (semiclassicalJacobiSequence ht hαa hβb (γ+c) m)
        (semiclassicalJacobiSequence ht hα hβ γ n)⟩).2
    simp only [integralInner] at ⊢
    erw [he]
    have hd : (semiclassicalJacobiShiftDensity t a b c *
        semiclassicalJacobiSequence ht hαa hβb (γ+c) m).natDegree < n :=
      natDegree_mul_le.trans_lt (by
        rw [Sequence.natDegree_eq]
        have := natDegree_semiclassicalJacobiShiftDensity_le t a b c
        omega)
    have hz := hP.integralInner_eq_zero_of_degree_lt hM
      (degree_le_natDegree.trans_lt (by exact_mod_cast hd))
    simpa only [integralInner, eval_mul, mul_assoc] using hz
source

Set \(\sigma =x(1-x)(t-x)\) and \(\tau =(a+1)(1-x)(t-x)-(b+1)x(t-x)-(c+1)x(1-x)\). On \((0,1)\), \((\sigma w)'=\tau w\). For \(t{\gt}1\), \(a,b{\gt}-1\), \(c\in \mathbb {R}\), the raised weight extends continuously to \([0,1]\), with value zero at both endpoints. For the one-sided limit at zero only \(a{\gt}-1\) is needed, while for the limit at one only \(b{\gt}-1\) is needed (always with \(t{\gt}1\)). Consequently every polynomial \(p\) satisfies \(\int (\sigma p'+\tau p)\, d\mu _{t,a,b,c}=0\). These polynomials form a Pearson pair.

Lean Formalisation
theorem Polynomial.hasDerivAt_semiclassicalJacobiWeight_add_one (t : ↑(Set.Ioi 1)) (α β γ : ℝ) (x : ↑(Set.Ioo 0 1)) :
  HasDerivAtOnOpen { carrier := Set.Ioo 0 1, is_open' := ⋯ }
    (fun y => ↑((Polynomial.semiclassicalJacobiWeight t (α + 1) (β + 1) (γ + 1)) y))
    (((α + 1) * (1 - ↑x) * (↑t - ↑x) - (β + 1) * ↑x * (↑t - ↑x) - (γ + 1) * ↑x * (1 - ↑x)) *
      ↑((Polynomial.semiclassicalJacobiWeight t α β γ) x))
    x
Lean proof
/-- Pearson differentiation asserted on the actual open domain. -/
theorem hasDerivAt_semiclassicalJacobiWeight_add_one (t : Ioi (1 : ℝ)) (α β γ : ℝ)
    (x : Ioo (0 : ℝ) 1) :
    HasDerivAtOnOpen ⟨Ioo (0 : ℝ) 1, isOpen_Ioo⟩
      (fun y ↦ (semiclassicalJacobiWeight t (α + 1) (β + 1) (γ + 1) y : ℝ))
      (((α + 1) * (1 - (x : ℝ)) * ((t : ℝ) - x) -
        (β + 1) * (x : ℝ) * ((t : ℝ) - x) - (γ + 1) * (x : ℝ) * (1 - (x : ℝ))) *
        (semiclassicalJacobiWeight t α β γ x : ℝ)) x := by
  classical
  let F : ℝ → ℝ := fun y ↦ if h : y ∈ Ioo (0 : ℝ) 1 then
    (semiclassicalJacobiWeight t (α + 1) (β + 1) (γ + 1) ⟨y, h⟩ : ℝ) else 0
  refine ⟨F, fun y ↦ by
    have hy : (y : ℝ) ∈ Ioo (0 : ℝ) 1 := y.property
    simp only [F, dite_eq_left hy]
    rfl, ?_⟩
  have hev : F =ᶠ[𝓝 (x : ℝ)]
      (fun y ↦ y ^ (α + 1) * (1 - y) ^ (β + 1) * ((t : ℝ) - y) ^ (γ + 1)) := by
    filter_upwards [isOpen_Ioo.mem_nhds x.property] with y hy
    simp only [F, dite_eq_left hy, semiclassicalJacobiWeight_apply]
  exact (hasDerivAt_semiclassicalJacobiWeight_add_one_rpow t α β γ t.property
    x.property).congr_of_eventuallyEq hev
source

This is a Pearson pair; no claim of minimal semiclassical class is made.

Differentiation from parameters \((\alpha ,\beta ,\gamma )\) to \((\alpha +1,\beta +1,\gamma +1)\) has entries only when \(j{\lt}n\le j+2\), for row \(j\) and column \(n\). Its action on finitely supported coefficients reconstructs the ordinary polynomial derivative exactly. The underlying adjoint identity is

\[ \langle p',q\rangle _{\mu _+} =-\langle p,\sigma q'+\tau q\rangle _\mu . \]

No endpoint regularity beyond \(\alpha ,\beta {\gt}-1\) is imposed.

Reference: [PGSO24, Theorem 3.4].

Lean Formalisation
theorem Polynomial.integralInner_semiclassicalJacobi_derivative {t α β γ : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β)
  (p q : Polynomial ℝ) :
  Polynomial.integralInner (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ (α + 1) (β + 1) (γ + 1))
      (Polynomial.IntegrablePair.of (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ (α + 1) (β + 1) (γ + 1))
        (Polynomial.derivative p) q ⋯) =
    -Polynomial.integralInner (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ α β γ)
        (Polynomial.IntegrablePair.of (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ α β γ) p
          (Polynomial.semiclassicalJacobiSigma t * Polynomial.derivative q +
            Polynomial.semiclassicalJacobiTau t α β γ * q)
          ⋯)
Lean proof
/-- Derivative adjoint identity with the shifted measure, with endpoint terms already discharged. -/
theorem integralInner_semiclassicalJacobi_derivative {t α β γ : ℝ}
    (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (p q : ℝ[X]) :
    integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ (α+1) (β+1) (γ+1)) (IntegrablePair.of (semiclassicalJacobiMeasure ⟨t, by assumption⟩ (α+1) (β+1) (γ+1)) p.derivative q (h :=
        (hasFiniteMoments_semiclassicalJacobiMeasure ht (by linarith) (by linarith)).integrable_mul _ _)) =
      - integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) (IntegrablePair.of (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) p (semiclassicalJacobiSigma t*q.derivative + semiclassicalJacobiTau t α β γ*q)) := by
  have hM := hasFiniteMoments_semiclassicalJacobiMeasure (γ := γ) ht hα hβ
  have he := integral_semiclassicalJacobi_pearson (γ := γ) ht hα hβ (p*q)
  have hp : semiclassicalJacobiSigma t*(p*q).derivative + semiclassicalJacobiTau t α β γ*(p*q) =
      (semiclassicalJacobiSigma t*p.derivative)*q +
        p*(semiclassicalJacobiSigma t*q.derivative + semiclassicalJacobiTau t α β γ*q) := by
    rw [derivative_mul]
    ring
  rw [hp] at he
  simp only [eval_add, eval_mul] at he
  have ha := integral_add (hM.integrable_mul (semiclassicalJacobiSigma t*p.derivative) q)
    (hM.integrable_mul p (semiclassicalJacobiSigma t*q.derivative + semiclassicalJacobiTau t α β γ*q))
  simp only [eval_add, eval_mul] at ha
  rw [ha] at he
  rw [integralInner_semiclassicalJacobi_add_one ht p.derivative q (hi := hM.integrable_mul _ _)]
  simp only [integralInner, eval_mul, eval_add]
  linarith
source

For \(t{\gt}1\), \(\alpha ,\beta {\gt}-1\), \(\gamma \in \mathbb R\), weighted differentiation from the simultaneously raised family to the original family is the polynomial map \(q\mapsto \sigma q'+\tau q\). With the positive orthonormal scaling, its matrix is \(-D^{\mathsf T}\), where \(D\) is the unweighted derivative matrix. Column \(j\) is supported only in rows \(j+1,j+2\). Its coefficient action is exact on all finite expansions.

Reference: [PGSO24, Section 3.4].

Lean Formalisation
theorem Polynomial.semiclassicalJacobiWeightedDerivative_eq_neg_transpose {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β)
  (γ : ℝ) (hα1 : -1 < α + 1) (hβ1 : -1 < β + 1) :
  Polynomial.semiclassicalJacobiWeightedDerivative ht hα hβ γ hα1 hβ1 =
    -(Polynomial.semiclassicalJacobiDerivative ht hα hβ γ hα1 hβ1).transpose
Lean proof
/-- The two differentiation matrices are negative transposes with these orthonormal scalings. -/
theorem semiclassicalJacobiWeightedDerivative_eq_neg_transpose {t α β : ℝ} (ht : 1<t)
    (hα : -1<α) (hβ : -1<β) (γ : ℝ) (hα1 : -1<α+1) (hβ1 : -1<β+1) :
    semiclassicalJacobiWeightedDerivative ht hα hβ γ hα1 hβ1 =
      -(semiclassicalJacobiDerivative ht hα hβ γ hα1 hβ1).transpose := by
  ext n j
  simp only [semiclassicalJacobiWeightedDerivative, semiclassicalJacobiDerivative,
    Basis.toMatrix_apply, semiclassicalJacobiBasis_repr, Matrix.neg_apply, Matrix.transpose_apply]
  rw [integralInner_semiclassicalJacobi_derivative ht hα hβ, neg_neg, integralInner_comm]
  rfl
source
Reference details: Partial weighted semiclassical differentiation

For \(t{\gt}1\), \(a,b{\gt}-1\), and real \(\gamma \), the map \(D_c p=(t-x)p'-(\gamma +1)p\) from parameters \((a,b,\gamma +1)\) to \((a+1,b+1,\gamma )\) has support only in rows \(n-1,n\) of column \(n\). Its coefficient action is exact on finite polynomial expansions. Its adjoint identity is

\[ \langle D_cp,z\rangle _{a+1,b+1,\gamma } =-\langle p,x(1-x)z'+[(a+1)(1-x)-(b+1)x]z\rangle _{a,b,\gamma +1}. \]

Reference: [PGSO24, Section 3.4].

Lean Formalisation
theorem Polynomial.integralInner_semiclassicalJacobi_cWeightedDerivative {t α β γ : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β)
  (p q : Polynomial ℝ) :
  Polynomial.integralInner (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ (α + 1) (β + 1) γ)
      (Polynomial.IntegrablePair.of (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ (α + 1) (β + 1) γ)
        ((Polynomial.semiclassicalJacobiCWeightedDerivativeMap t γ) p) q ⋯) =
    -Polynomial.integralInner (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ α β (γ + 1))
        (Polynomial.IntegrablePair.of (Polynomial.semiclassicalJacobiMeasure ⟨t, ht⟩ α β (γ + 1)) p
          (Polynomial.X * (1 - Polynomial.X) * Polynomial.derivative q +
            (Polynomial.C (α + 1) * (1 - Polynomial.X) - Polynomial.C (β + 1) * Polynomial.X) * q)
          ⋯)
Lean proof
/-- Partial weighted differentiation has a quadratic/linear polynomial adjoint. -/
theorem integralInner_semiclassicalJacobi_cWeightedDerivative {t α β γ : ℝ}
    (ht : 1<t) (hα : -1<α) (hβ : -1<β) (p q : ℝ[X]) :
    integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ (α+1) (β+1) γ) (IntegrablePair.of (semiclassicalJacobiMeasure ⟨t, by assumption⟩ (α+1) (β+1) γ) (semiclassicalJacobiCWeightedDerivativeMap t γ p) q (h := (hasFiniteMoments_semiclassicalJacobiMeasure ht (by linarith) (by linarith)).integrable_mul _ _)) =
      -integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β (γ+1)) (IntegrablePair.of (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β (γ+1)) p (X*(1-X)*q.derivative+(C (α+1)*(1-X)-C (β+1)*X)*q)) := by
  have hM := hasFiniteMoments_semiclassicalJacobiMeasure (γ := γ) ht hα hβ
  have hT := hasFiniteMoments_semiclassicalJacobiMeasure (γ := γ) ht
    (show -1<α+1 by linarith) (show -1<β+1 by linarith)
  change integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ (α+1) (β+1) γ) (hT.pair ((C t-X)*p.derivative-C (γ+1)*p) q) = _
  have hMg := hasFiniteMoments_semiclassicalJacobiMeasure (γ := γ+1) ht hα hβ
  have hTg := hasFiniteMoments_semiclassicalJacobiMeasure (γ := γ+1) ht
    (show -1<α+1 by linarith) (show -1<β+1 by linarith)
  rw [integralInner_sub_left hT,
    ← integralInner_semiclassicalJacobi_gamma_add_one (α := α+1) (β := β+1) (γ := γ)
      ht p.derivative q (hi := hTg.integrable_mul _ _) (hj := hT.integrable_mul _ _),
    integralInner_semiclassicalJacobi_derivative ht hα hβ,
    integralInner_semiclassicalJacobi_ab_add_one (α := α) (β := β) (γ := γ)
      ht (C (γ+1)*p) q (hi := hT.integrable_mul _ _) (hj := hM.integrable_mul _ _),
    integralInner_semiclassicalJacobi_gamma_add_one (α := α) (β := β) (γ := γ)
      ht p _ (hi := hMg.integrable_mul _ _) (hj := hM.integrable_mul _ _)]
  have he : integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) (IntegrablePair.of (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) p (semiclassicalJacobiSigma t*q.derivative+semiclassicalJacobiTau t α β γ*q) (h := hM.integrable_mul _ _)) +
      integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) (IntegrablePair.of (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) (X*(1-X)*(C (γ+1)*p)) q (h := hM.integrable_mul _ _)) =
      integralInner (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) (IntegrablePair.of (semiclassicalJacobiMeasure ⟨t, by assumption⟩ α β γ) ((C t-X)*p) (X*(1-X)*q.derivative+(C (α+1)*(1-X)-C (β+1)*X)*q) (h := hM.integrable_mul _ _)) := by
    rw [integralInner, integralInner, integralInner, ← integral_add
      (hM.integrable_mul p _) (hM.integrable_mul _ q)]
    apply integral_congr_ae
    filter_upwards [] with x
    simp only [eval_add, eval_sub, eval_mul, eval_X, eval_C, eval_one,
      semiclassicalJacobiSigma, semiclassicalJacobiTau]
    ring
  linarith
source

One-dimensional families also give separated bases in several variables. The next chapter treats product domains, triangles and disks. On the annulus, the radial factor will be a semiclassical Jacobi polynomial.

5.2.1 Constructing the parameter hierarchy

Fix \(t{\gt}1\), \(\alpha ,\beta {\gt}-1\) and \(\gamma \in \mathbb {R}\). Write \(p_j^{(\gamma )}\) for the positive-leading orthonormal semiclassical Jacobi polynomial with these parameters. Changing \(\gamma \) gives two ways to construct the next family: Cholesky for a unit shift and QR for a two-step shift. The finite formulas below include the extra mode produced by multiplication by \(x\).

Definition 5.2.15 Jacobi matrices and raising sections
✓ 🤖

Let \(X^{(\gamma )}_{ij}=[p_i^{(\gamma )}](x p_j^{(\gamma )})\). For \(c,N\in \mathbb {N}\), let \(R_{c,N}\) be the leading \(N\times N\) section of the connection from \(p^{(\gamma )}\) to \(p^{(\gamma +c)}\): \((R_{c,N})_{ij}=[p_i^{(\gamma +c)}]p_j^{(\gamma )}\), \(0\le i,j{\lt}N\). Here \([p_i]q\) denotes the coordinate of \(q\) in the indicated polynomial basis.

Lean Formalisation
def Polynomial.semiclassicalJacobiMatrix {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) : Matrix ℕ ℕ ℝ
Lean definition
/-- Multiplication by the coordinate in the positive orthonormal semiclassical basis. -/
noncomputable def semiclassicalJacobiMatrix {t α β : ℝ} (ht : 1 < t)
    (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) : Matrix ℕ ℕ ℝ :=
  (semiclassicalJacobiBasis ht hα hβ γ).toMatrix
    (fun j ↦ X * semiclassicalJacobiSequence ht hα hβ γ j)
source
Structure and Gram identities

\(X^{(\gamma )}\) is symmetric and tridiagonal. Each \(R_{c,N}\) is upper triangular, with positive diagonal, and invertible. Moreover,

\[ [\, [p_i^{(\gamma )}]((t-x)^c p_j^{(\gamma )})\, ]_{i,j{\lt}N} =R_{c,N}^{\mathsf T}R_{c,N}. \]

The multiplication on the left is performed on polynomials before taking the section.

Lean Formalisation
theorem Polynomial.semiclassicalJacobiMatrix_isBanded {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) :
  (Polynomial.semiclassicalJacobiMatrix ht hα hβ γ).IsBanded 1 1
Lean proof
/-- The orthonormal Jacobi matrix is tridiagonal. -/
theorem semiclassicalJacobiMatrix_isBanded {t α β : ℝ} (ht : 1 < t)
    (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) :
    (semiclassicalJacobiMatrix ht hα hβ γ).IsBanded 1 1 :=
  (semiclassicalJacobiSequence_spec ht hα hβ γ).1.mul_matrix_isBanded
    (hasFiniteMoments_semiclassicalJacobiMeasure ht hα hβ)
    (hasPositiveDefiniteIntegral_semiclassicalJacobiMeasure ht hα hβ) _
source
Theorem 5.2.17 Cholesky construction of a unit shift
✓ 🤖

For every \(N\in \mathbb {N}\),

\[ tI_N-X^{(\gamma )}_N=R_{1,N}^{\mathsf T}R_{1,N}. \]

Thus \(R_{1,N}\) is the unique upper triangular factor with positive diagonal. Reference: [PGSO24, Section 3.1].

Lean Formalisation
theorem Polynomial.semiclassicalJacobiRaisingSection_cholesky {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ)
  (N : ℕ) :
  (t • 1 - Matrix.of fun i j => Polynomial.semiclassicalJacobiMatrix ht hα hβ γ ↑i ↑j) =
    (Polynomial.semiclassicalJacobiRaisingSection ht hα hβ γ 1 N).transpose *
      Polynomial.semiclassicalJacobiRaisingSection ht hα hβ γ 1 N
Lean proof
/-- A unit parameter shift is the Cholesky factorization of `t I - X`. -/
theorem semiclassicalJacobiRaisingSection_cholesky {t α β : ℝ} (ht : 1 < t)
    (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) (N : ℕ) :
    t • (1 : Matrix (Fin N) (Fin N) ℝ) -
        (Matrix.of (fun i j : Fin N ↦ semiclassicalJacobiMatrix ht hα hβ γ i j)) =
      (semiclassicalJacobiRaisingSection ht hα hβ γ 1 N).transpose *
        semiclassicalJacobiRaisingSection ht hα hβ γ 1 N := by
  rw [← semiclassicalJacobiRaisingSection_gram]
  ext i j
  simp only [Matrix.of_apply, pow_one, sub_mul, C_mul', map_sub, map_smul, Finsupp.sub_apply,
    Finsupp.smul_apply, smul_eq_mul, Matrix.sub_apply, Matrix.smul_apply,
    semiclassicalJacobiMatrix, Basis.toMatrix_apply]
  rw [← semiclassicalJacobiBasis_apply ht hα hβ γ j, Basis.repr_self]
  simp [Matrix.one_apply, Finsupp.single_apply, Fin.ext_iff, eq_comm]
source
Theorem 5.2.18 Padded Jacobi update
✓ 🤖

For any other real parameter \(\gamma '\), write \(R\) for the connection from \(p^{(\gamma )}\) to \(p^{(\gamma ')}\). With indices starting at zero,

\[ R_{[0,N),[0,N+1)}X^{(\gamma )}_{[0,N+1),[0,N)} =X^{(\gamma ')}_N R_{[0,N),[0,N)}. \]

In particular, when \(\gamma '=\gamma +c\), \(c\in \mathbb {N}\), there is a matrix \(S\) with \(R_{c,N}S=SR_{c,N}=I_N\), and

\[ X^{(\gamma +c)}_N= R_{[0,N),[0,N+1)}X^{(\gamma )}_{[0,N+1),[0,N)}S. \]

Reference: [PGSO24, Sections 3.2 and 3.5].

Lean Formalisation
theorem Polynomial.semiclassicalJacobi_padded_intertwining {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ γ' : ℝ)
  (N : ℕ) :
  ((Matrix.of fun i k => Polynomial.semiclassicalJacobiConnection ht hα hβ γ hα hβ γ' ↑i ↑k) *
      Matrix.of fun k j => Polynomial.semiclassicalJacobiMatrix ht hα hβ γ ↑k ↑j) =
    (Matrix.of fun i j => Polynomial.semiclassicalJacobiMatrix ht hα hβ γ' ↑i ↑j) *
      Matrix.of fun i j => Polynomial.semiclassicalJacobiConnection ht hα hβ γ hα hβ γ' ↑i ↑j
Lean proof
/-- The connection intertwines multiplication, with one extra intermediate mode.
The right product needs no extra mode because conversion does not raise degree. -/
theorem semiclassicalJacobi_padded_intertwining (γ γ' : ℝ) (N : ℕ) :
    (Matrix.of (fun i : Fin N ↦ fun k : Fin (N+1) ↦
      semiclassicalJacobiConnection ht hα hβ γ hα hβ γ' i k)) *
      (Matrix.of (fun k : Fin (N+1) ↦ fun j : Fin N ↦ semiclassicalJacobiMatrix ht hα hβ γ k j)) =
    (Matrix.of (fun i j : Fin N ↦ semiclassicalJacobiMatrix ht hα hβ γ' i j)) *
      (Matrix.of (fun i j : Fin N ↦ semiclassicalJacobiConnection ht hα hβ γ hα hβ γ' i j)) := by
  ext i j
  simp only [Matrix.mul_apply, Matrix.of_apply, semiclassicalJacobiConnection, semiclassicalJacobiMatrix,
    Basis.toMatrix_apply, semiclassicalJacobiBasis_apply]
  have hleft := semiclassicalJacobi_repr_map_sum ht hα hβ γ
    (semiclassicalJacobiBasis ht hα hβ γ') LinearMap.id
    (X * semiclassicalJacobiSequence ht hα hβ γ j) (N+1)
    (by have := natDegree_mul_le (p := (X : ℝ[X])) (q := semiclassicalJacobiSequence ht hα hβ γ j)
        simp only [natDegree_X, Sequence.natDegree_eq] at this
        omega) i
  have hright := semiclassicalJacobi_repr_map_sum ht hα hβ γ'
    (semiclassicalJacobiBasis ht hα hβ γ') (LinearMap.mulLeft ℝ X)
    (semiclassicalJacobiSequence ht hα hβ γ j) N (by simp) i
  simp only [LinearMap.id_apply, LinearMap.mulLeft_apply] at hleft hright
  exact hleft.symm.trans hright
source
Definition 5.2.19 Rectangular factors for a two-step shift
✓ 🤖

For \(0\le i{\lt}N+1\) and \(0\le j{\lt}N\), define

\[ (A_N)_{ij}=[p_i^{(\gamma )}]((t-x)p_j^{(\gamma )}),\qquad (Q_N)_{ij}=[p_i^{(\gamma )}]((t-x)p_j^{(\gamma +2)}). \]
Lean Formalisation
def Polynomial.semiclassicalJacobiQRSection {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) (N : ℕ) :
  Matrix (Fin (N + 1)) (Fin N) ℝ
Lean definition
/-- The orthogonal factor's columns are `(t-X)` times the twice-raised basis. -/
noncomputable def semiclassicalJacobiQRSection (γ : ℝ) (N : ℕ) :
    Matrix (Fin (N+1)) (Fin N) ℝ := fun i j ↦
  (semiclassicalJacobiBasis ht hα hβ γ).repr
    ((C t-X) * semiclassicalJacobiSequence ht hα hβ (γ+2) j) i
source

The two-step raising section is the positive-diagonal triangular factor in the rectangular QR factorization

\[ A_N=Q_NR_{2,N},\qquad Q_N^{\mathsf T}Q_N=I_N. \]

The twice-raised Jacobi matrix is obtained by the exact padded compression

\[ X^{(\gamma +2)}_N=Q_N^{\mathsf T}X^{(\gamma )}_{N+1}Q_N. \]

Together with the unit-shift Cholesky factorization, these identities construct successive levels of the semiclassical Jacobi parameter hierarchy. Reference: [PGSO24, Sections 3.1, 3.2 and 3.5].

Lean Formalisation
theorem Polynomial.semiclassicalJacobiShiftSection_eq_QR {t α β : ℝ} (ht : 1 < t) (hα : -1 < α) (hβ : -1 < β) (γ : ℝ) (N : ℕ) :
  Polynomial.semiclassicalJacobiShiftSection ht hα hβ γ N =
    Polynomial.semiclassicalJacobiQRSection ht hα hβ γ N * Polynomial.semiclassicalJacobiRaisingSection ht hα hβ γ 2 N
Lean proof
/-- The rectangular multiplication section is exactly Q times the two-step connection. -/
theorem semiclassicalJacobiShiftSection_eq_QR (γ : ℝ) (N : ℕ) :
    semiclassicalJacobiShiftSection ht hα hβ γ N =
      semiclassicalJacobiQRSection ht hα hβ γ N *
        semiclassicalJacobiRaisingSection ht hα hβ γ 2 N := by
  ext i j
  simpa only [semiclassicalJacobiShiftSection, semiclassicalJacobiQRSection,
    semiclassicalJacobiRaisingSection, semiclassicalJacobiConnection,
    Matrix.mul_apply, Basis.toMatrix_apply, semiclassicalJacobiBasis_apply,
    Nat.cast_ofNat, LinearMap.mulLeft_apply] using
    semiclassicalJacobi_repr_map_sum ht hα hβ (γ+2)
      (semiclassicalJacobiBasis ht hα hβ γ) (LinearMap.mulLeft ℝ (C t-X))
      (semiclassicalJacobiSequence ht hα hβ γ j) N (by simp) i
source