This article may be too technical for most readers to understand.(May 2015) |
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. Unlike the original BiCG method, it doesn't require multiplication by the transpose of the system matrix.
In the following sections, (x,y) = xTy denotes the dot product of vectors. To solve a linear system Ax = b, BiCGSTAB starts with an initial guess x0 and proceeds as follows:
In some cases, choosing the vector r̂0 randomly improves numerical stability. [1]
Preconditioners are usually used to accelerate convergence of iterative methods. To solve a linear system Ax = b with a preconditioner K = K1K2 ≈ A, preconditioned BiCGSTAB starts with an initial guess x0 and proceeds as follows:
This formulation is equivalent to applying unpreconditioned BiCGSTAB to the explicitly preconditioned system
with à = K −1
1 AK −1
2 , x̃ = K2x and b̃ = K −1
1 b. In other words, both left- and right-preconditioning are possible with this formulation.
In BiCG, the search directions pi and p̂i and the residuals ri and r̂i are updated using the following recurrence relations:
The constants αi and βi are chosen to be
where ρi = (r̂i−1, ri−1) so that the residuals and the search directions satisfy biorthogonality and biconjugacy, respectively, i.e., for i ≠ j,
It is straightforward to show that
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
where Qi(A) = (I − ω1A)(I − ω2A)⋯(I − ωiA) with suitable constants ωj instead of ri = Pi(A)r0 in the hope that Qi(A) will enable faster and smoother convergence in r̃i than 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:
Similarly to defining r̃i, BiCGSTAB defines
Written in vector form, the recurrence relations for p̃i and r̃i are
To derive a recurrence relation for xi, define
The recurrence relation for r̃i can then be written as
which corresponds to
Now it remains to determine the BiCG constants αi and βi and choose a suitable ωi.
In BiCG, βi = ρi/ρi−1 with
Since BiCGSTAB does not explicitly keep track of r̂i or ri, ρi is not immediately computable from this formula. However, it can be related to the scalar
Due to biorthogonality, ri−1 = Pi−1(A)r0 is orthogonal to Ui−2(AT)r̂0 where Ui−2(AT) is any polynomial of degree i − 2 in AT. Hence, only the highest-order terms of Pi−1(AT) and Qi−1(AT) matter in the dot products (Pi−1(AT)r̂0, Pi−1(A)r0) and (Qi−1(AT)r̂0, Pi−1(A)r0). The leading coefficients of Pi−1(AT) and Qi−1(AT) are (−1)i−1α1α2⋯αi−1 and (−1)i−1ω1ω2⋯ωi−1, respectively. It follows that
and thus
A simple formula for αi can be similarly derived. In BiCG,
Similarly to the case above, only the highest-order terms of Pi−1(AT) and Ti−1(AT) matter in the dot products thanks to biorthogonality and biconjugacy. It happens that Pi−1(AT) and Ti−1(AT) have the same leading coefficient. Thus, they can be replaced simultaneously with Qi−1(AT) in the formula, which leads to
Finally, BiCGSTAB selects ωi to minimize r̃i = (I − ωiA)si in 2-norm as a function of ωi. This is achieved when
giving the optimal value
BiCGSTAB can be 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 and the more general BiCGSTAB(l) . In BiCGSTAB(l), a GMRES(l) step follows every l BiCG steps. BiCGSTAB2 is equivalent to BiCGSTAB(l) with l = 2.
In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer n by several integers, then one can determine uniquely the remainder of the division of n by the product of these integers, under the condition that the divisors are pairwise coprime.
In computational mathematics, an iterative method is a mathematical procedure that uses an initial value to generate a sequence of improving approximate solutions for a class of problems, in which the n-th approximation is derived from the previous ones.
In arithmetic and computer programming, the extended Euclidean algorithm is an extension to the Euclidean algorithm, and computes, in addition to the greatest common divisor (gcd) of integers a and b, also the coefficients of Bézout's identity, which are integers x and y such that
In arithmetic, long division is a standard division algorithm suitable for dividing multi-digit Hindu-Arabic numerals that is simple enough to perform by hand. It breaks down a division problem into a series of easier steps.
In mathematics, a spline is a function defined piecewise by polynomials. In interpolating problems, spline interpolation is often preferred to polynomial interpolation because it yields similar results, even when using low degree polynomials, while avoiding Runge's phenomenon for higher degrees.
In mathematics, the conjugate gradient method is an algorithm for the numerical solution of particular systems of linear equations, namely those whose matrix is positive-definite. The conjugate gradient method is often implemented as an iterative algorithm, applicable to sparse systems that are too large to be handled by a direct implementation or other direct methods such as the Cholesky decomposition. Large sparse systems often arise when numerically solving partial differential equations or optimization problems.
Interior-point methods are algorithms for solving linear and non-linear convex optimization problems. IPMs combine two advantages of previously-known algorithms:
In linear algebra, the order-rKrylov subspace generated by an n-by-n matrix A and a vector b of dimension n is the linear subspace spanned by the images of b under the first r powers of A, that is,
In mathematics, more specifically in numerical linear algebra, the biconjugate gradient method is an algorithm to solve systems of linear equations
In mathematics, the generalized minimal residual method (GMRES) is an iterative method for the numerical solution of an indefinite nonsymmetric system of linear equations. The method approximates the solution by the vector in a Krylov subspace with minimal residual. The Arnoldi iteration is used to find this vector.
Limited-memory BFGS is an optimization algorithm in the family of quasi-Newton methods that approximates the Broyden–Fletcher–Goldfarb–Shanno algorithm (BFGS) using a limited amount of computer memory. It is a popular algorithm for parameter estimation in machine learning. The algorithm's target problem is to minimize over unconstrained values of the real-vector where is a differentiable scalar function.
IML++, or the Iterative Methods Library, is a C++ library for solving linear systems of equations. It is said to be "templated" in the sense that the same source code works for dense, sparse, and distributed matrices.
In algebra, the greatest common divisor of two polynomials is a polynomial, of the highest possible degree, that is a factor of both the two original polynomials. This concept is analogous to the greatest common divisor of two integers.
Hendrik "Henk" Albertus van der Vorst is a Dutch mathematician and Emeritus Professor of Numerical Analysis at Utrecht University. According to the Institute for Scientific Information (ISI), his paper on the BiCGSTAB method was the most cited paper in the field of mathematics in the 1990s. He is a member of the Royal Netherlands Academy of Arts and Sciences (KNAW) since 2002 and the Netherlands Academy of Technology and Innovation. In 2006 he was awarded a knighthood of the Order of the Netherlands Lion. Henk van der Vorst is a Fellow of Society for Industrial and Applied Mathematics (SIAM).
In numerical linear algebra, the Chebyshev iteration is an iterative method for determining the solutions of a system of linear equations. The method is named after Russian mathematician Pafnuty Chebyshev.
Locally Optimal Block Preconditioned Conjugate Gradient (LOBPCG) is a matrix-free method for finding the largest eigenvalues and the corresponding eigenvectors of a symmetric generalized eigenvalue problem
In numerical linear algebra, the conjugate gradient method is an iterative method for numerically solving the linear system
In numerical mathematics, the gradient discretisation method (GDM) is a framework which contains classical and recent numerical schemes for diffusion problems of various kinds: linear or non-linear, steady-state or time-dependent. The schemes may be conforming or non-conforming, and may rely on very general polygonal or polyhedral meshes.
The Minimal Residual Method or MINRES is a Krylov subspace method for the iterative solution of symmetric linear equation systems. It was proposed by mathematicians Christopher Conway Paige and Michael Alan Saunders in 1975.
In numerical linear algebra, the conjugate gradient squared method (CGS) is an iterative algorithm for solving systems of linear equations of the form , particularly in cases where computing the transpose is impractical. The CGS method was developed as an improvement to the biconjugate gradient method.