Documentation

LeanPool.HighContrastHomogenization.Geometry.Canonical

High-contrast homogenization: Geometry.Canonical #

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

The canonical metric of a positive block #

For a positive doubled block E the reference text sets, in e.scale.selection.canonical.metric, M(E) := E # E^♯ and 𝔡(E) := |M(E)^{-1/2} E M(E)^{-1/2}|^2. The facts about the canonical metric used in p.global.selection are that M(E) is self-dual, that it has a unique factorization M(E) = G_{-g}^t diag(m, m^{-1}) G_{-g} with m positive and g skew, that 𝔡(E) = |(E^♯)^{-1/2} E (E^♯)^{-1/2}|, and — when E^♯ ≤ E — the balance chain E^♯ ≤ M(E) ≤ E ≤ 𝔡(E)^{1/2} M(E) together with det M(E) = 1.

Self-duality is the inverse and congruence clauses of the geometric-mean toolkit applied to the reflection. The factorization is self-duality read through the Schur data: the sharp map sends (s, s_*, k) to (s_*, s, -k^t), so a self-dual block has s = s_* and k skew. The imbalance identity is the observation that the generalized eigenvalues of E relative to E^♯ are those of C := M(E)^{-1/2} E M(E)^{-1/2} relative to C^{-1}, that is the eigenvalues of C^2.

The pair (m, g) is introduced by the well-definedness-first route: the uniqueness theorem existsUnique_canonFactor comes first, the definition canonFactor is made by choice, and canonFactor_spec and canonFactor_eq then characterize it, so that nothing downstream depends on the choice.

The canonical metric block M(E) = E # E^♯ of e.scale.selection.canonical.metric.

Equations
Instances For

    The imbalance 𝔡(E) = |M(E)^{-1/2} E M(E)^{-1/2}|^2 of e.scale.selection.canonical.metric.

    Equations
    Instances For

      Self-duality #

      The canonical factorization #

      The canonical factorization (e.scale.selection.canonical.metric). There is a unique pair consisting of a positive m and a skew g with M(E) = G_{-g}^t diag(m, m^{-1}) G_{-g}.

      The hedged existential behind the canonical pair: on positive data it is existsUnique_canonFactor, elsewhere it is a junk witness.

      noncomputable def HCPolySupport.HighContrast.canonFactor {d : ℕ} (E : FullBlockMat d) :
      Mat d × Mat d

      The canonical pair (m(E), g(E)), by choice from existsUnique_canonFactor; the junk value on non-positive data is never used.

      Equations
      Instances For
        noncomputable def HCPolySupport.HighContrast.canonMetric {d : ℕ} (E : FullBlockMat d) :
        Mat d

        The canonical metric m(E) of e.scale.selection.canonical.metric.

        Equations
        Instances For
          noncomputable def HCPolySupport.HighContrast.canonShear {d : ℕ} (E : FullBlockMat d) :
          Mat d

          The canonical shear g(E) of the canonical factorization.

          Equations
          Instances For

            Specification of the canonical pair. m(E) is positive, g(E) is skew, and they factor M(E) as in e.scale.selection.canonical.metric.

            The canonical pair is characterized, not merely chosen: any positive m and skew g factoring M(E) are m(E) and g(E).

            The lower-right block of the canonical metric is m(E)^{-1}. This is what makes the reference text's step "taking the lower-right principal blocks" in e.global.selection.metric.loss and e.global.selection.metric.comparison read as a statement about m.

            The canonical metric is positive definite, hence so is its inverse.

            The imbalance identity #

            The imbalance identity e.response.canonical.imbalance: 𝔡(E) = |(E^♯)^{-1/2} E (E^♯)^{-1/2}|.

            The balance chain and the determinant #

            The scalar in the balance chain is the relative size of E against M(E).

            The canonical balance chain: the canonical metric lies between a block and its dual.

            The canonical metric has unit determinant.