High-contrast homogenization: Provider.Response.AdjointCongruence #
Imported from the Apache-2.0 HighContrastHomogenization development at commit
7a13dbcd8d6609264a713373f5c69ceeac870472.
The coefficient-transpose congruence of the coarse block #
The adjoint half of the weak-norm estimate for the optimizer state and the
adjoint line of the corrected centered response both rest on a single
algebraic identity: for the transposed coefficient field the coarse Schur data
are (σ, σ_*, -κ), so
𝐀(V;aᵗ) = D𝐀(V;a)D, D = diag(I, -I)
in the form the response estimate of p.response.transfer uses. Both printed
sign conventions for D — diag(-I, I) and diag(I, -I) — give the same
congruence, since the two differ by an overall sign.
BlockCoarseMatrixTheory supplies σ(V;aᵗ) = σ(V;a), σ_*(V;aᵗ) = σ_*(V;a)
and κ(V;aᵗ) = -κ(V;a). The Schur block formula [Armstrong–Kuusi, (2.13)] is written
over σ_*^{-1} rather than over σ_*, so the middle clause has to be upgraded
to the inverse; that is done here from the magic identities, which show that the
pure flux response J(V,0,q;·) is insensitive to transposition.
The pure flux response is insensitive to transposition: J(V,0,q;aᵗ) = J(V,0,q;a). Both sides equal ½q·σ_*^{-1}(V;a)q, the first by the adjoint
quadratic identity and the second by the completed square.
The inverse Schur block is insensitive to transposition:
σ_*^{-1}(V;aᵗ) = σ_*^{-1}(V;a). The canonical extraction reads
σ_*^{-1} off the pure flux response alone.
The derived block b = σ + κᵗσ_*^{-1}κ is insensitive to transposition,
the sign of κ cancelling in the quadratic correction.
The D-congruence of a doubled block matrix flips the sign of the two
off-diagonal corners.
The coefficient-transpose congruence, the adjoint congruence of the
coarse block used by the response estimate of p.response.transfer:
𝐀(V;aᵗ) = D𝐀(V;a)D with D = diag(I, -I).