Documentation

LeanPool.HighContrastHomogenization.Support.Sobolev.Foundations.CubeReflection.Derivatives

Coarse-graining support: Support.Sobolev.Foundations.CubeReflection.Derivatives #

Imported from the Apache-2.0 CoarseGraining development at commit c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.

theorem HCPolySupport.euclideanCoordDeriv_comp_coordFaceReflection {d : ℕ} {u : Vec d → ℝ} (hu : ContDiff ℝ (↑⊤) u) (a : ℝ) (i k : Fin d) (x : Vec d) :
euclideanCoordDeriv k (fun (y : Vec d) => u (coordFaceReflection a i y)) x = (if k = i then -1 else 1) * euclideanCoordDeriv k u (coordFaceReflection a i x)

First coordinate-derivative chain rule for scalar functions composed with a coordinate face reflection. The normal derivative changes sign; tangential derivatives do not.

def HCPolySupport.foldedCoordFaceTest {d : ℕ} (a : ℝ) (i : Fin d) (φ : Vec d → ℝ) :
Vec d → ℝ

Fold a scalar test through a coordinate face: on the original side this is φ + φ ∘ r, where r is the face reflection.

Equations
Instances For
    noncomputable def HCPolySupport.foldedCubeUpperFaceTest {d : ℕ} (Q : TriadicCube d) (i : Fin d) (φ : Vec d → ℝ) :
    Vec d → ℝ

    The sum of a test function and its reflection through the upper ith face of the cube.

    Equations
    Instances For
      noncomputable def HCPolySupport.foldedCubeLowerFaceTest {d : ℕ} (Q : TriadicCube d) (i : Fin d) (φ : Vec d → ℝ) :
      Vec d → ℝ

      The sum of a test function and its reflection through the lower ith face of the cube.

      Equations
      Instances For
        theorem HCPolySupport.contDiff_foldedCoordFaceTest {d : ℕ} {φ : Vec d → ℝ} (hφ : ContDiff ℝ (↑⊤) φ) (a : ℝ) (i : Fin d) :
        theorem HCPolySupport.contDiff_foldedCubeUpperFaceTest {d : ℕ} {φ : Vec d → ℝ} (hφ : ContDiff ℝ (↑⊤) φ) (Q : TriadicCube d) (i : Fin d) :
        theorem HCPolySupport.contDiff_foldedCubeLowerFaceTest {d : ℕ} {φ : Vec d → ℝ} (hφ : ContDiff ℝ (↑⊤) φ) (Q : TriadicCube d) (i : Fin d) :
        noncomputable def HCPolySupport.foldedCubeUpperFaceH1Test {d : ℕ} (Q : TriadicCube d) (i : Fin d) {φ : Vec d → ℝ} (hφ : ContDiff ℝ (↑⊤) φ) :

        The folded upper-face smooth test, packaged as an H¹(openCubeSet Q) witness for variational Neumann equations.

        Equations
        Instances For
          noncomputable def HCPolySupport.foldedCubeLowerFaceH1Test {d : ℕ} (Q : TriadicCube d) (i : Fin d) {φ : Vec d → ℝ} (hφ : ContDiff ℝ (↑⊤) φ) :

          The folded lower-face smooth test, packaged as an H¹(openCubeSet Q) witness for variational Neumann equations.

          Equations
          Instances For
            @[simp]
            @[simp]
            @[simp]
            theorem HCPolySupport.foldedCubeUpperFaceH1Test_grad {d : ℕ} (Q : TriadicCube d) (i : Fin d) {φ : Vec d → ℝ} (hφ : ContDiff ℝ (↑⊤) φ) (x : Vec d) :
            @[simp]
            theorem HCPolySupport.foldedCubeLowerFaceH1Test_grad {d : ℕ} (Q : TriadicCube d) (i : Fin d) {φ : Vec d → ℝ} (hφ : ContDiff ℝ (↑⊤) φ) (x : Vec d) :
            theorem HCPolySupport.vecDot_euclideanGradient_comp_coordFaceReflection_pairing {d : ℕ} {u φ : Vec d → ℝ} (hu : ContDiff ℝ (↑⊤) u) (hφ : ContDiff ℝ (↑⊤) φ) (a : ℝ) (i : Fin d) (x : Vec d) :
            theorem HCPolySupport.euclideanCoordSecondDeriv_comp_coordFaceReflection {d : ℕ} {u : Vec d → ℝ} (hu : ContDiff ℝ (↑⊤) u) (a : ℝ) (i k l : Fin d) (x : Vec d) :
            euclideanCoordSecondDeriv k l (fun (y : Vec d) => u (coordFaceReflection a i y)) x = ((if k = i then -1 else 1) * if l = i then -1 else 1) * euclideanCoordSecondDeriv k l u (coordFaceReflection a i x)

            Second coordinate-derivative chain rule for scalar functions composed with a coordinate face reflection. Each differentiation in the reflected normal direction contributes one sign.

            theorem HCPolySupport.sum_sq_euclideanCoordSecondDeriv_comp_coordFaceReflection {d : ℕ} {u : Vec d → ℝ} (hu : ContDiff ℝ (↑⊤) u) (a : ℝ) (i : Fin d) (x : Vec d) :
            ∑ k : Fin d, ∑ l : Fin d, euclideanCoordSecondDeriv k l (fun (y : Vec d) => u (coordFaceReflection a i y)) x ^ 2 = ∑ k : Fin d, ∑ l : Fin d, euclideanCoordSecondDeriv k l u (coordFaceReflection a i x) ^ 2
            theorem HCPolySupport.euclideanCoordDeriv_comp_cubeUpperFaceReflection {d : ℕ} {u : Vec d → ℝ} (hu : ContDiff ℝ (↑⊤) u) (Q : TriadicCube d) (i k : Fin d) (x : Vec d) :
            theorem HCPolySupport.euclideanCoordDeriv_comp_cubeLowerFaceReflection {d : ℕ} {u : Vec d → ℝ} (hu : ContDiff ℝ (↑⊤) u) (Q : TriadicCube d) (i k : Fin d) (x : Vec d) :