Newton Raphson method for implicit methods

4.1k Views Asked by At

If $x'=\sqrt x$, to solve for implicit midpoint's method, which according to Wikipedia is, $x_{n+1}=x_{n}+hf((x_{n+1}+x_{n})/2)$ for an autonomous system, where h is the time step, how can i use newton's method to calculate $x_{n+1}$? I did the following method, $g(x_{n+1})=x_{n+1}-x_{n}-hf((x_{n+1}+x_{n})/2) $ and $g'(x)=\frac{g_{x+h}-g_{x}}{h}$, where $h$ is the time step. Now how can i get $x_{n+1}$? Should i use any explicit schemes or is there any other way?

2

There are 2 best solutions below

0
On BEST ANSWER

You have first to decide what you want to take as variable, $x_{n+1}$, $k$ in $x_{n+1}=x_n+hk$ or the midpoint $u=\frac{x_n+x_{n+1}}2$.

IMO the midpoint gives the easiest-to-read formulas. So use $x_{n+1}=2u-x_n$ to transform the implicit equation for $x_{n+1}$ into $$ 2u-x_n=x_n+hf(u)\iff 0=2u-2x_n-hf(u) $$ The derivative of that equation is $$ 2-hf'(u) $$ so that you get the Newton step $$ u_+=u-(2-hf'(u))^{-1}(2u-2x_n-hf(u)) $$ which you have to iterate until convergence in a numerical sense. Then set $x_{n+1}=2u-x_n$.

6
On

First consider that $$ x_{n + 1} + x_n = \left( {x_{n + 1} - x_n } \right) + 2x_n $$ Then consider that in "simple words" the essential of Newton-Raphson Method is to fix an estimate of the root $x_0$, replace $f(x)$ with the first terms (const+first+ eventually 2nd ..) of its Taylor expansion around $x_0$ , compute therefrom the root $x=x_1$ therefrom, restart with $x_1$ ...
Of course all subject to the criteria ensuring for convergence.

So in your case we have that: $$ \begin{gathered} \Delta x_n = x_{n + 1} - x_n = h\,f\left( {\left( {x_{n + 1} + x_n } \right)/2} \right) = h\,f\left( {x_n + \Delta x_n /2} \right) = \hfill \\ = h\,\left( {f\left( {x_n } \right) + f'\left( {x_n } \right)\Delta x_n /2 + \cdots } \right) \hfill \\ \end{gathered} $$ ----- amended as per LutzL comment -----

Now we should solve for $\Delta \,x_{\,n}$, keeping firm $x_n$, from $$ \Delta \,x_{\,n} = h\,f\left( {x_{\,n} + \Delta \,x_{\,n} /2} \right) $$ and for that you can use the Newton method, starting $$ \begin{gathered} {\Delta \,^{(0)} x_{\,n}} _\, = h\,\left( {f\left( {x_{\,n} } \right) + f'\left( {x_{\,n} } \right){\Delta \,^{(0)} x_{\,n} /2}} \right) \hfill \\ {\Delta \,^{(1)} x_{\,n}} _\, = h\,\left( {f\left( {x_{\,n} + {\Delta ^{(0)} \,x_{\,n}} /2} \right) + f'\left( {x_{\,n} + {\Delta ^{(0)} \,x_{\,n}} /2} \right){\Delta \,^{(1)} x_{\,n}} /2} \right)\hfill \\ \quad \vdots \end{gathered} $$ and stopping when the result is sufficiently accurate.

From the $\Delta \,x_{\,n}$ so found, you can get $x_{n+1}$ and reiterate the procedure