Estimate number of iterations based on rate of convergence and asymptotic error constant

525 Views Asked by At

I'm trying to estimate the number of iterations required to reach a certain accuracy ( tol < $10^{-8}$), based only on the rate of convergence and asymptotic error constant, without actually performing any iterations.

The rate of convergence of the iteration method that I'm using is p=2, and the asymptotic error constant is c = 1.327. I've already proved that it converges, and tested it in MATLAB. It converges in 5 iterations.

My approach (following the TA's explanation):

The limit $\lim_{n\to\infty} \frac{|e_{n+1}|}{|e_{n}|^{p}} = c$ defines a relation between the error in the nth step and the error in the previous one, so we can derive a relation between the error in the nth step and the initial error $e_{0}$ :

$|e_{n+1}| \approx |e_{n}|^{2}*c\approx(|e_{n-1}|^{2}*c)^{2}*c ... \approx |e_{0}|^{4n}* c^{2n+1} < 10^{-8} \iff (|e_{0}|^{2}* c)^{2n} < \frac {10^{-8}}{c}$

$|e_{0}| \leq max\{|x_{0} - a|, |x_{0} - b|\} = 1.1$ where [a,b] = [-2.2,-0.4], and $x_{0} = -1.5 $.

The problem is that $|e_{0}|^{2}* c > 1$, therefor I get negative values for n. In this case n = -25, which is clearly incorrect.

Any help would be appreciated.

1

There are 1 best solutions below

0
On

The limit is likely to be true for small errors. When $e_0$ is large, it might not converge; or $e_1$ might turn out to smaller than the limit predicts. Try the calculation only after the error has gotten small, say $e_k=0.1$.

Also, the recursion is $$e_{n+1}\approx ce_n^2\approx c^3e_{n-1}^4\approx c^7e_{n-2}^8\approx\ldots\approx c^{2^n-1}e_1^{2^n}$$ the exponents themselves have exponents.