Skip to content

Commit c7b799a

Browse files
committed
Vignette: drop non-standard terminology
Remove the "fool's convergence" and "sampling-density cliff/blind spot" labels from the robust-error section; these are not standard terms in the quadrature literature and the surrounding prose already describes the failure mode plainly.
1 parent 96a8681 commit c7b799a

1 file changed

Lines changed: 23 additions & 27 deletions

File tree

vignettes/cubature.Rmd

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -164,18 +164,16 @@ hcubature(f2, 0, pi / 2, fDim = 2)$integral
164164
The default error estimator in `hcubature` uses a single "null rule"
165165
difference between the degree-7 Genz–Malik rule and its embedded
166166
degree-5 companion on each region. For smooth integrands this is
167-
reliable and cheap. For integrands with **localized support** — a
168-
thin hinge, a near-step sigmoid, a very narrow Gaussian inside an
169-
oversized bounding box — it can fail in a particular way: the rule's
170-
sample points miss the integrand's support entirely, all sample values
171-
are zero, the rule estimate is zero with zero estimated error, and
172-
the algorithm confidently reports "converged" on a completely wrong
173-
answer. This is sometimes called **fool's convergence** or a
174-
**sampling-density blind spot**. It is distinct from ordinary
175-
numerical error — the algorithm is internally consistent; it has
176-
just never evaluated the function at a point where it's nonzero.
177-
`pcubature` can fail the same way because its Clenshaw–Curtis tensor
178-
grid is also a fixed sample geometry.
167+
reliable and cheap. For integrands with **localized support** — a thin
168+
hinge, a near-step sigmoid, a very narrow Gaussian inside an oversized
169+
bounding box — it can fail in a particular way: the rule's sample
170+
points miss the integrand's support entirely, all sample values are
171+
zero, the rule estimate is zero with zero estimated error, and the
172+
algorithm confidently reports "converged" on a completely wrong
173+
answer. This is distinct from ordinary numerical error — the algorithm
174+
is internally consistent; it has just never evaluated the function at
175+
a point where it's nonzero. `pcubature` can fail the same way because
176+
its Clenshaw–Curtis tensor grid is also a fixed sample geometry.
179177

180178
A small reproducible example: a hinge-squared times a steep logistic
181179
times a standard Gaussian over `[-10, 10]²`. With default settings
@@ -227,21 +225,19 @@ integrators already use more conservative error estimators.
227225

228226
### When robust is not enough: the sampling-density cliff
229227

230-
Neither robust path is a complete cure. The safeguards work on
231-
regions where the rule has *seen some signal* and needs a better
232-
estimate of it. If the integrand's support is so narrow that every
233-
sample point of the base rule misses it entirely, the safeguards
234-
have nothing to work with. This failure mode — what we call the
235-
**sampling-density cliff** — is located at a parameter value
236-
determined by the rule's sample geometry. For `hcubature`'s
237-
Genz–Malik rule on `[-h, h]^d`, the cliff for hinge-line integrands
238-
sits at `t₁ = -√(9/70)·h ≈ -0.3586·h`; for `pcubature`'s robust
239-
(m = 2) Clenshaw–Curtis grid it's at
240-
`t₁ = -cos(3π/8)·h ≈ -0.3827·h`. For parameters on one side of the
241-
cliff every sample point fires and the algorithm converges
242-
correctly; for parameters on the other side every sample point
243-
evaluates to zero and the algorithm silently reports zero. No
244-
combination of error-estimator tweaks can detect this.
228+
Neither robust path is a complete cure. The safeguards work on regions
229+
where the rule has *seen some signal* and needs a better estimate of
230+
it. If the integrand's support is so narrow that every sample point of
231+
the base rule misses it entirely, the safeguards have nothing to work
232+
with. This failure mode is determined by the rule's sample
233+
geometry. For `hcubature`'s Genz–Malik rule on `[-h, h]^d`, the cliff
234+
for hinge-line integrands sits at `t₁ = -√(9/70)·h ≈ -0.3586·h`; for
235+
`pcubature`'s robust (m = 2) Clenshaw–Curtis grid it's at `t₁ =
236+
-cos(3π/8)·h ≈ -0.3827·h`. For parameters on one side of the cliff
237+
every sample point fires and the algorithm converges correctly; for
238+
parameters on the other side every sample point evaluates to zero and
239+
the algorithm silently reports zero. No combination of error-estimator
240+
tweaks can detect this.
245241

246242
The only way to address the cliff is a **denser base rule**, which
247243
is exactly what Cuba's Cuhre provides: it uses a degree-13 rule with

0 commit comments

Comments
 (0)