Coarse-graining support: Support.Multiscale.CubeAverage #
Imported from the Apache-2.0 CoarseGraining development at commit
c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.
The integral of f on the half-open cube divided by its volume.
Equations
- HCPolySupport.cubeAverage Q f = (HCPolySupport.cubeVolume Q)⁻¹ * ∫ (x : HCPolySupport.Vec d) in HCPolySupport.cubeSet Q, f x
Instances For
noncomputable def
HCPolySupport.cubeAverageVec
{d : ℕ}
(Q : TriadicCube d)
(f : Vec d → Vec d)
:
Vec d
The vector of coordinatewise averages of a vector field on the cube.
Equations
- HCPolySupport.cubeAverageVec Q f i = HCPolySupport.cubeAverage Q fun (x : HCPolySupport.Vec d) => f x i
Instances For
noncomputable def
HCPolySupport.cubeAverageMat
{d : ℕ}
(Q : TriadicCube d)
(f : Vec d → Mat d)
:
Mat d
The matrix of entrywise averages of a matrix field on the cube.
Equations
- HCPolySupport.cubeAverageMat Q f i j = HCPolySupport.cubeAverage Q fun (x : HCPolySupport.Vec d) => f x i j
Instances For
noncomputable def
HCPolySupport.cubeProjection
{d : ℕ}
(Q : TriadicCube d)
(j : ℕ)
(f : Vec d → ℝ)
:
The piecewise constant function equal to the average of f on each depth-j descendant of
Q, and zero outside their union.
Equations
- HCPolySupport.cubeProjection Q j f x = ∑ R ∈ HCPolySupport.descendantsAtDepth Q j, if x ∈ HCPolySupport.cubeSet R then HCPolySupport.cubeAverage R f else 0
Instances For
The initial cube projection at depth zero, or the difference of consecutive cube projections at a positive depth.
Equations
- HCPolySupport.cubeIncrement Q 0 f = HCPolySupport.cubeProjection Q 0 f
- HCPolySupport.cubeIncrement Q n.succ f = fun (x : HCPolySupport.Vec d) => HCPolySupport.cubeProjection Q (n + 1) f x - HCPolySupport.cubeProjection Q n f x