Say I have two nonlinear equations of the form $$ \begin{bmatrix} u \\ v \end{bmatrix} = f(u,v) = \begin{bmatrix} f_1(u,v) \\ f_2(u,v) \end{bmatrix}, \tag*{(1)} $$ where $u,v \in \mathbb{R}$ and I want to find fixed points $u^{\star}$ and $v^{\star}$ (assuming they exist). To compute them numerically, we can write the equations above as $$ \begin{bmatrix} u_{k+1} \\ v_{k+1} \end{bmatrix} = \begin{bmatrix} f_1(u_k,v_k) \\ f_2(u_k,v_k) \end{bmatrix}, \tag*{(2)} $$ for $k = 1,2,\dots$, and iterate until the mismatches between successive $u_k$ and $v_k$ are sufficiently small. This method results in the following pseudocode:
k = 1; converged = false;
while converged == false
u[k+1] = f_1(u[k], v[k]);
v[k+1] = f_2(u[k], v[k]);
if max(u[k+1] - u[k], v[k+1] - v[k]) < tolerance
converged = true;
end
k += 1;
end
However, I can empirically get a faster convergence if in the calculation of $v_{k+1}$, I use the new $u_{k+1}$ instead of $u_k$. Then $(2)$ becomes $$ \begin{bmatrix} u_{k+1} \\ v_{k+1} \end{bmatrix} = \begin{bmatrix} f_1(u_k,v_k) \\ {f_2(u_{\color{red}{ k + 1 }},v_k)} \end{bmatrix}. \tag*{(3)} $$
Questions
- Is $(3)$ a well-defined/standard expression for what I do numerically, based on the original $(1)$? If not, is there a standard way to express this sort of "joint" iterations of two variables?
- More importantly, given that $f_1$ and $f_2$ are differentiable on their respective domains, if I use the Jacobian to evaluate whether $f_1$ and $f_2$ are contractions using $(1)$, does the result apply to the numerical implementation of $(3)$?
I hope MSE is the appropriate place to post this question, if not, please let me know/migrate it. Thanks!
For one thing, in your pseudo-code, you should take the max of the absolute value of those differences.
To get estimates of the rate of convergence of your two iterations, assume an Taylor expansion of $f(u+a, v+b) \approx f(u, v)+a \dfrac{\partial f(x, y)}{\partial x}\mid_{x=u, y=v} +b \dfrac{\partial f(x, y)}{\partial y}\mid_{x=u, y=v} $ and do this at the fixed point of $f$.