Documentation

LeanPool.HighContrastHomogenization.Provider.Response.LoadCalibrationMetric

High-contrast homogenization: Provider.Response.LoadCalibrationMetric #

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

The calibrated canonical sandwich #

The first two boxed displays of the response-load calibration:

β⁻¹ šŒā‚€ ≤ š†ā‚€įµ— M(E_t) š†ā‚€ ≤ β šŒā‚€,      Īŗ_t ≤ ϱ^d Īŗ_s,   Īŗ_s ≤ ϱ^{2d} Īŗ_t,

together with the two canonical-balance chains the later displays consume,

β⁻¹ šŒā‚€ ≤ Ê_t ≤ β√κ_t šŒā‚€,            Ê_s ≤ c_ε √κ_s šŒā‚€.

Here E⁰, E_s, E_t are positive doubled blocks with E_t ≤ E_s, E_s^♯ ≤ E_s, E_t^♯ ≤ E_t, and (1-ε_cal)E⁰ ≤ E_s ≤ (1+ε_cal)E⁰; c_ε = ((1+ε_cal)/(1-ε_cal))^{1/2}, ϱ = (det E_s/det E_t)^{1/d}, β = c_ε ϱ^{d/2}, and š†ā‚€ = G_{g(E⁰)}, šŒā‚€ = diag(m(E⁰), m(E⁰)⁻¹).

The proof is the printed one. Sharp order reversal turns the near-isometry hypothesis into a comparison of sharps; joint monotonicity and homogeneity of the metric geometric mean turn that into c_ε⁻¹ M(E⁰) ≤ M(E_s) ≤ c_ε M(E⁰), the comparison of the canonical metrics of two near-isometric blocks. The determinant-loss comparison e.global.selection.metric.loss at the ordered pair (E_s, E_t) supplies ϱ^{-d/2} M(E_t) ≤ M(E_s) ≤ ϱ^{d/2} M(E_t) and the two imbalance clauses. Composing gives the sandwich around M(E⁰), and congruence by š†ā‚€ moves it onto šŒā‚€, because M(E⁰) = G_{-gā‚€}įµ— šŒā‚€ G_{-gā‚€} and G_{-gā‚€}G_{gā‚€} = I.

There are no definitions in this file.

Scalar dilation helpers #

theorem HCPolySupport.HighContrast.Response.le_of_smul_inv_le {n : Type u_1} {c : ā„} (hc : 0 < c) {A B : Matrix n n ā„} (h : c⁻¹ • A ≤ B) :

Cancel a positive dilation on the left of a Loewner bound.

The near-isometric mean comparison #

theorem HCPolySupport.HighContrast.Response.canonBlock_near_isometry {d : ā„•} {E0 Es : FullBlockMat d} (hE0 : Matrix.PosDef E0) (hEs : Matrix.PosDef Es) {z : ā„} (hz0 : 0 ≤ z) (hz1 : z < 1) (hlow : (1 - z) • E0 ≤ Es) (hhigh : Es ≤ (1 + z) • E0) :

The near-isometric mean comparison of the canonical metrics: c_ε⁻¹ M(E⁰) ≤ M(E_s) ≤ c_ε M(E⁰) with c_ε = ((1+ζ)/(1-ζ))^{1/2}. This is the internal step of e.global.selection.metric.comparison, which reports only the imbalance and projective consequences.

Congruence by the canonical shear #

The canonical block is šŒā‚€ after congruence by š†ā‚€. The canonical factorization reads M(E⁰) = G_{-gā‚€}įµ— šŒā‚€ G_{-gā‚€}, and shears compose additively, so conjugating by G_{gā‚€} cancels the shear exactly.

The calibrated sandwich #

theorem HCPolySupport.HighContrast.Response.canonBlock_sandwich {d : ā„•} {E0 Es Et : FullBlockMat d} (hd : 2 ≤ d) (hE0 : Matrix.PosDef E0) (hEs : Matrix.PosDef Es) (hEt : Matrix.PosDef Et) (hts : Et ≤ Es) {z ceps rho beta : ā„} (hz0 : 0 ≤ z) (hz1 : z < 1) (hlow : (1 - z) • E0 ≤ Es) (hhigh : Es ≤ (1 + z) • E0) (hceps : ceps = √((1 + z) / (1 - z))) (hrho : rho = canonDetRatio Es Et) (hbeta : beta = ceps * √(rho ^ d)) :

