Replies: 1 comment 5 replies
-
The definition of an iteration for fixed point methods is the number of times it updates its iterate,
We are slightly inconsistent only for GMRES as |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The issue is the definition of iteration in polynomial-based linear solvers including Krylov subspace methods. We can use the number of SpMVs, or the increase in the dimension of the Krylov subspace used to search for the solution, or perhaps something else.
For BiCG it's very clear that the dimension of the Krylov subspace is increased by only 1 per 2 SpMVs. For CGS and BiCGSTab it's not so clear, mainly because the whole concept of basis vector is not very relevant though they are loosely based on BiCG. They are defined in terms of polynomials - having the residual be r_0 times some polynomial of A, rather than explicitly looking for the solution in some subspace by orthogonalizing the residual w.r.t. some (other) subspace. The recursion for the polynomials is inspired by the BiCG Krylov subspace. Overall it's difficult to talk about CGS and BiCGStab in terms of basis vectors, so in this sense I see no clear reason to define 'iteration' one way or another.
In CGS and BiCGSTab, if one looks at the degree of the polynomial which defines the residual and solution, the degree is increased by two per iteration (where each iteration consists of 2 SpMVs). So perhaps it makes sense to count one SpMV as one iteration. But, it's interesting to note that similar to BiCG, BiCGStab also converges in at most n iterations according to Van der Vorst, where n is the dimension of the problem and 'iteration' is 2 SpMVs. Van der Vorst himself calls it one iteration for two SpMVs.
Beta Was this translation helpful? Give feedback.
All reactions