Documentation

LeanPool.EllipticPDE.Sobolev.Basic

H¹ and H₀¹ as weak-derivative Hilbert spaces #

We realise W^{1,2}(Ω) as the graph of the weak-gradient operator inside the Hilbert space L²(Ω) × (L²(Ω))ᵈ (encoded as PiLp 2 over Fin (d+1): coordinate 0 is the function, coordinate i.succ the i-th weak partial). The weak-gradient relation is orthogonality to a family of explicit "constraint vectors", so W^{1,2} is an orthogonal complement: closed, complete, and a real Hilbert space with no further work.

@[reducible, inline]

The real L² space on a domain Ω ⊆ ℝ^d (restricted Lebesgue measure).

Equations
Instances For
    @[reducible, inline]

    Ambient Hilbert space for the graph encoding: a function value together with d gradient components, with the ℓ² (H¹) inner product. Coordinate 0 is the function; coordinate i.succ is the i-th weak partial derivative.

    Equations
    Instances For
      theorem EllipticPdes.Sobolev.inner_single_left {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} (j : Fin (d + 1)) (a : L2D Ω) (U : H1amb Ω) :
      inner ℝ (PiLp.single 2 j a) U = inner ℝ a (U.ofLp j)

      Inner product of a single-coordinate vector against an ambient vector picks out the coordinate: ⟪single j a, U⟫ = ⟪a, U j⟫.

      Test functions and their L² classes #

      noncomputable def EllipticPdes.Sobolev.partialD {d : ℕ} (i : Fin d) (φ : EuclideanSpace ℝ (Fin d) → ℝ) :

      The i-th classical partial derivative of φ (a directional fderiv).

      Equations
      Instances For
        theorem EllipticPdes.Sobolev.partialD_add {d : ℕ} {φ ψ : EuclideanSpace ℝ (Fin d) → ℝ} (hφ : Differentiable ℝ φ) (hψ : Differentiable ℝ ψ) (i : Fin d) :
        partialD i (φ + ψ) = partialD i φ + partialD i ψ

        partialD is additive on differentiable functions.

        theorem EllipticPdes.Sobolev.partialD_const_smul {d : ℕ} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (hφ : Differentiable ℝ φ) (c : ℝ) (i : Fin d) :
        partialD i (c • φ) = c • partialD i φ

        partialD commutes with scalar multiplication on differentiable functions.

        theorem EllipticPdes.Sobolev.partialD_zero {d : ℕ} (i : Fin d) :
        partialD i 0 = 0

        The classical partial of the zero function is zero.

        The topological support of a partial derivative sits inside the support of the function: off tsupport φ the function is locally zero, so fderiv vanishes.

        A smooth, compactly supported test function whose support sits inside Ω.

        Equations
        Instances For

          A test function is continuous.

          theorem EllipticPdes.Sobolev.IsTestFn.mono {d : ℕ} {φ : EuclideanSpace ℝ (Fin d) → ℝ} {Ω Ω' : Set (EuclideanSpace ℝ (Fin d))} (hsub : Ω ⊆ Ω') (h : IsTestFn Ω φ) :
          IsTestFn Ω' φ

          Test functions are monotone in the domain: a test function of Ω is a test function of any superset.

          Each partial derivative of a test function is continuous.

          Each partial derivative of a test function has compact support.

          theorem EllipticPdes.Sobolev.IsTestFn.add {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (h : IsTestFn Ω φ) {ψ : EuclideanSpace ℝ (Fin d) → ℝ} (h' : IsTestFn Ω ψ) :
          IsTestFn Ω (φ + ψ)

          φ being a test function is preserved under sums.

          theorem EllipticPdes.Sobolev.IsTestFn.const_smul {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (h : IsTestFn Ω φ) (c : ℝ) :
          IsTestFn Ω (c • φ)

          φ being a test function is preserved under scalar multiplication.

          The zero function is a test function.

          A test function lies in L²(Ω).

          Each partial derivative of a test function lies in L²(Ω).

          noncomputable def EllipticPdes.Sobolev.IsTestFn.testCls {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (h : IsTestFn Ω φ) :
          L2D Ω

          The L²(Ω) class of a test function.

          Equations
          Instances For
            noncomputable def EllipticPdes.Sobolev.IsTestFn.partialCls {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (h : IsTestFn Ω φ) (i : Fin d) :
            L2D Ω

            The L²(Ω) class of the i-th partial derivative of a test function.

            Equations
            Instances For
              noncomputable def EllipticPdes.Sobolev.IsTestFn.constraintVec {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (h : IsTestFn Ω φ) (i : Fin d) :

              Constraint vector: orthogonality to it expresses one instance of the weak-gradient relation ⟪U₀, [∂ᵢφ]⟫ + ⟪U_{i+1}, [φ]⟫ = 0 (coordinate 0 is the function, coordinate i.succ the i-th weak partial).

              Equations
              Instances For
                theorem EllipticPdes.Sobolev.IsTestFn.inner_constraintVec {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (h : IsTestFn Ω φ) (i : Fin d) (U : H1amb Ω) :

                Pairing a constraint vector against U extracts the weak-gradient relation.

                noncomputable def EllipticPdes.Sobolev.IsTestFn.testGraph {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (h : IsTestFn Ω φ) :

                A test function embedded as its graph (φ, ∇φ) in the ambient space: coordinate 0 is the function, coordinate i.succ its i-th classical (= weak) partial.

                Equations
                Instances For
                  @[simp]

                  Simp lemma: testGraph h 0 = testCls h.

                  @[simp]

                  Simp lemma: testGraph h i.succ = partialCls h i.

                  theorem EllipticPdes.Sobolev.IsTestFn.testGraph_add {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} {φ : EuclideanSpace ℝ (Fin d) → ℝ} (h : IsTestFn Ω φ) {ψ : EuclideanSpace ℝ (Fin d) → ℝ} (h' : IsTestFn Ω ψ) :

                  The graph embedding is additive: (φ + ψ) graphs to the sum of the graphs.

                  The graph embedding commutes with scalar multiplication.

                  The graph of the zero function is the zero vector.

                  The real L²(Ω) inner product of two MemLp.toLp classes is the integral of the product over Ω.

                  Weak-gradient graph space W^{1,2}(Ω) #

                  The set of all constraint vectors over Ω.

                  Equations
                  Instances For
                    noncomputable def EllipticPdes.Sobolev.W12 {d : ℕ} (Ω : Set (EuclideanSpace ℝ (Fin d))) :

                    W^{1,2}(Ω): functions paired with their weak L² gradient, realised as the orthogonal complement of the constraint vectors inside the ambient Hilbert space. As an orthogonal complement it is automatically a closed, complete, real Hilbert space.

                    Equations
                    Instances For

                      W^{1,2}(Ω) is complete, being an orthogonal complement in a Hilbert space.

                      theorem EllipticPdes.Sobolev.mem_W12_iff {d : ℕ} {Ω : Set (EuclideanSpace ℝ (Fin d))} (U : H1amb Ω) :
                      U ∈ W12 Ω ↔ ∀ (φ : EuclideanSpace ℝ (Fin d) → ℝ) (h : IsTestFn Ω φ) (i : Fin d), inner ℝ (h.partialCls i) (U.ofLp 0) + inner ℝ h.testCls (U.ofLp i.succ) = 0

                      Membership in W^{1,2}(Ω) is exactly the weak-gradient relation tested against every test function: ⟪U₀, [∂ᵢφ]⟫ + ⟪U_{i+1}, [φ]⟫ = 0. This is what makes an element of W12 a function (U 0) together with its weak L² gradient (U ∘ Fin.succ).

                      H₀¹(Ω) as the closure of the test functions #

                      The set of test-function graphs over Ω.

                      Equations
                      Instances For

                        The test-function graphs already form a submodule: smooth compactly supported functions are closed under sums and scalar multiples, and the graph embedding is linear. This identifies Submodule.span ℝ (testGraphSet Ω) with testGraphSet Ω itself.

                        Equations
                        Instances For

                          The span of the test-function graphs equals the test-function graphs.

                          noncomputable def EllipticPdes.Sobolev.H01 {d : ℕ} (Ω : Set (EuclideanSpace ℝ (Fin d))) :

                          H₀¹(Ω) = W₀^{1,2}(Ω): the closure of the smooth compactly supported functions inside the ambient H¹ space. As a topological closure it is automatically a closed, complete, real Hilbert space.

                          Equations
                          Instances For

                            H₀¹(Ω) is complete, being a topological closure in a Hilbert space.

                            Classical gradient of a test function as a weak gradient. Hence every test function's graph lies in W^{1,2}(Ω). This is the integration-by-parts step (no boundary term, by compact support).

                            H₀¹(Ω) ⊆ W^{1,2}(Ω): every element of H₀¹ is a function with a weak L² gradient.

                            Public because it is the bridge between the two solution spaces the library uses. The interior regularity chain quantifies over H01 Ω, while Evans §6.3.1 Theorem 1 and Fernández-Real and Ros-Oton both state the interior theory over the ambient Sobolev space, so a generalisation of that chain runs through W12 Ω and needs this inclusion from outside this file.