High-contrast homogenization: Entry.Geometry.CanonicalMetricBounds #
Imported from the Apache-2.0 HighContrastHomogenization development at commit
7a13dbcd8d6609264a713373f5c69ceeac870472.
Positivity of the canonical metric #
This proves positive definiteness of the closed printed definition of
explicitCanonicalMetric; it does not introduce a geometric-mean characterization or
the metric-loss estimate, which belong to the global selection. The positivity of the
canonical metric, and its specialization to the rounded adapted means, underlies the
projective-distance geometry serving p.global.selection and p.scale.selection.
The reflected inverse 𝐑F⁻¹𝐑 is positive definite for a positive block F.
The inner square-root argument in explicitCanonicalMetric is positive definite.
The middle square root in explicitCanonicalMetric is positive definite.
The full matrix before taking the lower-right block in explicitCanonicalMetric is positive
definite.
The lower-right block before the final inverse in explicitCanonicalMetric is positive
definite.
O4. The closed printed canonical metric is positive definite on symmetric positive doubled blocks.
The unconditional dichotomy #
Everything above carries the printed hypotheses hsymm/hpos. The block below carries
none. matSqrt takes the junk value 1 -- not 0 -- off the positive semidefinite data
(HCPoly/Setup/BlockAlgebra.lean, matSqrt), so every factor of the closed expression defining
explicitCanonicalMetric is positive semidefinite whatever F is; a congruence, a principal
submatrix and Mathlib's Matrix.inv (which is 0 off the units) all preserve that. Hence
explicitCanonicalMetric F is positive semidefinite for every F, so it is either positive
definite or singular, and in the singular case the rounded grid built from it collapses to
the zero matrix. That dichotomy is what lets the response cutoff kernel dispose of the
degenerate branch without adding a hypothesis to its statement.
matSqrt is positive semidefinite on every input: on positive semidefinite data it is
the canonical square root, and off that data it is the junk value 1. Stated in the
project's root namespace, beside matSqrt itself.
The positive semidefinite link. The canonical metric is positive semidefinite for
every doubled block, with no symmetry and no positivity hypothesis: the junk values of
matSqrt and of Matrix.inv are themselves positive semidefinite.
A positive semidefinite matrix is positive definite exactly when it is a unit, so the canonical metric is either positive definite or has vanishing inverse. No hypothesis.
The metric dichotomy. For every doubled block F -- no symmetry, no positivity --
either the canonical metric m(F) is positive definite, or the rounded grid 𝒬(m(F)) built
from it is singular.
O4 at the rounded adapted means used by scale selection.