High-contrast homogenization: #
Provider.PolynomialHomogenization.Root.Corrector.PushforwardGaugeTranslation
Imported from the Apache-2.0 HighContrastHomogenization development at commit
7a13dbcd8d6609264a713373f5c69ceeac870472.
The real-vector gauge conjugation #
An integer translation of the physical sample becomes, in the normalized
gauge, a translation by the real vector L⁻¹ z. This is the identity the
translated-gradient identification engine has to be fed at, and it is the piece
that was not otherwise available: the integer conjugation requires the matrix
to carry ℤ^d into ℤ^d, which the normalized root does not.
The route is elementary once the pieces are separated: the recentring and the
rescaling commute with the integer translation (both already available), and
the affine change of variables converts a translation by w on the physical
side into a translation by L⁻¹ w on the normalized side, pointwise.
Rescaling commutes with the integer translation #
Positive scalar multiplication commutes with integer translation.
The normalized recentring commutes with the integer translation.
The affine change of variables converts the translation #
P3, pointwise. Translating the argument of a coefficient field by w
before the affine pullback is translating the pullback by L⁻¹ w.
The gauge conjugation #
The real-vector gauge conjugation. An integer translation of the
physical sample is, in the normalized gauge, the translation by
matVecMul (gaugeRoot abar)⁻¹ (Source.AKL.intTranslation z) — a real vector,
which is exactly what the identification engine's free translation binder
accepts.