Documentation

LeanPool.Superdiffusion.Algsuperdiff.Section5.Support.SeriesIdentification

SeriesIdentification #

Ported from scottnarmstrong/Superdiffusion at 7f20476385d4af418f110303085ad0740c9eba46. Module imports, support namespace and local option directives adapted for Lean Pool.

The iteration series converges in H¹₀ and sums to the solution for the perturbed field #

Section 5.1 computes the solution of -∇·a_m∇u = ∇·g on y + □_n by an iteration that starts from the solution w_0 for the background field a_n and whose increments solve

  -∇·a_n ∇w_{j+1} = ∇·( (a_m - a_n) ∇w_j )      in y + □_n ,   w_{j+1} = 0 on the boundary.

The manuscript asserts u_m = Σ_j w_j "provided that we can establish the convergence of the series" and does not establish it: the contraction it proves is in C^{0,1/2}, which by itself does not identify a limit as a weak solution. This module supplies the missing step in the norm in which the weak formulation is continuous.

The telescoped identity. Write kap := a_m - a_n and S_J := Σ_{j ≤ J} w_j. Adding the weak equations of w_0, …, w_J gives

  ∫ a_n ∇S_J · ∇φ = -∫ g · ∇φ - ∫ (kap ∇S_{J-1}) · ∇φ ,

and adding ∫ (kap ∇S_J)·∇φ to both sides collapses the sum to its last term:

  ∫ a_m ∇S_J · ∇φ = -∫ (g - kap ∇w_J) · ∇φ .

So S_J solves the problem for a_m with the original datum g up to the single remainder -kap ∇w_J, and the difference u - S_J of any solution u for a_m at datum g and the partial sum solves the problem for a_m at datum kap ∇w_J.

The remainder vanishes. The energy estimate applied to that difference gives

  lam_m ‖∇(u - S_J)‖_{L²} ≤ d ‖kap ∇w_J‖_{L²} ≤ d² (Lam_n + Lam_m) ‖∇w_J‖_{L²} ,

so the remainder is measured in L² (equivalently, the forcing functional it carries has H⁻¹ size at most d times that L² norm), and it tends to zero as soon as the iterates' energies do. The per-step constant is bad — it depends on the molecular diffusivity through lam_m and on the scale through the volume of the cube — but it does not depend on the step index, so a geometric decay of the data of the steps is enough. That decay is exactly what the C^{0,1/2} contraction supplies through the supremum bound on the data of the iteration.

References #

1. Finite sums of Sobolev witnesses #

theorem Algsuperdiff.Section5.Support.grad_finset_sum {d : ℕ} {U : Set (HCPolySupport.Vec d)} {iota : Type u_1} (s : Finset iota) (v : iota → HCPolySupport.H1Function U) (x : HCPolySupport.Vec d) :
(∑ j ∈ s, v j).grad x = ∑ j ∈ s, (v j).grad x

The gradient of a finite sum is the sum of the gradients.

The partial sum Σ_{j ≤ J} w_j of the iteration.

