pub fn integrate_2d<F: FnMut(f64, f64) -> f64>(
f: F,
u: (f64, f64),
v: (f64, f64),
tolerance: f64,
) -> OgeomResult<f64>Expand description
Integrate f(u, v) over the rectangle [a, b] x [c, d] to an absolute
tolerance: a patch’s area, its moments, anything spread over a chart.
The Gauss-Kronrod pair in tensor form: one pass over a cell is fifteen
by fifteen evaluations and yields the Kronrod estimate and, from the
same values, the estimate with the Gauss rule in u and the one with
it in v, each gap the error attributed to that direction. A cell whose
worse gap is inside its budget is done. One whose is not is halved
along the rougher direction, each half given half the budget, so the
cells’ errors sum to the whole’s and a ridge running across the chart
(a crease in an integrand, a seam) costs a line of cells rather than a
field of them.
§Errors
OgeomError::Domain if a bound is not
finite or the tolerance is not positive;
OgeomError::NotDone if some cell did
not converge within the depth limit.