High-contrast homogenization: Entry.Response.Core.AffineSobolevPullback #
Imported from the Apache-2.0 HighContrastHomogenization development at commit
7a13dbcd8d6609264a713373f5c69ceeac870472.
H¹ under an invertible linear pullback #
This file extends the H¹-function calculus to invertible linear pullbacks: composing an H¹
function with an invertible linear change of coordinates again yields an H¹ function, with the
weak gradient transforming by the transpose of the matrix. It identifies the image of the
reference cube under such a pullback with an adapted cell. For a cutoff transported by the same
kind of linear change of variables, it records the chain rule for the transported gradient and the
adjoint pairing identities distributing the grid between the two slots of the pulled-back pairing.
These are the change-of-variables ingredients of the cutoff argument in
e.response.cutoff.estimate,
and the pulled-back H¹ witness on the reference cube is the input that the response transfer
p.response.transfer consumes. The module also records two short facts feeding the diagonal
weak-norm estimate e.response.weak.estimate: the branch-free bound on its finite-window head, and
the integrability of the doubled optimizer field on a subcell.
The branch-free head bound of the cell-average estimate #
The cell-average estimate e.response.weak.estimate controls its finite-window head by a tail
term whose weight changes across the cutoff 1 of the all-scale maximum M: on M ≤ 1 the head
is bounded through the older-scale weight 3 ^ (-(Quenched.contrastAlpha γ * H)), while on 1 < M the whole
head is absorbed by the recent-scale weight √M alone. This module assembles the two branch
bounds into a single estimate whose right-hand side carries the printed selector
if 1 < M then √M else 3 ^ (-(Quenched.contrastAlpha γ * H)), so that a consumer carrying M
need not decide
which side of the cutoff it lies on.
Both branch bounds enter as hypotheses and the head, the finite sums, the tail factor and the two branch constants are abstract, so nothing here depends on how either branch is proved.
The branch-free head bound behind e.response.weak.estimate. If the head is bounded by
Sums + cgood * 3 ^ (-(Quenched.contrastAlpha γ * H)) * Tail on M ≤ 1 and by cbad * √M * Tail
on 1 < M,
with Sums, Tail and the two constants nonnegative, then it is bounded by Sums plus
max cgood cbad times the printed selector `if 1 < M then √M else 3 ^ (-(Quenched.contrastAlpha γ
- H))
times`Tail. The good-branch weight is3 ^ (-(Quenched.contrastAlpha γ * H))rather than1, and must occur with that factor in theM ≤ 1` hypothesis for the bound to hold.
Integrability of the doubled optimizer field on a subcell #
Every cell-average step of the diagonal weak-norm estimate moves a matrix through the cell
average of the doubled optimizer field optimizerField b u = (∇v, b ∇v), so each such step
needs both slots of that field to be integrable on the cell.
The gradient slot is L² because it is the weak gradient of an H¹ function, and L² of a
finite measure is L¹. The flux slot is L² because a uniformly elliptic coefficient field is
essentially bounded on the set where it is elliptic, and the product of a bounded measurable
field with an L² gradient is again L².
The ellipticity hypothesis on the flux slot cannot be dropped. For instance on (0,1) take
∇v ≡ 1 (an L² gradient) and the measurable but unbounded scalar field b x = x⁻¹: then the
gradient slot is L² while the flux b ∇v = x⁻¹ is not L¹. So a bound on the coefficient
field is exactly what makes the flux slot integrable.
The gradient is L² only on the domain U to which the AHarmonicFunction is attached, so
these statements are asked on subsets V ⊆ U. In the estimate the relevant subsets are the
triadic subcells adaptedCellAtCenter q (t - n) w of HighContrast.adaptedCell q t, which is why
the box
version below carries the membership w ∈ triadicIndexBox d n.
The gradient slot of the doubled optimizer field is integrable on every finite-measure
subset of the domain: H1Function.gradMemL2 gives L², and L² ⊆ L¹ there.
The gradient of a pulled-back cutoff #
The linear change of variables x = q y transports a cutoff φ from the adapted cell to the
reference cube as y ↦ φ (q y). Its gradient is qᵀ applied to the gradient of φ at q y.
The two declarations below record the adjoint identity for the Euclidean pairing and the chain
rule in the coordinatewise gradient convention of the project. This is the linear-algebraic step
of the cutoff argument in the response estimate e.response.cutoff.estimate (AK.HC Lemma A.1,
(A.4)).
The adjoint identity for the Euclidean pairing: the transpose qᵀ is the adjoint of q with
respect to vecDot, i.e. ⟪qᵀ v, z⟫ = ⟪v, q z⟫.
The chain rule for the linear change of variables x = q y, in the coordinatewise gradient
convention of the project: the gradient of the pulled-back function y ↦ φ (q y) is qᵀ applied
to the gradient of φ at q y, i.e.
(fun j => (fderiv ℝ (φ ∘ q)) y (basisVec j)) = matVecMul qᵀ (fun j => (fderiv ℝ φ (q y)) (basisVec j)).
The two slots of the pulled-back pairing #
A linear change of variables x = q y transports a cutoff φ to y ↦ φ (q y). The gradient
of the transported cutoff is the transpose qᵀ applied to the gradient of φ at q y; this is
the chain rule recorded in fderiv_comp_matVecMul_basisVec. The three declarations below collect
the linear-algebraic consequences needed to distribute the grid q between the two slots of the
Euclidean pairing without cost: when one slot of the pairing is pulled back by q⁻¹, the other
acquires qᵀ, and the adjointness of qᵀ cancels the two against each other. This is the
change-of-variables step of the cutoff argument in the response estimate
e.response.cutoff.estimate (AK.HC Lemma A.1, (A.4)).
The gradient of the pulled-back cutoff y ↦ φ (q y) is qᵀ applied to the gradient of φ
at q y, in the coordinatewise gradient convention of the project: the gradient field of the
composition is the transpose of the grid applied to the pulled-back gradient field.
The Euclidean pairing is preserved when the first slot acquires q⁻¹ and the second the
transpose of the grid: for an invertible q,
⟪q⁻¹ v, ∇(φ ∘ q)(y)⟫ = ⟪v, ∇φ(q y)⟫.
H¹ under an invertible linear pullback #
The pinned CoarseGraining revision 8ec687c has
H1Function constructors for restriction (Sobolev/H1/BasicLemmas.lean), domain casts
(Book/Ch03/Theorems/PublicInternalBridges/H1Casts.lean), translation
(Sobolev/H1/Translation.lean), positive scalar dilation
(Sobolev/Foundations/CoerciveH1Dilation.lean) and the two measure-preserving
symmetries of the centred cube — coordinate sign flip and coordinate swap
(Sobolev/H1/OriginCubeSymmetry.lean) — but no pullback along a general invertible
linear map. That is what this file adds.
The construction is u ↦ u ∘ q with the chain-rule gradient qᵀ (∇u ∘ q). Unlike the sign-flip
and swap cases, y ↦ q y is not measure preserving, so the L² and weak-derivative transfers
both carry the Jacobian factor |det q|⁻¹; it cancels between the two sides of the weak
formulation, which is why no hypothesis on det q beyond invertibility is needed.
Everything is stated for a general source set V with q V ⊆ U. For p.response.transfer, the
instance q = respGrid jStar F, V = openCubeSet (originCube d t), U = adaptedCell q t is proved
inhabited in the last section.
L² under the pullback #
L² transfers along the pullback: the Jacobian factor is a finite positive constant, so it
changes nothing about membership.
A coordinatewise-L² vector field on U pulls back to one on V, after any fixed linear
post-composition A. With A = qᵀ this is the gradient slot of the H¹ pullback; with
A = q⁻¹ it is the flux slot of the p.response.transfer pairing.
The chain rule in the shape the weak formulation consumes: the i-th partial of φ at
q⁻¹ x is the q-weighted combination of the partials of φ ∘ q⁻¹ at x.
The weak gradient under the pullback #
The weak-gradient pullback. If u has weak gradient Du on the image q V, then
u ∘ q has weak gradient qᵀ (Du ∘ q) on V. The L² hypotheses are used only to move the
finite sum of the chain rule through the integral.
The H¹ constructor #
The H¹-under-linear-pullback constructor. For an invertible q and an open V whose
image q V lies in the domain U, the pullback y ↦ u (q y) is an H¹(V) witness with the
chain-rule gradient y ↦ qᵀ (∇u (q y)).
The hypotheses are exactly: invertibility of q, openness of the source set, and the image
containment. No hypothesis is placed on det q beyond invertibility, and none on U.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Satisfiability of the hypothesis bundle at q = respGrid jStar F #
The constructor above would be worthless if its hypothesis bundle were empty in the situation
p.response.transfer needs. It is not: at q = respGrid jStar F the bundle is inhabited, and
the image containment even holds with EQUALITY, because adaptedCell q t is by definition q
applied to the centred cube centeredCube d t = openCubeSet (originCube d t).
Invertibility, however, is NOT available from (explicitCanonicalMetric F).PosDef alone: the only
route
to IsUnit (explicitRoundedGrid jStar m) in the tree is Geometry.isUnit_roundedGrid
(HCPoly/Entry/Geometry/RoundedGridBasic.lean), which also consumes 2 * d ≤ 3 ^ jStar — the
same premise
that explicitRoundedGrid_metricFrobenius_product_le (ScaleAverageSeminorm.lean) carries. It is
therefore carried here as a hypothesis, not silently assumed.
The selected grid is invertible on the PosDef branch, provided the grid depth satisfies
2 * d ≤ 3 ^ jStar.
The adapted cell IS the q-image of the reference cube: the image containment of the
constructor holds with equality at every q and every scale.
Satisfiability witness. The hypothesis bundle of pullbackMatVecMul is inhabited at
q = respGrid jStar F: any H¹ witness on the adapted cell U_t pulls back to an H¹ witness
on the reference cube openCubeSet (originCube d t) with the chain-rule gradient.
Equations
Instances For
affineH1, reconstructed locally #
Only declaration needed from HCPolySupport.HighContrast.Coupled.WeakForm:
affineH1/affineH1_grad/affineH1_toFun (WeakForm.lean). Built there from the
primitives H1Function.coordOnOpenCubeSetOriginCube (Sobolev/H1/OriginCubeBridge.lean)
and add_grad/add_toFun/smul_grad/smul_toFun (Sobolev/H1/Algebra/H1Function.lean).
Reproduced verbatim from those.
The affine map x ↦ p·x as an H¹ function on the centered open cube, with
constant gradient p.
Equations
Instances For
The cutoff bridge's input. The centred pulled-back potential y ↦ v(qy) − ⟨P, qy⟩ on the
reference cube, as an H¹ witness whose gradient is the FIRST SLOT of the pulled-back centred
optimizer field, i.e. y ↦ qᵀ ((optimizerField b u (q y) − Y).1) with P = Y.1. This is exactly
the u : H1Function (openCubeSet Q) argument of the generic CG bridge
abs_cubeAverage_vecDot_centered_scalar_cutoff_le_scaledWeakNormProduct
(Book/Ch05/.../JUpperBoundWeakNorms/Product/Bridge.lean).
Equations
- One or more equations did not get rendered due to their size.