ML(n)BiCGStab is a Krylov subspace method for the solution of large, sparse and non-symmetric linear systems. In theory, it is a method that lies between the well-known BiCGStab and GMRES/FOM. In fact, when n = 1, ML(1)BiCGStab is BiCGStab and when n = N, ML(N)BiCGStab is GMRES/FOM where N is the size of the linear system. Therefore, ML(n)BiCGStab is a bridge that connects the Lanczos-based BiCGStab and the Arnoldi-based GMRES/FOM. In computation, ML(n)BiCGStab can be much more stable and converge much faster than BiCGStab when a problem with ill-condition is solved. We have tested ML(n)BiCGStab on the standard oil reservoir simulation test data called SPE9 and found that ML(n)BiCGStab reduced the total computational time by more than 60% when compared to BiCGStab. Tests made on the data from Matrix Market also support the superiority of ML(n)BiCGStab over BiCGStab. Because of the O(N^2) storage requirement in the full GMRES, one has to adopt a restart strategy to get the storage under control when GMRES is implemented. In comparison, ML(n)BiCGStab is a method with only O(nN) storage requirement and therefore it does not need a restart strategy. In this paper, we introduce ML(n)BiCGStab (in particular, a new algorithm involving A-transpose), its relations to some existing methods and its implementations.
where A ∈ C N ×N and b ∈ C N . It was introduced by Yeung and Chan [12] in 1999 and its algorithms were recently reformulated by Yeung [11]. ML(n)BiCGStab is a natural generalization of BiCGStab by van der Vorst [8], built on the multiple starting Lanczos process rather than on the single starting Lanczos process. Its derivation relies on the techniques introduced by Sonneveld [6] and van der Vorst [8] in the construction of CGS and BiCGStab. There have been three algorithms associated with the ML(n)BiCGStab method so far, depending on how the residual vector r k is defined and whether or not the Hermitian transpose A H is used. In this paper, we shall simply introduce the algorithms and address some implementation issues. For more detailed, one is referred to [11].
Other extensions of BiCGStab exist. Among them are BiCGStab2 by Gutknecht [9], BiCGStab(l) by Sleijpen and Fokkema [4] and CPBi-CG by Zhang [13].
The outline of the paper is as follows. In §2, we introduce index functions which are helpful in presenting the ML(n)BiCGStab algorithms. In §3, we present the ML(n)BiCG algorithm from [12], from which ML(n)BiCGStab algorithms were derived. In §4, we introduce the ML(n)BiCGStab algorithms and their relationships with some existing methods. In §5, implementation issues are addressed and conclusions are made in §6.
Let be given a positive integer n. For all integers k, we define
where ⌊ • ⌋ rounds its argument to the nearest integer towards minus infinity. We call g n and r n index functions; they are defined on Z, the set of all integers, with ranges Z and {1, 2, • • • , n}, respectively.
Table 2.1 illustrates the behavior of g n and r n with n = 3.
Parallel to the derivation of BiCGStab from BiCG by Fletcher [1], ML(n)BiCGStab was derived from a BiCG-like method named ML(n)BiCG, which was constructed based on the multiple starting Lanczos process with n left starting vectors and a single right starting vector.
Let be given n vectors q 1 , . . . , q n ∈ C N , which we call left starting vectors or shadow vectors. Set (3.1)
The following algorithm for the solution of eqn (1.1) is from [12].
Algorithm 3.1. ML(n)BiCG 1. Choose an initial guess x 0 and n vectors
s g s ; 11. Compute p k+1 according to eqn (3.1) 12.End Even though the algorithm has not been tested, it is believed to be numerically instable because of Line 11 in which the shadow vectors are repeatedly multiplied by A H , a type of operation which is highly sensitive to round-off errors. The algorithm has been introduced only for the purpose of developing ML(n)BiCGStab algorithms.
Relations to some other methods: (1) Relation with FOM by Saad and Schultz [3]. Consider the case where n ≥ N . If we choose q k = r k-1 in Algorithm 3.1 (it is possible since r k-1 is computed before q k is used in Line 11), then Algorithm 3.1 is a FOM algorithm. (2) Relation with GMRES by Saad and Schultz [3]. Consider the case where n ≥ N . If we choose q k = A r k-1 in Algorithm 3.1, then Algorithm 3.1 is a GMRES algorithm. (3) Relation with BiCG. When n = 1, Algorithm 3.1 is a BiCG algorithm.
There are three algorithms for the ML(n)BiCGStab method. All were derived from Algorithm 3.1. The first two algorithms do not involve A H in their implementation and can be found in [11]. The third one, however, needs A H and is new. Therefore, we spend more space here on the the third algorithm.
4.1. First Algorithm. Let Ω k (λ) be the polynomial of degree k defined by
If we define the ML(n)BiCGStab residual r k by
then Algorithm 3.1 will lead to the first ML(n)BiCGStab algorithm (Algorithm 4.1 in [11]).
Computational and storage cost based on its preconditioned version (Algorithm 9.1 in [11]) is presented in Table 4.1.
Relations to some other methods: this first algorithm is a BiCGStab algorithm when n = 1.
Second Algorithm. If we define the ML(n)BiCGStab residual r k by (4.1)
then Algorithm 3.1 will lead to the second ML(n)BiCGStab algorithm (Algorithm 5.1 in [11]).
Computational and storage cost based on its preconditioned version (Algorithm 9.2 in [11]) is presented in Table 4.2.
Relations to some other methods:
(1) Relation with FOM. Consider the case where n ≥ N . If we choose q k = r k-1 , then this algorithm is a FOM algorithm. (2) Relation with GMRES. Consider the case where n ≥ N . If we choose q k = Ar k-1 , then this algorithm is a GMRES algorithm. (3) Relation with BiCGStab. When n = 1, this algorithm is a BiCGStab algorithm.
Relation with IDR(s) by Sonneveld and van Gijzen [7,10]. This algorithm is a IDR(n) algorithm.
End 19. Else 20.
x Preconditioning
A preconditioned version of Algorithm 4.1 can be obtained by applying it to AM -1 y = b, then recovering x through x = M -1 y. The resulting preconditioned algorithm and its Matlab code are attached in §7. Computational and storage cost is presented in Table 4.3.
Relations to some other methods: Algorithm 4.1 is a BiCGStab algorithm when n = 1.
The following test data were downloaded
This content is AI-processed based on open access ArXiv data.