0

I need to solve polynomial equation and I know an interval with a root. I try to use Newton method, but sometimes it fails due to overshooting. So instead I try to adopt an interval method, to keep myself in interval - it works, but not always. Let's see a simple example function: y=x2+2x-30 and interval [a,b] Derivative: y'=2x+2 What I do:

  1. x0 = a0 + (b0-a0)/2 //midpoint
  2. a_interim = x0 - f(x0)/f'(a0); b_interim = x0 - f(x0)/f'(b0)
  3. find intersection of intervals [a0,b0] and [a_interim,b_interim] - call it [a1,b1]
  4. iterate to x1,x2 ... xn Eventually xn converges to a root. The problem occurs if my interval includes a minima point, at x=-1, algorithm converges to a weird number, not a root. How to overcome this? In my problem I can ensure a single root within interval, but not the absence of a minima point.

Thanks.

  • May I ask why you chose this algorithm? Was it given to you or did you come up with it by yourself? – user469053 Mar 14 '24 at 10:05
  • 1
    The way you adopt an interval method is your idea or exactly from an exemplar? As you found the issue is for $f'$ close to $0$ so $\displaystyle\frac{f}{f'}$ gets huge. Thus I'd suggest an interval method w/o $f'$, regarding only the sign change at $f(x_{midpoint})$ and set it accordingly either to $x_a$ or $x_b$ and loop to bracket the root in smaller ranges. – m-stgt Mar 14 '24 at 10:13
  • Thank you for your reply. The algorithm was found and interpreted from the discussion here: https://math.stackexchange.com/questions/2147957/how-to-smoothly-bound-newtons-iteration-within-known-interval-not-the-interval?rq=1 – Ilya Kondratev Mar 15 '24 at 01:08
  • If this is not the best algorithm, then what will be the one you could suggest? I chose newton for simplicity of implementation and it seemed robust at first. – Ilya Kondratev Mar 15 '24 at 01:10
  • The final post in that other thread tells specifically that what you describe here is not what they are saying. $f'([a_k, b_k])$ is the image of the interval by $f'$. Its endpoints need not be $f'(a_k)$ or $f'(b_k)$. – Paul Sinclair Mar 15 '24 at 11:59
  • If you want a good general solver applicable to all continuous functions (not necessarily differentiable), then I suggest the ITP Method. – Paul Sinclair Mar 15 '24 at 12:01
  • Thanks Paul. I had issues interpreting that interval newton method... So what would iterations look like if my interpretation was wrong? – Ilya Kondratev Mar 18 '24 at 16:37

0 Answers0