High-contrast homogenization: #
Provider.PolynomialHomogenization.Root.Dirichlet.FrozenWitnessGaugePullback
Imported from the Apache-2.0 HighContrastHomogenization development at commit
7a13dbcd8d6609264a713373f5c69ceeac870472.
The composed row uHat/hHat/huHat/hhHat #
exists_memAffineH10_affinePullback pulls both the boundary datum and the
solution back through an invertible matrix, producing gradients
fun y ↦ matVecMul (matTranspose L) (·.grad (matVecMul L y)). At
L := matSqrt (symmPart abar) the transpose is the matrix itself, because the
symmetric square root of a positive definite matrix is Hermitian, so the two
gradients land in exactly the huHat premise/hhHat shape.
The symmetric square root of a positive definite matrix is its own transpose.
Row uHat/hHat/huHat/hhHat. The frozen affine boundary pair on
the physical witness domain pulls back to the gauge domain with exactly the
gradient identities that module requires.