Solving $x^3+x-\epsilon = 0$ with iteration

207 Views Asked by At

I'm trying to solve $x^3+x-\epsilon = 0$ using the iteration method. From the equation, I have $x_{n+1} = (\epsilon-x_n)^{1/3}$. My question is how can I choose a reasonable $x_0$? When $\epsilon = 0$, the 3 roots of the equation are $0, i $ and $-i$. But I don't think any of them should be used as an initial guess.

Update:

As suggested in the answers, when $\epsilon$ is positive and approaches $0$, the real root of this function also approaches $0$. If we set $x_0 = 0$, then $x_1 = \epsilon^{1/3}$, $x_2 = (\epsilon-\epsilon^{1/3})^{1/3}$, etc. As $\epsilon\rightarrow0^+$, $x\rightarrow0$. It looks like $x$ becomes a function of $\epsilon$. How do we find the asymptotic expansion of this root? For the imaginary roots, should I repeat similar procedures?

3

There are 3 best solutions below

6
On

You can use the exact roots of the unperturbed equation as initial guesses, and if your iteration is selected appropriately then you will have convergence to the corresponding root of the perturbed equation for small enough $\epsilon$.

In fact, starting with the solutions to the unperturbed problem is the normal thing to do in a "regular" perturbation problem like this (where the number of solutions is the same when $\epsilon=0$ as otherwise). Problems where that can't be done are called "singular".

It's worth trying the iteration that you proposed especially for $x_0=0$; something interesting happens.

2
On

$f(x)=x^3+x-\epsilon$ is clearly an increasing function. So, the equation $f(x)=0$ has one real root. Assuming $\epsilon>0$, this root must be positive, since $f(0)=-\epsilon<0$.

Due to the intermediate value theorem, there is an integer $N\geq 0$ such that this root is in the interval $(N,N+1)$ where $f(N)<0$ but $f(N+1)>0$. Choose the starting point of your fixed point iteration as $x_0=N+1.$

I started with $x_0=3$ for $x^3+x-20=0$ and $x_5=x_6=...$ according to WA: https://www.wolframalpha.com/input?i=%2820-2.5917%29%5E%281%2F3%29

But of course the root is not 2.5917. At this point it is better to choose a new initial. Maybe $x_0=2.59171$.

5
On

For the real root, the simplest way is to write $$x=\sum_{n=1}^p a_n\, \epsilon^n$$ Expand it and cancel coefficients.

You should get $$x=\epsilon -\epsilon ^3+3 \epsilon ^5+\cdots$$

If you contiue for more terms and identify the patterns $$x=\sum_{n=1}^p (-1)^{n+1}\binom{3 (n-1)}{n-1}\frac {\epsilon^{2n-1}}{2n-1}$$ If $p\to \infty$ $$x=\frac{2}{\sqrt{3}}\sinh \left(\frac{1}{3} \sinh ^{-1}\left(\frac{3 \sqrt{3} }{2} \epsilon\right)\right)$$ which is the exact solution for any value of $\epsilon$.

You could have found it using the hyperbolic method for one real root in cubic equations.