Coarse-graining support: Support.Sobolev.Foundations.CoerciveH1 #
Imported from the Apache-2.0 CoarseGraining development at commit
c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.
Coercive H¹ Scaffolding #
This file packages the first reusable coercive layer above the witness-based
H1Function API.
The key objects are:
- a gauge-fixed mean-zero carrier
H1MeanZeroFunction U; - typed
L²(U)andL²(U; ℝ^d)realizations ofuand∇u; - a bundled coercive estimate on the mean-zero carrier.
The future bounded-open-convex Poincare theorem should produce
H1CoerciveEstimate U data, and the future Hodge proof should consume that
coercive layer rather than the raw witness structures directly.
Mean-zero H¹(U) functions, represented by a chosen H¹ witness together
with the zero-average condition.
- toH1Function : H1Function U
The H¹ function underlying the mean-zero Sobolev function.
- meanZero : MeanZeroOn U self.toH1Function.toFun
Instances For
Equations
- HCPolySupport.H1MeanZeroFunction.instCoeH1Function = { coe := fun (u : HCPolySupport.H1MeanZeroFunction U) => u.toH1Function }
Equations
- HCPolySupport.H1MeanZeroFunction.instCoeFunForallVecReal = { coe := fun (u : HCPolySupport.H1MeanZeroFunction U) => u.toH1Function.toFun }
Equations
- HCPolySupport.H1MeanZeroFunction.instAdd = { add := fun (u v : HCPolySupport.H1MeanZeroFunction U) => { toH1Function := u.toH1Function + v.toH1Function, meanZero := ⋯ } }
Equations
- HCPolySupport.H1MeanZeroFunction.instSMulReal = { smul := fun (c : ℝ) (u : HCPolySupport.H1MeanZeroFunction U) => { toH1Function := c • u.toH1Function, meanZero := ⋯ } }
Equations
- HCPolySupport.H1MeanZeroFunction.instNeg = { neg := fun (u : HCPolySupport.H1MeanZeroFunction U) => -1 • u }
Equations
- HCPolySupport.H1MeanZeroFunction.instSub = { sub := fun (u v : HCPolySupport.H1MeanZeroFunction U) => u + -v }
Equations
- HCPolySupport.H1MeanZeroFunction.instSMulNat = { smul := fun (n : ℕ) (u : HCPolySupport.H1MeanZeroFunction U) => ↑n • u }
Equations
- HCPolySupport.H1MeanZeroFunction.instSMulInt = { smul := fun (n : ℤ) (u : HCPolySupport.H1MeanZeroFunction U) => ↑n • u }
Equations
- HCPolySupport.H1MeanZeroFunction.instAddCommGroup = Function.Injective.addCommGroup (fun (u : HCPolySupport.H1MeanZeroFunction U) => u.toH1Function) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
The additive homomorphism forgetting the zero-mean condition on an H¹ function.
Equations
- HCPolySupport.H1MeanZeroFunction.toH1FunctionAddMonoidHom = { toFun := fun (u : HCPolySupport.H1MeanZeroFunction U) => u.toH1Function, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The scalar L²(U) realization of an H¹ function.
Equations
Instances For
The vector L²(U; ℝ^d) realization of the weak gradient.
Equations
Instances For
The Hilbert-vector L²(U; ℝ^d) realization of the weak gradient.
Instances For
The ith scalar L²(U) realization of the weak gradient.
Equations
Instances For
The sum of the scalar L² norms of the gradient coordinates.
Equations
- u.gradientCoordL2NormSum = ∑ i : Fin d, ‖u.gradCoordToScalarL2 i‖
Instances For
Normalize an H¹ function to its mean-zero representative by subtracting
the average.
Equations
- u.toMeanZero = { toH1Function := u.subAverage, meanZero := ⋯ }
Instances For
Alias for toMeanZero, matching the existing harmonic normalization API.
Equations
Instances For
Pair a vector L² field with the weak gradient in the Hilbert L²
ambient space.
Equations
Instances For
The scalar L²(U) realization of a mean-zero H¹ function.
Equations
Instances For
The vector L²(U; ℝ^d) realization of the weak gradient.
Equations
Instances For
The Hilbert-vector L²(U; ℝ^d) realization of a mean-zero H¹
function's weak gradient.
Equations
Instances For
The scalar L² norm of a mean-zero H¹ function.
Equations
- u.valueL2Norm = ‖u.toScalarL2‖
Instances For
The gradient-only L² norm which is the future coercive norm on the
mean-zero layer.
Equations
Instances For
Equations
Equations
- HCPolySupport.H1MeanZeroFunction.instNormedSpaceReal = { toModule := HCPolySupport.H1MeanZeroFunction.instModuleReal, norm_smul_le := ⋯ }
The gradient realization as a linear map into the Hilbert L² ambient
space.
Equations
- HCPolySupport.H1MeanZeroFunction.gradToHilbertVectorL2Linear = { toFun := HCPolySupport.H1MeanZeroFunction.gradToHilbertVectorL2, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The gradient realization as a continuous linear map for the gradient-only seminorm on the mean-zero coercive layer.
Equations
Instances For
The gradient pairing of a mean-zero H¹ function against an L² vector
field, realized through the Hilbert L² ambient space.
Equations
Instances For
The gradient pairing, packaged as a linear functional on the mean-zero
coercive H¹ layer.
Equations
- HCPolySupport.H1MeanZeroFunction.gradientPairingLinear hf = { toFun := HCPolySupport.H1MeanZeroFunction.gradientPairing hf, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The gradient pairing as a continuous linear functional for the gradient-only seminorm on the mean-zero coercive layer.
Equations
Instances For
Bundled coercive estimate on the mean-zero H¹ layer.
- constantValue : ℝ
The nonnegative constant bounding the L² norm of a mean-zero H¹ function by its gradient L² norm.
Instances For
The value realization as a linear map into scalar L²(U).
Equations
- HCPolySupport.H1MeanZeroFunction.toScalarL2Linear = { toFun := HCPolySupport.H1MeanZeroFunction.toScalarL2, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The value realization as a continuous linear map once a coercive estimate
controls ‖u‖_{L²} by the gradient-only seminorm.
Equations
Instances For
The mean-zero coercive layer packaged in the Hilbert product
L²(U) × L²(U; ℝᵈ).
Equations
- HCPolySupport.H1MeanZeroFunction.toHilbertProductLinear = { toFun := fun (u : HCPolySupport.H1MeanZeroFunction U) => (u.toScalarL2, u.gradToHilbertVectorL2), map_add' := ⋯, map_smul' := ⋯ }
Instances For
The mean-zero coercive layer as a continuous linear map into
L²(U) × L²(U; ℝᵈ) once a coercive estimate is available.