WikiProject Computing
This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.

## Step 2

Step 2 is confusing, there seems to be two different r0? —Preceding unsigned comment added by 130.37.28.128 (talkcontribs) 09:38, April 13, 2010 (UTC)

Could be a problem with your browser. The second r-zero is in fact "r hat"-zero. Kxx (talk | contribs) 14:07, 13 April 2010 (UTC)
I was confused too, as the spanish page says:
Elige un vector arbitrario ${\displaystyle {\boldsymbol {\hat {r}}}_{0}}$ tal que ${\displaystyle ({\boldsymbol {\hat {r}}}_{0},{\boldsymbol {r}}_{0})\neq 0}$, por ejemplo, ${\displaystyle {\boldsymbol {\hat {r}}}_{0}={\boldsymbol {r}}_{0}}$
while the english one says:
Choose an arbitrary vector r̂0 such that (r̂0, r0) ≠ 0, e.g., r̂0 = r0
Which one is right? Should the english page be changed? Nicolas Bigaouette (talk) 21:40, 26 April 2010 (UTC)
This is how your reply looks on my machine: http://img153.imageshack.us/img153/1053/61070581.png. I don't see any problems. Kxx (talk | contribs) 08:14, 27 April 2010 (UTC)

## Fails if Residual is Eigenvector

• I'm wondering if anyone else has noticed the problem that if ${\displaystyle r_{0}}$ is any eigenvector of ${\displaystyle A}$ and ${\displaystyle {\hat {r_{0}}}=r_{0}}$, step 5.8 will evaluate as ${\displaystyle \omega _{i}=0/0}$, thus wreaking havoc. Mind you, if this case does crop up, there's an exact solution of ${\displaystyle x=x_{0}+r_{0}/\lambda }$, where ${\displaystyle \lambda =(r_{0}^{T}Ar_{0})/(r_{0}^{T}r_{0})}$. Another instant failure case is if ${\displaystyle r_{0}^{T}Ar_{0}=0}$ and ${\displaystyle {\hat {r_{0}}}=r_{0}}$, in which case step 5.5 divides by zero, though it might be that this only happens when either the above is true or the initial guess is orthogonal to the solution. Are there are any other instant failure cases to worry about? --Ndickson (talk) 05:36, 22 February 2012 (UTC)
Even if it does not fail instantly, it can still fail after some iterations because there is no guarantee that the method will converge. So people generally do not care if the failure is instant or not. When it fails, you can choose another initial guess or move to another method such as GMRES. Kxx (talk | contribs) 07:18, 28 July 2012 (UTC)

## Is the preconditioned algorithm correct?

I'm rather confused by how the preconditioners are defined. From modified system ${\displaystyle {\tilde {A}}{\tilde {x}}=K_{1}^{-1}AK_{2}^{-1}K_{2}x=K_{1}^{-1}b}$, it looks like ${\displaystyle K_{1}}$ and ${\displaystyle K_{2}}$ are intended to be left and right preconditioners respectively. However as I understand it, this means that we should have either ${\displaystyle K_{1}}$${\displaystyle A}$ and ${\displaystyle K_{2}}$ is the identity matrix, or ${\displaystyle K_{2}}$${\displaystyle A}$ and ${\displaystyle K_{1}}$ is the identity matrix, depending on if a left or right preconditioner is to be used. At worst it should be that ${\displaystyle K_{1}^{-1}AK_{2}^{-1}}$ should be well conditioned, but I can't figure out where the relation ${\displaystyle K=K_{1}K_{2}}$${\displaystyle A}$ comes from.

With that in mind, by naively solving the modified system ${\displaystyle {\tilde {A}}{\tilde {x}}=K_{l}^{-1}AK_{r}^{-1}K_{r}x=K_{l}^{-1}b}$ using the unpreconditioned algorithm, I find that the following steps should be modified:

1. ${\displaystyle r_{0}=K_{l}^{-1}(b-Ax_{0})}$

4. ${\displaystyle y=K_{r}^{-1}p_{i}}$

5. ${\displaystyle \nu _{i}=K_{l}^{-1}Ay}$

8. ${\displaystyle z=K_{r}^{-1}s}$

9. ${\displaystyle t=K_{l}^{-1}Az}$

10. ${\displaystyle \omega _{i}=(t,s)/(t,t)}$

where ${\displaystyle K_{l}}$ and ${\displaystyle K_{r}}$ are left and right preconditioners. Only one can be used by simply setting the other to ${\displaystyle I}$, or both can be used if they make ${\displaystyle K_{l}^{-1}AK_{r}^{-1}}$ more suitable to iterative solving.

Is that correct, or am I missing something? — Preceding unsigned comment added by Fromain (talkcontribs) 21:32, 9 June 2015 (UTC)