Documentation

LeanPool.HighContrastHomogenization.Entry.Geometry.RoundedGridBasic

High-contrast homogenization: Entry.Geometry.RoundedGridBasic #

Imported from the Apache-2.0 HighContrastHomogenization development at commit 7a13dbcd8d6609264a713373f5c69ceeac870472.

Rounded Grid Basic #

The rounded grid š’¬(š”Ŗ) and its elementary properties. For a positive matrix š”Ŗ and 3^{j_*} ≄ 2d, the entrywise definition (š’¬(š”Ŗ))_{ab} = 3^{-j_*} ⌈3^{j_*} |š”Ŗā»Ā¹|^{1/2} (š”Ŗ^{1/2})_{ab}āŒ‰ gives a symmetric matrix whose rounding error from |š”Ŗā»Ā¹|^{1/2} š”Ŗ^{1/2} has operator norm at most d 3^{-j_*} ≤ 1/2, and the three estimates of e.rounded.grid.bounds hold — š’¬(š”Ŗ) ≄ ½ Id, |š’¬(š”Ŗ)⁻¹| ≤ 2 and |š’¬(š”Ŗ)| ≤ 2 (|š”Ŗ| |š”Ŗā»Ā¹|)^{1/2} — together with 3^j š’¬(š”Ŗ) ℤ^d āŠ† ℤ^d for j ≄ j_*. The module also derives l.source.whitney for the source-shaped cells defined by š’¬(š”Ŗ) and records the comparison with the Euclidean grid used by the initialization.

The rounded grid š’¬(š”Ŗ) — definition only #

Near e.rounded.grid.bounds. Fix j_* ∈ ā„•. For every matrix š”Ŗ,

(š’¬(š”Ŗ))_{ab} := 3^{-j_*} ⌈ 3^{j_*} |š”Ŗā»Ā¹|^{1/2} (š”Ŗ^{1/2})_{ab} āŒ‰.

