Documentation

LeanPool.Superdiffusion.Algsuperdiff.Section3.Provider.Affine.CompetitorVertexData

CompetitorVertexData #

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

The global vertex datum of l.piecewise.affine.approx #

This module provides a local vertex-data implementation of Step 1 associated with ABK26's l.piecewise.affine.approx at the level the corrected reading demands: the global assignment of a value to every point of โ„^d, from which each cell of SW(โ–ก_m) reads off its own vertex data, and the two structural clauses of e.hat.linear.properties that assignment satisfies.

The printed construction and the correction it needs #

The manuscript fixes a 2-connected component ๐’ž_j of the bad family โ„ and sets, at the vertices V_j of the common coarse mesh of ๐’ฉ(๐’ž_j),

โ„“ฬ‚_e(v) := โ„“_e(v)              if v โˆ‰ V(๐’ž_j) ,
โ„“ฬ‚_e(v) := โจ_{๐’ž_j} โ„“_e(x) dx   if v โˆˆ V(๐’ž_j) ,

and does this "one 2-connected component at a time", justified by the assertion that the neighborhoods of distinct components are disjoint. That assertion is false, and there are two admissible constructions: assign the vertex data once on the full simplex complex, or superpose the component corrections while allowing overlap on good cubes.

Throughout, "connected component" is read at the touching relation: badComponent, whose chains join cubes at dist(โ–ก,โ–ก') = 0 โ€” a strictly finer partition than the one generated by dist โ‰ค 1 โ€” and the component average is taken over the touching component. That relation is hard-wired (badComponent โ†’ BadChain โ†’ CubeTouch), so reading the component instead at the scale-covariant relation dist โ‰ค 3^j would change the datum and require a revisit of this file; the abstract index type I does not insulate against it.

competitorVertexData below is the first construction, implemented at the touching reading above (the datum-level case split is the manuscript's own):

ฤ_p(v) = โจ_{๐’ž(v)} โ„“_p    if v lies in some closed bad cube, ๐’ž(v) its component,
ฤ_p(v) = โ„“_p(v)          otherwise.

The two constructions are the same function at the vertex-datum level, and this file proves that rather than assuming it. badComponent_eq_of_mem_closedBall says that if one point lies in two closed bad cubes then those cubes lie in the same component (they touch, so one chain step joins them). Hence at most one component ever claims a vertex, the superposition โ„“_p + ฮฃ_๐’ž (โจ_๐’ž โ„“_p โˆ’ โ„“_p)ยท1_{V(๐’ž)} has at most one nonzero summand at each point, and no summation, no choice of witness and no disjointness hypothesis is needed. claimedBadComponent is that component, defined without Classical.choose: it collects every bad cube chain-joined to some bad cube whose closed cube contains v.

The active-component reading #

The printed component-local gradient ratio is false under the required overlap-safe construction. The correct form is the sum over the active components ๐’œ_R = {๐’ž : R โˆˆ ๐’ฉ(๐’ž)} of diam(๐’ž)/ฯ_๐’ž, optionally followed by a dimension-only overlap count |๐’œ_R| โ‰ค M(d).

Under the single-assignment reading implemented here the deviation at one vertex is governed by the one component that claims it, so what the per-cell estimate needs is a bound valid for every active component -- the hact binder of abs_competitorVertexData_sub_linearFn_le_of_forall_touching, which quantifies over exactly the bad cubes touching the cell's Whitney cube, i.e. over exactly ๐’œ_R. Consequently no overlap count is consumed here: card_le_eleven_pow_of_forall_cubeTouch is not used and is not needed for this estimate. It remains the instrument for the superposition presentation, where the corrections genuinely add.

Scope: what this file does NOT do #

References #

The โ„“ยน size of a slope #

|p|_{โ„“ยน} = โˆ‘_i |p_i|, the constant in the elementary bound |โ„“_p(x) โˆ’ โ„“_p(y)| โ‰ค |p|_{โ„“ยน} ยท โ€–x โˆ’ yโ€–_โˆž used for the Step-2 vertex estimate. The ambient metric on Vec d is the sup metric, so this โ€” not the Euclidean norm โ€” is the constant the diameter pairs with; sq_vecNormOne_le converts it to the Euclidean norm at the cost of โˆšd.

Equations
Instances For

    Cauchy--Schwarz: (โˆ‘_i |p_i|)ยฒ โ‰ค d ยท |p|ยฒ.

    |โ„“_p(x) โˆ’ โ„“_p(y)| โ‰ค |p|_{โ„“ยน} ยท dist(x, y) on Vec d, whose metric is the sup metric.

    The component that claims a point #

    The bad component claiming the point v. A vertex of the mesh is "in V(๐’ž_j)" exactly when it lies in one of the closed cubes of the component --- NOTE: the manuscript defines V(ยท) only for simplices; V(๐’ž_j) for a cube collection is this file's closed reading, forced by clause 1 (the zero-slope conclusion on every bad cube needs all its vertices, boundary included) --- of the component ๐’ž_j; this is the family of all bad cubes chain-joined to some bad cube whose closed cube contains v.

    Two closed bad cubes containing a common point touch, hence lie in one component (badComponent_eq_of_mem_closedBall), so this set is the component claiming v whenever there is one, and is empty otherwise. No witness is chosen: the definition quantifies existentially inside the set-builder.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The component average โจ_{๐’ž} โ„“_p #

      ABK26's โจ_{๐’ž_j} โ„“_e(x) dx: the mean of the linear function โ„“_p over the region occupied by the component ๐’ž, at this repository's volumeAverage carrier and over the closed carrier of the family (see the module docstring).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        The global vertex datum #

        The vertex datum of l.piecewise.affine.approx, in the global single-assignment form prescribed: a point lying in a closed bad cube receives the average of โ„“_p over the component claiming it, every other point keeps โ„“_p.

        The if is the manuscript's own case split v โˆˆ V(๐’ž_j) versus v โˆ‰ V(๐’ž_j); neither branch is a fallback and neither uses a chosen witness. The two defining equations are competitorVertexData_of_mem_closedBall and competitorVertexData_of_notMem_closedCubeCarrier.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          The bad branch: at a point of a closed bad cube the datum is the component average โจ_{๐’ž} โ„“_p.

          The good branch: away from the closed bad cubes the datum is โ„“_p itself.

          Vertices of a cell of a Whitney cube #

          Every vertex of a cell of โ–ก lies in the closed cube โ–ก. This is the containment through which the two clauses of e.hat.linear.properties see the cell: subordination to e.SW.def says the cell's support cube is a triadic subcube of the Whitney cube.

          Clause 1 of e.hat.linear.properties #

          Clause 1, the vertex form: on a cell of a bad Whitney cube every vertex lies in that cube, hence is claimed by the cube's own component, hence receives the one value โจ_{๐’ž} โ„“_p.

          Clause 1 of e.hat.linear.properties: โˆ‡โ„“ฬ‚_p = 0 on every cell of every bad cube. This is the hbadF/hbadG shape of Multiscale.sum_of_a_decomp (SubadditiveDecomposition.lean).

          The Step-2 vertex bound #

          The component average deviates from โ„“_p by at most |p|_{โ„“ยน} diam(๐’ž) at any point of the component's closed carrier. This is the manuscript's |โ„“ฬ‚_e(v) โˆ’ โ„“_e(v)| โ‰ค |e| diam(๐’ž_j) for v โˆˆ V(๐’ž_j), with the sup-metric diameter that the proved cluster geometry bounds.

          The Step-2 vertex bound, pointwise: the deviation of the global datum from โ„“_p is 0 off the closed bad cubes and at most |p|_{โ„“ยน} diam(๐’ž) at a point claimed by the component ๐’ž.

          The per-cell gradient consequence of Step 2: with the active-component diameter bound D at the Whitney cube โ–ก, every cell of โ–ก has interpolant gradient within 2 |p|_{โ„“ยน} D / (cell side) of p in each coordinate, hence

          |โˆ‡โ„“ฬ‚_p โˆ’ p|ยฒ โ‰ค d ยท (2 |p|_{โ„“ยน} D / 3^{scale})ยฒ .
          

          Nothing here is component-local: the estimate is uniform over the active components at โ–ก, which is what requires.