This function is auxiliary to polyCub.iso
.
The (analytical) integral of \(r f_r(r)\) from 0 to \(R\) is checked
against a numeric approximation using integrate
for various
values of the upper bound \(R\). A warning is issued if inconsistencies
are found.
checkintrfr(intrfr, f, ..., center, control = list(), rs = numeric(0L),
tolerance = control$rel.tol)
The intrfr
function. If it was not supplied, its quadrature
version using integrate
is returned.
a function(R, ...)
, which implements the (analytical)
antiderivative of \(r f_r(r)\) from 0 to R
. The first argument
must be vectorized but not necessarily named R
.
If intrfr
is missing, it will be approximated numerically via
integrate(function(r, ...)
r * f(cbind(x0 + r, y0), ...), 0, R, ..., control=control)
,
where c(x0, y0)
is the center
of isotropy.
Note that f
will not be checked for isotropy.
a two-dimensional real-valued function. As its first argument it must take a coordinate matrix, i.e., a numeric matrix with two columns, and it must return a numeric vector of length the number of coordinates.
further arguments for f
or intrfr
.
numeric vector of length 2, the center of isotropy.
list of arguments passed to integrate
, the
quadrature rule used for the line integral along the polygon boundary.
numeric vector of upper bounds for which to check the validity of
intrfr
. If it has length 0 (default), no checks are performed.
of all.equal.numeric
when comparing
intrfr
results with numerical integration. Defaults to the
relative tolerance used for integrate
.