Documentation

LeanPool.HighContrastHomogenization.Provider.Response.VariationalIdentities

High-contrast homogenization: Provider.Response.VariationalIdentities #

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

The variational identities in block form #

The weak-norm estimate for the optimizer state reads the Chapter 2 variational layer through a handful of displayed identities, all written on the doubled block state X(V) = (∇v, a∇v) of the maximizer and on the coarse block 𝐀(V;a). This file transcribes them.

Everything is proved on an arbitrary Chapter 2 domain, which is where the Chapter 2 layer states it, and then specialized to the parent cell U_t = q□_t and to an aligned cell U_k(z) = z + q□_k through the bridge of HCPoly.Provider.Response.DomainBridge.

Elementary block arithmetic used by the identities #

@[simp]

The swap matrix R of s.scale.selection exchanges the two slots of a doubled vector.

The block reflection A ↦ RAR of the ambient layer exchanges the two diagonal entries of a block diagonal matrix.

Block diagonal matrices multiply entrywise.

The doubled matrix-vector product is additive in the matrix, in the difference form the defect 𝐀(V) - 𝐀(W) is written in.

The quadratic form of a block reflection is the quadratic form of the original at the reflected vector: X·(RAR)X = (RX)·A(RX).

The self-dual diagonal metric #

R M_0 R = M_0^{-1}, multiplicative form. The diagonal metric M_0 = diag(m_0, m_0^{-1}) and its block reflection are inverse to one another.

R M_0 R = M_0^{-1}: the inverse of the diagonal metric is its block reflection.

M_0^{1/2} = R M_0^{-1/2} R on the quadratic form, which is the only reading the weak-norm estimate uses: |M_0^{1/2}(RZ)|² = |M_0^{-1/2}Z|², the right side being the quadratic form of M_0^{-1} = R M_0 R.

The optimizer average #

The average identity (X(V))_V = (R𝐀(V;a) + I_{2d})P ([Armstrong–Kuusi, (2.32)]). Here X(V) = (∇v, a∇v) is the doubled state of the response maximizer, P is the load vector (-p, q), and the right side is written as R(𝐀P) + P because R acts by exchanging the two slots.

The difference of two optimizer averages: subtracting two instances of the average identity at the same load leaves R applied to the block defect.

The exact comparison identity for the optimizer averages of two cells: |M_0^{1/2}((X(V))_V - (X(W))_W)|² = P·(𝐀(V) - 𝐀(W))M_0^{-1}(𝐀(V) - 𝐀(W))P, the right side being read through the self-duality M_0^{-1} = R M_0 R.

The two energy identities #

The maximizer energy identity ([Armstrong–Kuusi, (2.30)]): J(V,p,q;a) = ½‖σ^{1/2}∇v(·,V,p,q;a)‖²_{L_underlined²(V)}, the norm being the normalized one and variationEnergyValue being its square.

The pointwise block energy of a gradient-flux pair, at a single point where the symmetric part of the coefficient is invertible: substituting X = (ξ, Aξ) into the pointwise block of [Armstrong–Kuusi, (2.8)] gives 2ξ·σξ. This is the algebraic core of the pointwise energy of the optimizer state.

The pointwise energy substitution, the first of the two pointwise energy identities: X_t·𝐀X_t = 2∇v_t·σ∇v_t almost everywhere on the domain, for the doubled state X_t = (∇v_t, a∇v_t) of any field g and the pointwise block of [Armstrong–Kuusi, (2.8)].

The averaged energy identity, the second of the two pointwise energy identities: ‖𝐀^{1/2}X_t‖²_{L_underlined²(U_t)} = 2ℰ_t², with ℰ_t² = ‖σ^{1/2}∇v_t‖²_{L_underlined²(U_t)} the variationEnergyValue of the maximizer.

The expansion of the response functional around its maximizer, in block form: for every admissible competitor w,

⨍_V ‖𝐀^{1/2}(X(V) - X_w)‖² = 4(J(V,p,q;a) - ⨍_V(-½∇w·σ∇w - p·a∇w + q·∇w)),

the printed identity together with the remark that its right side "is one quarter of the corresponding block energy", because the difference of two primal optimizer fields has the form (∇φ, a∇φ) and the pointwise energy identity applies to it. This is the per-cell half of the exact factor-two response identity; the averaging over the aligned subdivision is the exact-partition step.