Equations
Instances For

    2. From the Laplace step to the perturbation datum #

    The two halves of one iteration step compose. If h solves the Laplace problem with datum -k ∇v and the next iterate solves the background problem with datum ∇h, then the next iterate solves the background problem with datum k ∇v directly. This is the step that removes the auxiliary Laplace solution from the recursion.

    3. The telescoped weak formulation #

    theorem Algsuperdiff.Section5.Support.isDirichletSolutionAt_iterationPartialSum_background {d : ℕ} {y : HCPolySupport.Vec d} {n : ℤ} {a b : HCPolySupport.CoeffField d} {lamA LamA lamB LamB : ℝ} (hEllA : HCPolySupport.IsEllipticFieldOn lamA LamA (cubeSetAt y n) a) (hEllB : HCPolySupport.IsEllipticFieldOn lamB LamB (cubeSetAt y n) b) {kap : HCPolySupport.Vec d → HCPolySupport.Mat d} (hab : ∀ (x : HCPolySupport.Vec d), b x = a x + kap x) {g : HCPolySupport.Vec d → HCPolySupport.Vec d} (hg : HCPolySupport.MemVectorL2 (cubeSetAt y n) g) {w : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} (hw0 : IsDirichletSolutionAt a y n (w 0) g) (hwsucc : ∀ (j : ℕ), IsDirichletSolutionAt a y n (w (j + 1)) fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (kap x) ((w j).grad x)) (J : ℕ) :
    IsDirichletSolutionAt a y n (iterationPartialSum w J) fun (x : HCPolySupport.Vec d) => g x + ∑ j ∈ Finset.range J, HCPolySupport.matVecMul (kap x) ((w j).grad x)

    The partial sum solves the background problem with the accumulated forcing.

    theorem Algsuperdiff.Section5.Support.isDirichletSolutionAt_iterationPartialSum {d : ℕ} {y : HCPolySupport.Vec d} {n : ℤ} {a b : HCPolySupport.CoeffField d} {lamA LamA lamB LamB : ℝ} (hEllA : HCPolySupport.IsEllipticFieldOn lamA LamA (cubeSetAt y n) a) (hEllB : HCPolySupport.IsEllipticFieldOn lamB LamB (cubeSetAt y n) b) {kap : HCPolySupport.Vec d → HCPolySupport.Mat d} (hab : ∀ (x : HCPolySupport.Vec d), b x = a x + kap x) {g : HCPolySupport.Vec d → HCPolySupport.Vec d} (hg : HCPolySupport.MemVectorL2 (cubeSetAt y n) g) {w : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} (hw0 : IsDirichletSolutionAt a y n (w 0) g) (hwsucc : ∀ (j : ℕ), IsDirichletSolutionAt a y n (w (j + 1)) fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (kap x) ((w j).grad x)) (J : ℕ) :

    The telescoped weak formulation. Against the perturbed field the whole accumulated forcing collapses to the original datum minus the action of the perturbation on the gradient of the last iterate.

    theorem Algsuperdiff.Section5.Support.isDirichletSolutionAt_sub_iterationPartialSum {d : ℕ} {y : HCPolySupport.Vec d} {n : ℤ} {a b : HCPolySupport.CoeffField d} {lamA LamA lamB LamB : ℝ} (hEllA : HCPolySupport.IsEllipticFieldOn lamA LamA (cubeSetAt y n) a) (hEllB : HCPolySupport.IsEllipticFieldOn lamB LamB (cubeSetAt y n) b) {kap : HCPolySupport.Vec d → HCPolySupport.Mat d} (hab : ∀ (x : HCPolySupport.Vec d), b x = a x + kap x) {g : HCPolySupport.Vec d → HCPolySupport.Vec d} (hg : HCPolySupport.MemVectorL2 (cubeSetAt y n) g) {w : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} (hw0 : IsDirichletSolutionAt a y n (w 0) g) (hwsucc : ∀ (j : ℕ), IsDirichletSolutionAt a y n (w (j + 1)) fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (kap x) ((w j).grad x)) {u : HCPolySupport.H1Function (cubeSetAt y n)} (hu : IsDirichletSolutionAt b y n u g) (J : ℕ) :

    The remainder problem. Any solution for the perturbed field at the original datum differs from the partial sum by the solution at the single remainder datum.

    4. The remainder vanishes #

    theorem Algsuperdiff.Section5.Support.sqrt_energy_grad_sub_iterationPartialSum_le {d : ℕ} {y : HCPolySupport.Vec d} {n : ℤ} {a b : HCPolySupport.CoeffField d} {lamA LamA lamB LamB : ℝ} (hEllA : HCPolySupport.IsEllipticFieldOn lamA LamA (cubeSetAt y n) a) (hEllB : HCPolySupport.IsEllipticFieldOn lamB LamB (cubeSetAt y n) b) {kap : HCPolySupport.Vec d → HCPolySupport.Mat d} (hab : ∀ (x : HCPolySupport.Vec d), b x = a x + kap x) {g : HCPolySupport.Vec d → HCPolySupport.Vec d} (hg : HCPolySupport.MemVectorL2 (cubeSetAt y n) g) {w : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} (hw0 : IsDirichletSolutionAt a y n (w 0) g) (hwsucc : ∀ (j : ℕ), IsDirichletSolutionAt a y n (w (j + 1)) fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (kap x) ((w j).grad x)) {u : HCPolySupport.H1Function (cubeSetAt y n)} (hu : IsDirichletSolutionAt b y n u g) (J : ℕ) :
    lamB * √(∫ (x : HCPolySupport.Vec d) in cubeSetAt y n, ‖u.grad x - (iterationPartialSum w J).grad x‖ ^ 2) ≤ ↑d * (↑d * (LamA + LamB)) * √(∫ (x : HCPolySupport.Vec d) in cubeSetAt y n, ‖(w J).grad x‖ ^ 2)

    The quantitative remainder bound. The distance from the partial sum to any solution for the perturbed field is controlled, in the energy norm, by the energy of the last iterate.

    theorem Algsuperdiff.Section5.Support.tendsto_sqrt_energy_grad_sub_iterationPartialSum {d : ℕ} {y : HCPolySupport.Vec d} {n : ℤ} {a b : HCPolySupport.CoeffField d} {lamA LamA lamB LamB : ℝ} (hEllA : HCPolySupport.IsEllipticFieldOn lamA LamA (cubeSetAt y n) a) (hEllB : HCPolySupport.IsEllipticFieldOn lamB LamB (cubeSetAt y n) b) {kap : HCPolySupport.Vec d → HCPolySupport.Mat d} (hab : ∀ (x : HCPolySupport.Vec d), b x = a x + kap x) {g : HCPolySupport.Vec d → HCPolySupport.Vec d} (hg : HCPolySupport.MemVectorL2 (cubeSetAt y n) g) {w : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} (hw0 : IsDirichletSolutionAt a y n (w 0) g) (hwsucc : ∀ (j : ℕ), IsDirichletSolutionAt a y n (w (j + 1)) fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (kap x) ((w j).grad x)) {u : HCPolySupport.H1Function (cubeSetAt y n)} (hu : IsDirichletSolutionAt b y n u g) (hlim : Filter.Tendsto (fun (j : ℕ) => √(∫ (x : HCPolySupport.Vec d) in cubeSetAt y n, ‖(w j).grad x‖ ^ 2)) Filter.atTop (nhds 0)) :

    The partial sums converge to the solution in the energy norm.

    theorem Algsuperdiff.Section5.Support.tendsto_sqrt_setIntegral_sq_of_tendsto_energy {d : ℕ} [NeZero d] {y : HCPolySupport.Vec d} {n : ℤ} {v : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} (hzero : ∀ (J : ℕ), ∃ (p : HCPolySupport.H10Function (cubeSetAt y n)), (∀ (x : HCPolySupport.Vec d), (v J).toFun x = p.toFun x) ∧ ∀ (x : HCPolySupport.Vec d), (v J).grad x = p.grad x) (hlim : Filter.Tendsto (fun (J : ℕ) => √(∫ (x : HCPolySupport.Vec d) in cubeSetAt y n, ‖(v J).grad x‖ ^ 2)) Filter.atTop (nhds 0)) :
    Filter.Tendsto (fun (J : ℕ) => √(∫ (x : HCPolySupport.Vec d) in cubeSetAt y n, (v J).toFun x ^ 2)) Filter.atTop (nhds 0)

    The value of the difference is controlled by its energy: a solution and a partial sum both vanish on the boundary, so their difference is a zero-trace function and the Poincaré inequality applies.

    theorem Algsuperdiff.Section5.Support.tendsto_sqrt_setIntegral_sq_sub_iterationPartialSum {d : ℕ} [NeZero d] {y : HCPolySupport.Vec d} {n : ℤ} {a b : HCPolySupport.CoeffField d} {lamA LamA lamB LamB : ℝ} (hEllA : HCPolySupport.IsEllipticFieldOn lamA LamA (cubeSetAt y n) a) (hEllB : HCPolySupport.IsEllipticFieldOn lamB LamB (cubeSetAt y n) b) {kap : HCPolySupport.Vec d → HCPolySupport.Mat d} (hab : ∀ (x : HCPolySupport.Vec d), b x = a x + kap x) {g : HCPolySupport.Vec d → HCPolySupport.Vec d} (hg : HCPolySupport.MemVectorL2 (cubeSetAt y n) g) {w : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} (hw0 : IsDirichletSolutionAt a y n (w 0) g) (hwsucc : ∀ (j : ℕ), IsDirichletSolutionAt a y n (w (j + 1)) fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (kap x) ((w j).grad x)) {u : HCPolySupport.H1Function (cubeSetAt y n)} (hu : IsDirichletSolutionAt b y n u g) (hlim : Filter.Tendsto (fun (j : ℕ) => √(∫ (x : HCPolySupport.Vec d) in cubeSetAt y n, ‖(w j).grad x‖ ^ 2)) Filter.atTop (nhds 0)) :

    The partial sums converge to the solution in value as well.

    5. Geometric decay of the energies of the iterates #

    theorem Algsuperdiff.Section5.Support.sqrt_energy_grad_succ_le_of_sup_bound {d : ℕ} {y : HCPolySupport.Vec d} {n : ℤ} {a : HCPolySupport.CoeffField d} {lamA LamA : ℝ} (hEllA : HCPolySupport.IsEllipticFieldOn lamA LamA (cubeSetAt y n) a) {w : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} {G : ℕ → HCPolySupport.Vec d → HCPolySupport.Vec d} (hGL2 : ∀ (j : ℕ), HCPolySupport.MemVectorL2 (cubeSetAt y n) (G j)) (hwsucc : ∀ (j : ℕ), IsDirichletSolutionAt a y n (w (j + 1)) (G j)) {B rho : ℝ} (hB : 0 ≤ B) (hrho : 0 ≤ rho) (hGsup : ∀ (j : ℕ), ∀ x ∈ cubeSetAt y n, ‖G j x‖ ≤ B * rho ^ j) (j : ℕ) :
    lamA * √(∫ (x : HCPolySupport.Vec d) in cubeSetAt y n, ‖(w (j + 1)).grad x‖ ^ 2) ≤ ↑d * (√(MeasureTheory.volume (cubeSetAt y n)).toReal * (B * rho ^ j))

    One step of the iteration, in the energy norm: the energy of an iterate is controlled by the supremum size of its datum on the cube.

    theorem Algsuperdiff.Section5.Support.tendsto_sqrt_energy_grad_of_sup_bound {d : ℕ} {y : HCPolySupport.Vec d} {n : ℤ} {a : HCPolySupport.CoeffField d} {lamA LamA : ℝ} (hEllA : HCPolySupport.IsEllipticFieldOn lamA LamA (cubeSetAt y n) a) {w : ℕ → HCPolySupport.H1Function (cubeSetAt y n)} {G : ℕ → HCPolySupport.Vec d → HCPolySupport.Vec d} (hGL2 : ∀ (j : ℕ), HCPolySupport.MemVectorL2 (cubeSetAt y n) (G j)) (hwsucc : ∀ (j : ℕ), IsDirichletSolutionAt a y n (w (j + 1)) (G j)) {B rho : ℝ} (hB : 0 ≤ B) (hrho : 0 ≤ rho) (hrho1 : rho < 1) (hGsup : ∀ (j : ℕ), ∀ x ∈ cubeSetAt y n, ‖G j x‖ ≤ B * rho ^ j) :

    The energies of the iterates tend to zero when the data of the steps decay geometrically in the supremum norm on the cube.

    6. The cutoff coefficient fields of the model #

    The coefficient field at scale m is the field at scale n perturbed by the difference of the two cutoff shell sums; no order relation between the scales is used.

    Every solution for the coefficient field at scale m is the limit of the partial sums of the iteration, in gradient and in value. The limit is the same for every solution, so any two solutions of that Dirichlet problem agree almost everywhere on the cube, in value and in gradient.