Documentation

LeanPool.HighContrastHomogenization.Provider.PolynomialHomogenization.Root.Dirichlet.FrozenWitnessCubeSolutionData

High-contrast homogenization: #

Provider.PolynomialHomogenization.Root.Dirichlet.FrozenWitnessCubeSolutionData

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

the analytic inputs, parts (b) and (d): the observation family and the cube solution listed as #

"absent" both the coefficient identification ∀ y, aHat (y + c) = (aFam.coeffOn (originCube d j)).toCoeffField y and the exhibition of the gauge solution as a DirichletForcedCubeSolution on the origin cube. Both are closed here.

The gauge cancellation #

An invertible gauge composed with its inverse is the identity on vectors.

(d) The translated observation family #

theorem HCPolySupport.HighContrast.RowSupply.exists_translatedSkewCenteredScaledAffineCoeffFamily {d : ℕ} {epsilon : ℝ} (hepsilon : 0 < epsilon) (a : CoeffSpace d) {abar : Mat d} (hS : Matrix.PosDef (symmPart abar)) (z : Vec d) :
∃ (aFam : Book.Ch03.CoeffFamily d), ∀ (Q : TriadicCube d), (aFam.coeffOn Q).toCoeffField = affineCoefficient (matSqrt (symmPart abar)) ⋯ fun (w : Vec d) => scaledCoeff epsilon a (w + z) - skewPart abar

The skew-centred rescaled coefficient, translated by the gauge centre, is a Chapter 3 coefficient family with its displayed representative on every cube.

theorem HCPolySupport.HighContrast.RowSupply.exists_frozenWitnessCoeffFamilyAtCube {d : ℕ} {epsilon : ℝ} (hepsilon : 0 < epsilon) (a : CoeffSpace d) {abar : Mat d} (hS : Matrix.PosDef (symmPart abar)) (z : Vec d) (j : ℤ) :
∃ (aFam : Book.Ch03.CoeffFamily d), (∀ (y : Vec d), affineCoefficient (matSqrt (symmPart abar)) ⋯ (fun (w : Vec d) => scaledCoeff epsilon a w - skewPart abar) (y + matVecMul (matSqrt (symmPart abar))⁻¹ z) = (aFam.coeffOn (originCube d j)).toCoeffField y) ∧ (aFam.coeffOn (originCube d j)).toCoeffField =ᵐ[volumeMeasureOn (openCubeSet (originCube d j))] fun (y : Vec d) => affineCoefficient (matSqrt (symmPart abar)) ⋯ (fun (w : Vec d) => scaledCoeff epsilon a w - skewPart abar) (y + matVecMul (matSqrt (symmPart abar))⁻¹ z)

the analytic inputs (d), closed. One Chapter 3 family serves both of coefficient binders at the frozen witness: the pointwise hb and the a.e. observation identification hObs, at scaledCoeff ε a.

(b) The forced equation and the cube solution #

The upstream private conversion of a cube weak solution into a forced equation, re-proved in-module so it can be used at the frozen witness.

theorem HCPolySupport.HighContrast.RowSupply.exists_frozenWitnessDirichletCubeSolution {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)) {aHat : CoeffField d} {aFam : Book.Ch03.CoeffFamily d} (hb : ∀ (y : Vec d), aHat (y + matVecMul (matSqrt (symmPart abar))⁻¹ z) = (aFam.coeffOn (originCube d j)).toCoeffField y) (F : Vec d → Vec d) (hWeak : IsWeakSolutionOn aHat (matImage (matSqrt (symmPart abar))⁻¹ U) F) (uObs gObs : H1Function (openCubeSet (originCube d j))) (huObs : ∀ (y : Vec d), uObs.grad y = F (y + matVecMul (matSqrt (symmPart abar))⁻¹ z)) (hzero : ∃ (w : H10Function (openCubeSet (originCube d j))), w.toFun =ᵐ[volumeMeasureOn (openCubeSet (originCube d j))] fun (x : Vec d) => uObs.toFun x - gObs.toFun x) :

the analytic inputs (b), closed modulo the zero-trace datum. The gauge solution of the frozen witness is a Dirichlet forced cube solution on the origin cube of the witness generation, with the prescribed boundary datum.