Performs one-dimensional root-finding using the ITP algorithm of
Oliveira and Takahashi (2021). This function is equivalent to
itp but calculations are performed entirely using C++, and
the arguments differ slightly:
itp_c has a named required argument
pars rather than
... and it does not have the arguments
itp_c(f, pars, a, b, epsilon = 1e-10, k1 = -1, k2 = 2, n0 = 1)
An external pointer to a C++ function that evaluates the function \(f\).
A list of additional arguments to the function. This may be an empty list.
Numeric scalars. Lower (
a) and upper
b limits of
the interval to be searched for a root.
A positive numeric scalar. The desired accuracy of the root.
The algorithm continues until the width of the bracketing interval for the
root is less than or equal to
2 * epsilon.
Numeric scalars. The values of the tuning parameters
See the Details section of
The default value for
itp_c is set as
the inadmissible value of
(in reality \(\kappa\)1
must be positive) as a device to set the same default value for
itp, that is,
k1 = 0.2 / (b - a). If the input
k1 is less than or equal to 0 then, inside
k1 = 0.2 / (b - a) is set.
An object (a list) of class
"itp" with the same structure
as detailed in the Value section of
that the attribute
f_name is empty (equal to
For details see
Oliveira, I. F. D. and Takahashi, R. H. C. (2021). An Enhancement of the Bisection Method Average Performance Preserving Minmax Optimality, ACM Transactions on Mathematical Software, 47(1), 1-24. doi: 10.1145/3423597