Here |Ā·| is the Euclidean operator norm (Mathlib's ‖·‖ under Matrix.Norms.L2Operator) and š”Ŗ^{1/2} is CFC.sqrt š”Ŗ. j_* is a parameter of the definition (the entries depend on it); the standing constraint 3^{j_*} ≄ 2d is a hypothesis on the theorems that use it.

This module is a definition-only leaf: it holds explicitRoundedGrid and nothing else. Every theorem about explicitRoundedGrid, including e.rounded.grid.bounds, lives in HCPoly.Entry.Geometry.RoundedGrid, which imports this module.

noncomputable def HCPolySupport.HighContrast.Geometry.explicitRoundedGrid {d : ā„•} (jStar : ā„•) (m : Mat d) :
Mat d

The rounded grid š’¬(š”Ŗ), entrywise as printed: (š’¬(š”Ŗ))_{ab} = 3^{-j_*} ⌈ 3^{j_*} |š”Ŗā»Ā¹|^{1/2} (š”Ŗ^{1/2})_{ab} āŒ‰.

This is not the roundedGrid of HCPolySupport.HighContrast (HCPoly/Setup/Geometry.lean), which takes the scale as an integer and writes the same entries through specBound (the scalar Loewner bound) and matSqrt (the chosen positive-semidefinite square root). Here the scale is the natural number j_* and the entries are written out with the Euclidean operator norm and CFC.sqrt, so the two agree on positive definite arguments at integer scales but not by unfolding.

Equations
Instances For

    The rounded grid š’¬(š”Ŗ) and e.rounded.grid.bounds #

    Near e.rounded.grid.bounds. Fix j_* ∈ ā„• with 3^{j_*} ≄ 2d. For every positive matrix š”Ŗ,

    (š’¬(š”Ŗ))_{ab} := 3^{-j_*} ⌈ 3^{j_*} |š”Ŗā»Ā¹|^{1/2} (š”Ŗ^{1/2})_{ab} āŒ‰.

    Here |Ā·| is the Euclidean operator norm (Mathlib's ‖·‖ under Matrix.Norms.L2Operator) and š”Ŗ^{1/2} is CFC.sqrt š”Ŗ. The print asserts: š’¬(š”Ŗ) is symmetric; the rounding error has operator norm at most d 3^{-j_*} ≤ 1/2; the unrounded matrix |š”Ŗā»Ā¹|^{1/2} š”Ŗ^{1/2} has smallest eigenvalue 1 and largest eigenvalue (|š”Ŗ| |š”Ŗā»Ā¹|)^{1/2}; hence (e.rounded.grid.bounds)

    q ≄ ½ Id, |q⁻¹| ≤ 2, |q| ≤ 2 (|š”Ŗ| |š”Ŗā»Ā¹|)^{1/2} for q = š’¬(š”Ŗ);

    and 3^j q ℤ^d āŠ† ℤ^d for j ≄ j_*.

    The definition explicitRoundedGrid itself lives in the definition-only leaf HCPoly.Entry.Geometry.RoundedGridDef (imported here), separately from the proofs below. j_* is a parameter of the definition (the entries depend on it) and the standing constraint 3^{j_*} ≄ 2d is a hypothesis hj on the theorems that use it; symmetry and the entrywise rounding bound do not need it. Each of the three bounds is given in the vector form used by l.source.whitney and in Mathlib's operator-norm (or Loewner-order) form. The bridge to node 1 is inverseNormLE_roundedGrid, and source_whitney_roundedGrid is the printed lemma with q = š’¬(š”Ŗ).

    Definitions #

    The unrounded matrix |š”Ŗā»Ā¹|^{1/2} š”Ŗ^{1/2}.

    Equations
    Instances For
      theorem HCPolySupport.HighContrast.Geometry.explicitRoundedGrid_apply {d : ā„•} (jStar : ā„•) (m : Mat d) (a b : Fin d) :
      explicitRoundedGrid jStar m a b = (3 ^ jStar)⁻¹ * ā†‘āŒˆ3 ^ jStar * unroundedGrid m a bāŒ‰

      Symmetry #

      The rounding error #

      Each entry of the rounding error ⌈xāŒ‰ - x scaled by 3^{-j_*} has absolute value at most 3^{-j_*}.

      The rounding error has operator norm at most d 3^{-j_*}, in vector form.

      The rounding error has operator norm at most d 3^{-j_*}.

      theorem HCPolySupport.HighContrast.Geometry.mul_inv_pow_le_half {d jStar : ā„•} (hj : 2 * d ≤ 3 ^ jStar) :
      ↑d * (3 ^ jStar)⁻¹ ≤ 1 / 2

      The standing 3^{j_*} ≄ 2d gives d 3^{-j_*} ≤ 1/2.

      The rounding error has operator norm at most 1/2, in vector form.

      The unrounded matrix #

      The smallest eigenvalue of the unrounded matrix is at least one: |v|² ≤ ⟨v, U v⟩.

      The largest eigenvalue of the unrounded matrix is at most (|š”Ŗ| |š”Ŗā»Ā¹|)^{1/2}: ⟨v, U v⟩ ≤ (ā€–š”Ŗā€– ā€–š”Ŗā»Ā¹ā€–)^{1/2} |v|².

      e.rounded.grid.bounds, first bound: q ≄ ½ Id #

      Second bound: |q⁻¹| ≤ 2, and the bridge to l.source.whitney #

      The bridge to node 1: q = š’¬(š”Ŗ) satisfies |v|² ≤ 4 |q v|², i.e. |q⁻¹| ≤ 2.

      |q⁻¹| ≤ 2 in vector form: |q⁻¹ w|² ≤ 2² |w|².

      |q⁻¹| ≤ 2 for the Euclidean operator norm.

      Third bound: |q| ≤ 2 (|š”Ŗ| |š”Ŗā»Ā¹|)^{1/2} #

      |š”Ŗ| |š”Ŗā»Ā¹| ≄ 1 as soon as there is a nonzero vector.

      |q| ≤ 2 (|š”Ŗ| |š”Ŗā»Ā¹|)^{1/2} in vector form.

      |q| ≤ 2 (|š”Ŗ| |š”Ŗā»Ā¹|)^{1/2} for the Euclidean operator norm.

      Integrality: 3^j š’¬(š”Ŗ) ℤ^d āŠ† ℤ^d for j ≄ j_* #

      theorem HCPolySupport.HighContrast.Geometry.explicitRoundedGrid_mulVec_intCast {d : ā„•} (jStar : ā„•) (m : Mat d) {j : ℤ} (hj : ↑jStar ≤ j) (w : Fin d → ℤ) :
      ∃ (w' : Fin d → ℤ), (3 ^ j • Matrix.mulVec (explicitRoundedGrid jStar m) fun (i : Fin d) => ↑(w i)) = fun (i : Fin d) => ↑(w' i)

      3^j š’¬(š”Ŗ) maps integer vectors to integer vectors whenever j ≄ j_*.

      l.source.whitney at q = š’¬(š”Ŗ) #

      theorem HCPolySupport.HighContrast.Geometry.source_whitney_roundedGrid {d jStar : ā„•} {m : Mat d} [NeZero d] (hj : 2 * d ≤ 3 ^ jStar) (hm : Matrix.PosDef m) (j : ℤ) (y : Vec d) :
      (āˆ€ p ∈ maximalCellPairs (adaptedCellTranslate (explicitRoundedGrid jStar m) j y) j, standardCell d p.1 p.2 āŠ† adaptedCellTranslate (explicitRoundedGrid jStar m) j y) ∧ ((maximalCellPairs (adaptedCellTranslate (explicitRoundedGrid jStar m) j y) j).PairwiseDisjoint fun (p : ℤ Ɨ (Fin d → ℤ)) => standardCell d p.1 p.2) ∧ MeasureTheory.volume (adaptedCellTranslate (explicitRoundedGrid jStar m) j y \ ā‹ƒ p ∈ maximalCellPairs (adaptedCellTranslate (explicitRoundedGrid jStar m) j y) j, standardCell d p.1 p.2) = 0 ∧ āˆ€ r ≤ j, ∃ (hfin : (maximalCellIndices (adaptedCellTranslate (explicitRoundedGrid jStar m) j y) j r).Finite), āˆ‘ w ∈ hfin.toFinset, (MeasureTheory.volume (standardCell d r w)).toReal / (MeasureTheory.volume (adaptedCellTranslate (explicitRoundedGrid jStar m) j y)).toReal ≤ 12 * ↑d ^ (3 / 2) * 3 ^ (r - j)

      l.source.whitney, source-shaped. Let š”Ŗ > 0, q = š’¬(š”Ŗ), W = y + ā‹„_j^q. The maximal standard aligned cubes contained in W with generations at most j are pairwise disjoint subsets of W covering W up to a null set, each generation r ≤ j has finitely many of them, and Ī£_{z ∈ š’µ_r(W)} |ā–”_r| / |W| ≤ 12 d^{3/2} 3^{r-j}.

      The Euclidean grid #

      The initialization uses the literal Euclidean grid (1 : Mat d), while the rounded-grid infrastructure is stated for Geometry.explicitRoundedGrid jStar m. This file records the exact identity-grid bridges used to move between those surfaces.

      The unrounded grid of the Euclidean metric is the identity.

      The rounded grid of the Euclidean metric is the identity.

      The Euclidean metric is positive definite.

      The literal Euclidean grid is invertible.

      The adapted cell for the identity grid is the centered standard cell.

      The translated adapted cell at the origin is the standard cell.

      theorem HCPolySupport.HighContrast.Geometry.adaptedCell_one_subset_centeredCube {d : ā„•} (j : ℤ) {jStar : ā„•} (hj : j ≤ 2 * ↑jStar) :
      adaptedCell 1 j āŠ† centeredCube d (2 * ↑jStar)

      Identity adapted cells lie in the source window whenever their generation does.