Professional Documents
Culture Documents
In numerical linear algebra, the biconjugate gradient stabilized method, often abbreviated as
BiCGSTAB, is an iterative method developed by H. A. van der Vorst for the numerical solution of
nonsymmetric linear systems. It is a variant of the biconjugate gradient method (BiCG) and has
faster and smoother convergence than the original BiCG as well as other variants such as the
conjugate gradient squared method (CGS). It is a Krylov subspace method.
Contents
1 Algorithmic steps
1.1 Unpreconditioned BiCGSTAB
1.2 Preconditioned BiCGSTAB
2 Derivation
2.1 BiCG in polynomial form
2.2 Derivation of BiCGSTAB from BiCG
2.3 Determination of BiCGSTAB constants
3 Generalization
4 See also
5 References
Algorithmic steps
Unpreconditioned BiCGSTAB
To solve a linear system Ax = b , BiCGSTAB starts with an initial guess x 0 and proceeds as
follows:
1. r0 = b Ax0
2. Choose an arbitrary vector r 0 such that (r
0, r0) 0, e.g., r
0 = r0
3. 0 = = 0 = 1
4. v0 = p0 = 0
5. For i = 1, 2, 3,
1. i = (r0, ri1)
2. = (i/i1)(/i1)
3. p i = ri1 + (p i1 i1v i1)
4. v i = Ap i
5. = i/(r 0, v i)
6. s = ri1 v i
7. t = As
8. i = (t, s)/(t, t)
9. x i = x i1 + p i + is
10. If x i is accurate enough then quit
11. ri = s it
Preconditioned BiCGSTAB
x
= b
1 1 1
with = K 1 AK 2 , x = K2x and b = K 1 b. In other words, both left- and right-preconditioning
are possible with this formulation.
Derivation
BiCG in polynomial form
pi = ri1 + ipi1,
pi = ri1 + ip
i1,
ri = ri1 iApi,
r T .
i = ri1 iA p i
i = i/(p
i, Ap i),
i = i/i1
where i = (r
i1, ri1) so that the residuals and the search directions satisfy biorthogonality and
biconjugacy, respectively, i.e., for i j,
(r
i, rj ) = 0,
(pi, Ap j ) = 0.
where Pi(A) and Ti(A) are ith-degree polynomials in A. These polynomials satisfy the following
recurrence relations:
It is unnecessary to explicitly keep track of the residuals and search directions of BiCG. In
other words, the BiCG iterations can be performed implicitly. In BiCGSTAB, one wishes to have
recurrence relations for
ri
= Qi(A)Pi(A)r0
where Qi(A) = (I 1A)(I 2A)(I iA) with suitable constants j instead of ri = Pi(A) in
the hope that Qi(A) will enable faster and smoother convergence in rithan ri.
It follows from the recurrence relations for Pi(A) and Ti(A) and the definition of Qi(A) that
which entails the necessity of a recurrence relation for Qi(A)Ti(A)r0. This can also be derived
from the BiCG relations:
p
i+1 = Qi(A)Ti(A)r0.
pi = ri1
+ i(I i1A)p
i1,
ri= (I iA)(ri1
iApi).
si = ri1
iAp
i.
ri
= ri1
iAp
i iAsi,
which corresponds to
xi = xi1 + ip
i + isi.
Now it remains to determine the BiCG constants i and i and choose a suitable i.
T , P (A)r ) = (r
i = (Qi1(A )r
0 i1 0 0, Qi1(A)Pi1(A)r0) = (r
0, ri1).
i = (1/1)(2/2)(i1/i1)
i,
and thus
i = i/i1 = (
i/
i1)(i1/i1).
Similarly to the case above, only the highest-order terms of Pi1(AT) and Ti1(AT) matter in the
dot products thanks to biorthogonality and biconjugacy. It happens that Pi1(AT) and Ti1(AT)
have the same leading coefficient. Thus, they can be replaced simultaneously with Qi1(AT) in the
formula, which leads to
i = (Qi1(AT)r T , AT (A)r ) =
0, Pi1(A)r0)/(Qi1(A )r
0 i1 0 i/(r i/(r
0, AQi1(A)Ti1(A)r0) = 0, Ap
i).
Generalization
BiCGSTAB can viewed as a combination of BiCG and GMRES where each BiCG step is followed by a
GMRES(1) (i.e., GMRES restarted at each step) step to repair the irregular convergence behavior
of CGS, as an improvement of which BiCGSTAB was developed. However, due to the use of degree-one
minimum residual polynomials, such repair may not be effective if the matrix A has large complex
eigenpairs. In such cases, BiCGSTAB is likely to stagnate as confirmed by numerical experiments.
One may expect that higher-degree minimum residual polynomials may better handle this situation.
This gives rise to algorithms including BiCGSTAB2[1] and the more general BiCGSTAB(l)[2] . In
BiCGSTAB(l), a GMRES(l) step follows every l BiCG steps. BiCGSTAB2 is equivalent to BiCGSTAB(l)
with l = 2.
See also
Biconjugate gradient method
Conjugate gradient squared method
Conjugate gradient method
References
Van der Vorst, H. A. (1992). "Bi-CGSTAB: A Fast and Smoothly Converging Variant of Bi-CG for
the Solution of Nonsymmetric Linear Systems". SIAM J. Sci. and Stat. Comput. 13 (2): 631
644. doi:10.1137/0913035 (http://dx.doi.org/10.1137%2F0913035).
Saad, Y. (2003). "7.4.2 BICGSTAB". Iterative Methods for Sparse Linear Systems (2nd ed.).
SIAM. pp. 231234. doi:10.2277/0898715342 (http://dx.doi.org/10.2277%2F0898715342).
ISBN 978-0-89871-534-7.
^ Gutknecht, M. H. (1993). "Variants of BICGSTAB for Matrices with Complex Spectrum". SIAM
J. Sci. Comput. 14 (5): 10201033. doi:10.1137/0914062
(http://dx.doi.org/10.1137%2F0914062).
^ Sleijpen, G. L. G.; Fokkema, D. R. (November 1993). "BiCGstab(l) for linear equations
involving unsymmetric matrices with complex spectrum"
(http://www.emis.ams.org/journals/ETNA/vol.1.1993/pp11-32.dir/pp11-32.pdf) (PDF). Electronic
Transactions on Numerical Analysis (Kent, OH: Kent State University) 1: 1132. ISSN 1068-
9613 (//www.worldcat.org/issn/1068-9613).