The calibrated sandwich around M(E⁰). Composing the near-isometric mean comparison with the determinant-loss mean comparison gives β⁻¹ M(E⁰) ≤ M(E_t) ≤ β M(E⁰) with β = c_ε ϱ^{d/2}.

theorem HCPolySupport.HighContrast.Response.metric_sandwich {d : ā„•} {E0 Es Et : FullBlockMat d} (hd : 2 ≤ d) (hE0 : Matrix.PosDef E0) (hEs : Matrix.PosDef Es) (hEt : Matrix.PosDef Et) (hts : Et ≤ Es) {z ceps rho beta : ā„} (hz0 : 0 ≤ z) (hz1 : z < 1) (hlow : (1 - z) • E0 ≤ Es) (hhigh : Es ≤ (1 + z) • E0) (hceps : ceps = √((1 + z) / (1 - z))) (hrho : rho = canonDetRatio Es Et) (hbeta : beta = ceps * √(rho ^ d)) {G0 M0 : FullBlockMat d} (hG0 : G0 = fullBlockShear (canonShear E0)) (hM0 : M0 = Matrix.fromBlocks (canonMetric E0) 0 0 (canonMetric E0)⁻¹) :

The first boxed display of the response-load calibration: β⁻¹ šŒā‚€ ≤ š†ā‚€įµ— M(E_t) š†ā‚€ ≤ β šŒā‚€.

theorem HCPolySupport.HighContrast.Response.imbalance_comparisons {d : ā„•} {Es Et : FullBlockMat d} (hd : 2 ≤ d) (hEs : Matrix.PosDef Es) (hEt : Matrix.PosDef Et) (hts : Et ≤ Es) {rho : ā„} (hrho : rho = canonDetRatio Es Et) :

The second boxed display of the response-load calibration: the two imbalance comparisons Īŗ_t ≤ ϱ^d Īŗ_s and Īŗ_s ≤ ϱ^{2d} Īŗ_t, at ϱ = (det E_s/det E_t)^{1/d}.

The two balance chains #

theorem HCPolySupport.HighContrast.Response.hatE_terminal_sandwich {d : ā„•} {E0 Es Et : FullBlockMat d} (hd : 2 ≤ d) (hE0 : Matrix.PosDef E0) (hEs : Matrix.PosDef Es) (hEt : Matrix.PosDef Et) (hts : Et ≤ Es) (htSharp : fullBlockSharp Et ≤ Et) {z ceps rho beta : ā„} (hz0 : 0 ≤ z) (hz1 : z < 1) (hlow : (1 - z) • E0 ≤ Es) (hhigh : Es ≤ (1 + z) • E0) (hceps : ceps = √((1 + z) / (1 - z))) (hrho : rho = canonDetRatio Es Et) (hbeta : beta = ceps * √(rho ^ d)) {G0 M0 : FullBlockMat d} (hG0 : G0 = fullBlockShear (canonShear E0)) (hM0 : M0 = Matrix.fromBlocks (canonMetric E0) 0 0 (canonMetric E0)⁻¹) :

The terminal balance chain: β⁻¹ šŒā‚€ ≤ š†ā‚€įµ— M(E_t) š†ā‚€ ≤ Ê_t ≤ β√κ_t šŒā‚€.

theorem HCPolySupport.HighContrast.Response.hatE_earlier_bound {d : ā„•} {E0 Es : FullBlockMat d} (hE0 : Matrix.PosDef E0) (hEs : Matrix.PosDef Es) (hsSharp : fullBlockSharp Es ≤ Es) {z ceps : ā„} (hz0 : 0 ≤ z) (hz1 : z < 1) (hlow : (1 - z) • E0 ≤ Es) (hhigh : Es ≤ (1 + z) • E0) (hceps : ceps = √((1 + z) / (1 - z))) {G0 M0 : FullBlockMat d} (hG0 : G0 = fullBlockShear (canonShear E0)) (hM0 : M0 = Matrix.fromBlocks (canonMetric E0) 0 0 (canonMetric E0)⁻¹) :

The earlier-scale balance chain: Ê_s ≤ √κ_s š†ā‚€įµ— M(E_s) š†ā‚€ ≤ c_ε √κ_s šŒā‚€.