LambdaShaking #
Ported from scottnarmstrong/Superdiffusion at 7f20476385d4af418f110303085ad0740c9eba46. Module imports, support namespace and local option directives adapted for Lean Pool.
The shaking-lambda source estimate e.shaking.lambda #
This module proves the source estimate e.shaking.lambda: for every bounded
Lipschitz domain U, every coefficient field a, every p, q and every
lambda > 0,
This is the missing input of Mesoscale.LoadNormalization, whose
le_of_shaking_lambda_bound consumes exactly the right-hand side above with
lam = mu.
Route #
The source proof combines e.homogeneity.in.a + e.homogeneous.J (scaling the
coefficient field), e.J.magic.squares (the completed-square rearrangement of
J in terms of sigma, sigma_*, k), e.ksym.by.sss (nonnegativity of the
p-only part of the magic-squares formula) and Young's inequality with a free
parameter eps, optimized at the end.
Neither e.homogeneity.in.a nor the literal magic-squares identity is
available as a Lean statement at the Domain/CoeffOn level of the frozen
sensitivity anchors: CoarseGraining's coefficient-field homogeneity lives on
the Set-based CoarseGraining.ResponseJ layer
(responseJ_homogeneous_coeffField), and there is no Book.Ch02 declaration
for e.J.magic.squares. Both are replaced here by an equivalent and strictly
cheaper route through the unconditional Chapter 2 coarse-matrix formula
responseJ_eq_coarseMatrices_formula_canonical:
responseJ_smul(quadraticity, unconditional) replacese.homogeneity.in.aande.homogeneous.J: it gives the exact identityJ(U, lam^{-1/2} p, lam^{1/2} q) = lam^{-1} J(U, p, lam q).- The coarse-matrix formula gives the quadratic expansion in the
q-slot (responseJ_smul_right_eqbelow):J(U,p,t q) = J(U,0,q) t^2 + (J(U,p,q) - J(U,p,0) - J(U,0,q)) t + J(U,p,0). This ise.J.magic.squaresin coordinates: the magic-squares formula says exactly that this quadratic is a nonnegative constant plus asigma_*^{-1}-square, i.e. that its discriminant is nonpositive. responseJ_nonneg(unconditional) applied along the whole linetgives the discriminant inequalitysq_mixed_le. This replacese.ksym.by.sss: the source usese.ksym.by.sssonly to know that thep-only part of the magic-squares formula is nonnegative, which is the same statement as nonnegativity ofJat the minimizingq.- The discriminant inequality is exactly what Young + optimization in
epsproduce, so the closed (optimized) form is obtained directly and theeps-form is recovered from it by Young's inequality.
Nothing in this module is conditional: every hypothesis is a source binder
(0 < lam, and 0 < eps for the pre-optimization form).
What is here #
responseJ_smul_right_eq,sq_mixed_le,responseJ_smul_right_le— private helpers (the quadratic expansion, its discriminant, and the resulting one-parameter estimate).responseJ_shaking_lambda— the source estimate at a general domain, in the exact shape consumed byMesoscale.LoadNormalization.le_of_shaking_lambda_bound.responseJ_shaking_lambda_epsilon— the pre-optimizationeps-form.responseJ_shaking_lambda_normalizedLoading,responseJ_shaking_lambda_normalizedLoading_epsilon— the same two estimates read at the frozen loading((mu sigma0)^{-1/2} e, (mu sigma0)^{1/2} e).
Every declaration in this module is an internal helper for the Section 2.4 sensitivity providers.
The one-parameter estimate #
The source estimate #
e.shaking.lambda at a general bounded Lipschitz domain: for every p, q and every lam > 0,
The right-hand side is written in exactly the shape consumed by the hypothesis
hK of Mesoscale.LoadNormalization.le_of_shaking_lambda_bound.
The pre-optimization (eps) form of e.shaking.lambda: for every `eps
0
,J(U, lam^{-1/2} p, lam^{1/2} q; a) <= (1+eps)/lam J(U,p,q;a) + (1+eps)/(2 eps lam) (lam-1)^2 (q. sigma_*^{-1}(U;a) q)`.
The closed form responseJ_shaking_lambda is the optimization of this bound in
eps; it is proved first here and this display is recovered from it by Young's
inequality, so the two are equivalent.
The frozen loading #
e.shaking.lambda at the frozen loading. Reading
responseJ_shaking_lambda with lam = mu, p = sigma0^{-1/2} e and
q = sigma0^{1/2} e, the left-hand side is literally the loading
((mu sigma0)^{-1/2} e, (mu sigma0)^{1/2} e) of
responseJ_sensitivity_unconditional, and the right-hand side is exactly the
hypothesis hK of
Mesoscale.LoadNormalization.le_of_shaking_lambda_bound at
K = J(U, (mu sigma0)^{-1/2} e, (mu sigma0)^{1/2} e),
J = J(U, sigma0^{-1/2} e, sigma0^{1/2} e) and
V = (sigma0^{1/2} e) . sigma_*^{-1}(U;a) (sigma0^{1/2} e).
The eps-form of e.shaking.lambda at the frozen loading.