Documentation

LeanPool.HighContrastHomogenization.Support.CoarseGraining.BlockResponse.Perturbation.BlockEnergyFirstVariation

Coarse-graining support: #

Support.CoarseGraining.BlockResponse.Perturbation.BlockEnergyFirstVariation

Imported from the Apache-2.0 CoarseGraining development at commit c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.

BlockResponse perturbation -- blockEnergyAverage and scalarFirstVariation #

blockEnergyAverage_blockResponsePairHalfState = quarter scalarVariationEnergySum under IsEllipticFieldOn, together with the three scalarFirstVariation-zero theorems (zero_right, neg_left_zero, neg_left_right) for ae-equal pair-half states under IsBlockMuAdmissible.

The half-pair witness has block energy equal to one quarter of the sum of the primal and adjoint scalar variation energies.

Decoupling lemma for the pure-flux slice.

If a recovered \mu-admissible state at coarse data (0,q) is a.e. a primal/adjoint half-pair, then the primal member of the half-pair satisfies the scalar Euler-Lagrange identity for ResponseJ U 0 q a.

Decoupling lemma for the pure-gradient slice.

The sign is forced by the block convention: a recovered \mu-admissible state at coarse data (p,0) yields the primal scalar Euler-Lagrange identity for ResponseJ U (-p) 0 a. The final energy statement removes this sign using the quadratic homogeneity of ResponseJ.

Decoupling lemma for arbitrary block data.

The sign in the primal scalar first variation is dictated by the block convention: a recovered \mu-admissible state at coarse datum (p,q) yields the Euler-Lagrange identity for ResponseJ U (-p) q a.