Jump to content

ITP method: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Half way through definition of the method
The Method: in progress
Line 13: Line 13:
'''Problem Definition:''' Find <math>\hat{x}</math> such that <math>|\hat{x}-x^*|\leq \epsilon</math>, where <math>x^*</math> satisfies <math>f(x^*) = 0</math>.</blockquote>
'''Problem Definition:''' Find <math>\hat{x}</math> such that <math>|\hat{x}-x^*|\leq \epsilon</math>, where <math>x^*</math> satisfies <math>f(x^*) = 0</math>.</blockquote>


This problem is very common in [[numerical analysis]], [[computer science]] and [[engineering]]; and, root-finding algorithms are the standard approch to solve it. Often, the root-finding proceedure is called by more complex parent algorithms within a larger context, and, for this reason solving root problems efficiently is of extreme importance since an inneficent approach might come at a high computational cost when the larger context is taken into account. This is what the ITP method attempts to do by simultaneously exploiting interpolation guarantees as well as minmax optimal guarantees of the bisection method.
This problem is very common in [[numerical analysis]], [[computer science]] and [[engineering]]; and, root-finding algorithms are the standard approch to solve it. Often, the root-finding proceedure is called by more complex parent algorithms within a larger context, and, for this reason solving root problems efficiently is of extreme importance since an inneficent approach might come at a high computational cost when the larger context is taken into account. This is what the ITP method attempts to do by simultaneously exploiting interpolation guarantees as well as minmax optimal guarantees of the bisection method that terminates in at most <math>n_{1/2}\equiv\lceil (b_0-a_0)/2\epsilon\rceil </math> iterations when initiated on an interval .

The bisection method is guaranteed to solve the root-finding problem defined on an initial interval <math>[a_0,b_0] </math> in <math>n_{1/2} </math> iterations, where <math>n_{1/2} </math> is equal to <math>\lceil (b_0-a_0)/2\epsilon\rceil </math> .


== The Method ==
== The Method ==


Given <math>\kappa_1\in (0,\infty), \kappa_2 \in \left[1,1+\phi\right) </math> and <math>n_0\in[0,\infty) </math> where <math>\phi </math> is the golden ration <math>\tfrac{1}{2}(1+\sqrt{5}) </math>, the ITP method follows three steps:
Given <math>\kappa_1\in (0,\infty), \kappa_2 \in \left[1,1+\phi\right) </math>, <math>n_{1/2} \equiv \lceil(b_0-a_0)/2\epsilon\rceil </math> and <math>n_0\in[0,\infty) </math> where <math>\phi </math> is the golden ration <math>\tfrac{1}{2}(1+\sqrt{5}) </math>, in each iteration <math>j = 0,1,2... </math> the ITP method calculates the point <math>x_{\text{ITP}} </math> following three steps:


# ''[Interpolation Step] Calculate the bisection and the regula falsi points: <math>x_{1/2} \equiv \frac{a+b}{2} </math>'' and <math>x_f \equiv \frac{bf(a)-af(b)}{f(a)-f(b)} </math> ;
# ''[Interpolation Step] Calculate the bisection and the regula falsi points: <math>x_{1/2} \equiv \frac{a+b}{2} </math>'' and <math>x_f \equiv \frac{bf(a)-af(b)}{f(a)-f(b)} </math> ;
# ''[Truncation Step] Perturb the estimator towards the center: <math>x_t \equiv x_f+\sigma \delta </math>'' where ''<math>\sigma \equiv \text{sign}(x_{1/2}-x_f) </math>'' and ''<math>\delta \equiv \min\{\kappa_1|b-a|^{\kappa_2},|x_{1/2}-x_f|\} </math>'' ;
# ''[Truncation Step] Perturb the estimator towards the center: <math>x_t \equiv x_f+\sigma \delta </math>'' where ''<math>\sigma \equiv \text{sign}(x_{1/2}-x_f) </math>'' and ''<math>\delta \equiv \min\{\kappa_1|b-a|^{\kappa_2},|x_{1/2}-x_f|\} </math>'' ;
# [Projection Step] Project the estimator to minmax interval: <math>x_{\text{ITP}} \equiv x_{1/2} -\sigma \rho_k </math> where <math>\rho_k \equiv \min\left\{\epsilon 2^{n_{1/2}+n_0-k} - \frac{b-a}{2},|x_t-x_{1/2}|\right\} </math>
# [Projection Step]


