Schur lemma (report L9) (round six, `schur_row`)
ProvedJ6Seg.schur_rowSchur lemma (report L9). If every row of a - I on j :: L has absolute sum ≤ η ≤ 1/2,
then so does every row of the Schur complement a_ik - a_ij a_jk / a_jj on L.
The following holds (Lean statement, in the scope of module Solutions.J6SegFix):
theorem J6Seg.schur_row {a : ℕ → ℕ → ℝ} {j : ℕ} {L : List ℕ} (hj : j ∉ L) {η : ℝ} (hη : η ≤ 1 / 2)
(hrow : ∀ i ∈ j :: L, |a i j - kd i j| + ∑ k ∈ L.toFinset, |a i k - kd i k| ≤ η) :
∀ i ∈ L, ∑ k ∈ L.toFinset, |a i k - a i j * a j k / a j j - kd i k| ≤ η
Context. Segmented inverse (S2): fixed-point primitives and elimination without pivoting
Fixed-point numbers of precision P are integers a standing for a / 2^P.
rq a b = ⌊a/b + 1/2⌋(rounded quotient),rs P a = rq a (2^P),fmul P x y = rs P (x*y)andfdiv P x y = rq (x 2^P) y(errors≤ 1/2ulp).geSolve P L A b: Gaussian elimination without pivoting in the order of the index listL, written as forward elimination of the head pivot followed by back substitution.schur_row(report L9): if every row ofA - Ihas absolute sum≤ η ≤ 1/2, the same holds for the Schur complement after eliminating one pivot; hence for every Schur complement, and no pivoting is ever needed (any order, any sparsity pattern, cyclic borders included).near_id:‖A - I‖_∞ ≤ η < 1and‖A z - r‖ ≤ ρgive‖z‖ ≤ (‖r‖ + ρ)/(1 - η).geSolve_resid: the computed solution has residual≤ (Z+1)(|L|+1)²/2^P;geSolve_bound: and|z| ≤ 4B + 1.
Formalization Note. Part of the Lean formalization of the round-six κ-improvement (integer-multiplication-kappa campaign, target IntMul.Kappa.jain_round6_framework). The statement is copied verbatim from the Lean development; the platform node carries the same declaration name. Definitions it mentions live in the IntMul_Kappa_R6_Defs* bundles (on top of the published κ bundles IntMul_Kappa_K_Defs*).
-- Round-six κ development (integer-multiplication-kappa), generated by skeleton subtraction. import Definitions.Def_IntMul_Kappa_R6_Defs3 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open J6Seg open Finset
theorem J6Seg.schur_row {a : ℕ → ℕ → ℝ} {j : ℕ} {L : List ℕ} (hj : j ∉ L) {η : ℝ} (hη : η ≤ 1 / 2)
(hrow : ∀ i ∈ j :: L, |a i j - kd i j| + ∑ k ∈ L.toFinset, |a i k - kd i k| ≤ η) :
∀ i ∈ L, ∑ k ∈ L.toFinset, |a i k - a i j * a j k / a j j - kd i k| ≤ η := by sorry