Documentation

LeanPool.HighContrastHomogenization.Provider.PolynomialHomogenization.Root.Dirichlet.FrozenWitnessGaugeCubeData

High-contrast homogenization: #

Provider.PolynomialHomogenization.Root.Dirichlet.FrozenWitnessGaugeCubeData

Imported from the Apache-2.0 HighContrastHomogenization development at commit 7a13dbcd8d6609264a713373f5c69ceeac870472.

the analytic inputs, parts (a) and (c): the gauge-cube data of the frozen witness's the analytic #

inputs listed four "genuinely absent" analytic identifications. This module closes two of them and prepares the third.

The gauge carrier of the frozen witness #

The gauge image of the frozen witness domain is a translate of the origin cube of the witness generation.

theorem HCPolySupport.HighContrast.RowSupply.isOpen_witnessDomain {d : ℕ} {abar : Mat d} (hS : Matrix.PosDef (symmPart abar)) {U : Set (Vec d)} {j : ℤ} {z : Vec d} (hU : U = (fun (y : Vec d) => z + matVecMul (matSqrt (symmPart abar)) y) '' openCubeSet (originCube d j)) :

The frozen witness domain is open.

The gauge-cube pullbacks #

theorem HCPolySupport.HighContrast.RowSupply.exists_frozenWitnessGaugeCubePullbacks {d : ℕ} {abar : Mat d} (hS : Matrix.PosDef (symmPart abar)) {U : Set (Vec d)} {j : ℤ} {z : Vec d} (hU : U = (fun (y : Vec d) => z + matVecMul (matSqrt (symmPart abar)) y) '' openCubeSet (originCube d j)) (g₀ : H1Function U) (uHat : H1Function (matImage (matSqrt (symmPart abar))⁻¹ U)) :
∃ (gObs : H1Function (openCubeSet (originCube d j))) (uObs : H1Function (openCubeSet (originCube d j))), (∀ (y : Vec d), gObs.toFun y = g₀.toFun (matVecMul (matSqrt (symmPart abar)) (y + matVecMul (matSqrt (symmPart abar))⁻¹ z))) ∧ (∀ (y : Vec d), gObs.grad y = matVecMul (matSqrt (symmPart abar)) (g₀.grad (matVecMul (matSqrt (symmPart abar)) (y + matVecMul (matSqrt (symmPart abar))⁻¹ z)))) ∧ (∀ (y : Vec d), uObs.toFun y = uHat.toFun (y + matVecMul (matSqrt (symmPart abar))⁻¹ z)) ∧ ∀ (y : Vec d), uObs.grad y = uHat.grad (y + matVecMul (matSqrt (symmPart abar))⁻¹ z)

The H¹ matrix-and-translation composite at the frozen witness. The physical boundary datum and the gauge solution both land on the origin cube of the witness generation, with literal value and gradient identities.

(c) The frame identity #

theorem HCPolySupport.HighContrast.RowSupply.frozenWitnessFrameTransport {d : ℕ} {abar : Mat d} (hS : Matrix.PosDef (symmPart abar)) (g0grad : Vec d → Vec d) (w : Vec d) :
matVecMul (matSqrt (symmPart abar)) (g0grad (matVecMul (matSqrt (symmPart abar)) (matVecMul (matSqrt (symmPart abar))⁻¹ w))) = matVecMul (matSqrt (symmPart abar)) (g0grad w)

the hFrame premise, for the canonical choice of FTrans. Gauging back and forth is the identity, so the transported field FTrans w = S (g₀grad (S w)) restricts to S ∘ g₀grad along S⁻¹.

(a) The two regularity premises #

theorem HCPolySupport.HighContrast.RowSupply.forceBesov_and_memVectorL2_at_frozenWitness {d : ℕ} [NeZero d] {abar : Mat d} (hS : Matrix.PosDef (symmPart abar)) {U : Set (Vec d)} {j : ℤ} {z : Vec d} (hU : U = (fun (y : Vec d) => z + matVecMul (matSqrt (symmPart abar)) y) '' openCubeSet (originCube d j)) (hinner : ellipsoid abar (1 / (3 * √↑d)) ⊆ U) {s₀ : ℝ} (hs : 0 < s₀) (hs1 : s₀ < 1) (g₀ : H1Function U) (hHs : hsNormSq U s₀ g₀.grad ≠ ⊤) (G : Vec d → Vec d) (hG : ∀ (y : Vec d), G y = matVecMul (matSqrt (symmPart abar)) (g₀.grad (matVecMul (matSqrt (symmPart abar)) (y + matVecMul (matSqrt (symmPart abar))⁻¹ z)))) :

the analytic inputs (a), closed. Module the hBesov premise and hL2 for the pulled-back boundary gradient, from the hole's own binders.