==== The Algorithm ====
==== The Algorithm ====

Revision as of 11:39, 18 December 2020

ITP Method


In numerical analysis, the ITP Method, short for Interpolate Truncate and Project, is the first root-finding algorithm that achieves the superlinear convergence of the secant method [1] while retaining the optimal[2] worst-case performance of the bisection method [3]. It is also the first method with guaranteed average performance strictly better than the bisection method under any continuous distribution [3]. In practice it performs better than traditional interpolation and hybrid based strategies (Brent's Method, Ridders, Illinois), since it not only converges super-linearly over well behaved functions but also guarantees fast performance under ill-behaved functions where interpolations fail[3].

The ITP Method follows the same structure of standard bracketing strategies that keeps track of upper and lower bounds for the location of the root; but is also keeps track of the region where worst-case performance is kept upper-bounded. As a bracketing strategy, in each iteration the ITP queries the value of the function on one point and discards the part of the interval between two points where the function value shares the same sign. The the queried point is calculated with three steps: it interpolates finding the regula falsi estimate, then it perturbes/truncates the estimate (similar to Regula falsi § Improvements in regula falsi) and then projects the perturbed estimate onto an interval in the neighbourhood of the bisection midpoint. The method depends on three hyper-parameters and where is the golden ration , the first two control the size of the truncation and the third is a slack variable that controls the size of the interval for the projection step.

Root Finding Problem:

Given a continuous function defined from to such that , where at the cost of one query one can access the values of on any given . And, given a pre-specified target precision , a root-finding algorithm is design to solve the following problem with the least amount of queries as possible:

Problem Definition: Find such that , where satisfies .

This problem is very common in numerical analysis, computer science and engineering; and, root-finding algorithms are the standard approch to solve it. Often, the root-finding proceedure is called by more complex parent algorithms within a larger context, and, for this reason solving root problems efficiently is of extreme importance since an inneficent approach might come at a high computational cost when the larger context is taken into account. This is what the ITP method attempts to do by simultaneously exploiting interpolation guarantees as well as minmax optimal guarantees of the bisection method that terminates in at most iterations when initiated on an interval .

The bisection method is guaranteed to solve the root-finding problem defined on an initial interval in iterations, where is equal to .

The Method

Given , and where is the golden ration , in each iteration the ITP method calculates the point following three steps:

  1. [Interpolation Step] Calculate the bisection and the regula falsi points: and  ;
  2. [Truncation Step] Perturb the estimator towards the center: where and  ;
  3. [Projection Step] Project the estimator to minmax interval: where

The Algorithm

Illustration

Analysis

Worst Case Performance

Average Performance

Asymptotic Performance

References

  1. ^ Argyros, I. K.; Hernández-Verón, M. A.; Rubio, M. J. (2019). "On the Convergence of Secant-Like Methods". Current Trends in Mathematical Analysis and Its Interdisciplinary Applications: 141–183. doi:10.1007/978-3-030-15242-0_5.
  2. ^ Sikorski, K. (1982-02-01). "Bisection is optimal". Numerische Mathematik. 40 (1): 111–117. doi:10.1007/BF01459080. ISSN 0945-3245.
  3. ^ a b c Oliveira, I. F. D.; Takahashi, R. H. C. (2020-12-06). "An Enhancement of the Bisection Method Average Performance Preserving Minmax Optimality". ACM Transactions on Mathematical Software. 47 (1): 5:1–5:24. doi:10.1145/3423597. ISSN 0098-3500.