Documentation

LeanPool.HighContrastHomogenization.Support.CoarseGraining.Subadditivity

Coarse-graining support: Support.CoarseGraining.Subadditivity #

Imported from the Apache-2.0 CoarseGraining development at commit c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.

Subadditivity and scaling results for the deterministic coarse objects.

This file is reserved for the theorem families implementing the Chapter-2 note label l.cg.subadditivity.basic.definitions together with the downstream block-matrix subadditivity consequences.

Planned theorem-family prefixes:

theorem HCPolySupport.descendantsAverage_add {d : ℕ} (Q : TriadicCube d) (j : ℕ) (F G : TriadicCube d → ℝ) :
(descendantsAverage Q j fun (R : TriadicCube d) => F R + G R) = descendantsAverage Q j F + descendantsAverage Q j G
theorem HCPolySupport.descendantsAverage_smul {d : ℕ} (Q : TriadicCube d) (j : ℕ) (c : ℝ) (F : TriadicCube d → ℝ) :
(descendantsAverage Q j fun (R : TriadicCube d) => c * F R) = c * descendantsAverage Q j F
noncomputable def HCPolySupport.descendantsAverageMat {d : ℕ} (Q : TriadicCube d) (j : ℕ) (F : TriadicCube d → Mat d) :
Mat d

Entrywise descendants average of a matrix-valued observable on the depth-j descendants of Q.

Equations
Instances For
    noncomputable def HCPolySupport.descendantsAverageBlockMat {d : ℕ} (Q : TriadicCube d) (j : ℕ) (F : TriadicCube d → BlockMat d) :

    Entrywise descendants average of a block-matrix-valued observable on the depth-j descendants of Q.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem HCPolySupport.matVecMul_descendantsAverageMat {d : ℕ} (Q : TriadicCube d) (j : ℕ) (F : TriadicCube d → Mat d) (x : Vec d) :
      matVecMul (descendantsAverageMat Q j F) x = fun (i : Fin d) => descendantsAverage Q j fun (R : TriadicCube d) => matVecMul (F R) x i
      theorem HCPolySupport.coarseMatrix_subadditive_cube_descendants_blockQuadratic {d : ℕ} (j : ℕ) (Q : TriadicCube d) (a : CoeffField d) {lam Lam : ℝ} (hEll : IsEllipticFieldOn lam Lam (openCubeSet Q) a) (hRespQ : ∀ (p q : Vec d), ResponseJ (openCubeSet Q) p q a = 1 / 2 * blockVecDot (-p, q) (blockMatVecMul (coarseBlockMatrix (openCubeSet Q) a) (-p, q)) - vecDot p q) (hRespDesc : ∀ R ∈ descendantsAtDepth Q j, ∀ (p q : Vec d), ResponseJ (openCubeSet R) p q a = 1 / 2 * blockVecDot (-p, q) (blockMatVecMul (coarseBlockMatrix (openCubeSet R) a) (-p, q)) - vecDot p q) (X : BlockVec d) :