Abstract
The block conjugate orthogonal conjugate gradient method (BCOCG) is recognized as a common method to solve complex symmetric linear systems with multiple right-hand sides. However, breakdown always occurs if the right-hand sides are rank deficient. In this paper, based on the orthogonality conditions, we present a breakdown-free BCOCG algorithm with new parameter matrices to handle rank deficiency. To improve the spectral properties of coefficient matrix A, a precondition version of the breakdown-free BCOCG is proposed in detail. We also give the relative algorithms for the block conjugate A-orthogonal conjugate residual method. Numerical results illustrate that when breakdown occurs, the breakdown-free algorithms yield faster convergence than the non-breakdown-free algorithms.
Keywords:
COCG; COCR; breakdown-free; complex symmetric matrix; rank deficiency; multiple right-hand sides MSC:
65F10; 65F50
1. Introduction
Consider the following complex symmetric linear system with multiple right-hand sides:
with non-Hermitian but symmetric (i.e., ), , and . Such systems arise from many practical and important applications, for example, electromagnetic scattering, quantum chemistry, the complex Helmholtz equation, and so on [,].
Due to simple calculations and less information required, block Krylov subspace methods are always designed to solve system (1) efficiently [,]. Recently, Tadano et al. presented the block conjugate orthogonal conjugate gradient (BCOCG) method [], which can exploit the symmetry of A naturally. The BCOCG is also deemed a natural generalization of the conjugate orthogonal conjugate gradient (COCG) method [,,] for solving systems (1). Besides COCG-type methods, the COCR method described in [,,] can also exploit the symmetry of A when in (1). In [], Gu et al. introduced a block version of the COCR method (BCOCR) by employing the residual orthonormalization technique.
However, rank deficiency is a common problem that can lead block Krylov subspace methods to breakdown. The main reason is that the block search direction vectors may be linearly dependent on the existing basis by the increasing of the iteration number [,]. Consequently, some useless information will affect the accuracy of the solution and the numerical stability. BCOCG and BCOCR may also encounter such a problem, especially when p of (1) is larger, and we will show this phenomenon in the example section. Hence, it is valuable to solve the rank deficiency problem, and finally to enhance the numerical stability of BCOCG and BCOCR. Motivated by [], in this paper, we propose a breakdown-free block COCG algorithm (BFBCOCG) and a breakdown-free block COCR algorithm (BFBCOCR) that can efficiently solve the rank deficiency problem of BCOCG and BCOCR, respectively.
The convergence rate of the Krylov subspace method depends on the spectral properties of the coefficient matrix, for example, the eigenvalue or singular value distribution, field of values, condition of the eigensystem, and so on. Fortunately, preconditioning can improve the spectral properties []. In this paper, we present the preconditioned version of BFBCOCG and BFBCOCR in detail.
The rest of this paper is organized as follows. In Section 2, based on the orthogonality conditions, we propose the BFBCOCG and BFBCOCR algorithms and their preconditioned variants with their new parameter matrices. Some numerical examples are listed in Section 3 to show the efficiency of our new algorithms. Finally, some conclusions are given in Section 4.
In this paper, denotes the -dimension Krylov subspace , denotes the conjugate of A.
2. The Breakdown-Free Variants of BCOCG and BCOCR
In this section, we present our main algorithms, i.e., the breakdown-free block COCG algorithm (BFBCOCG) and the breakdown-free block COCR algorithm (BFBCOCR) in detail. We first introduce the block COCG (BCOCG) and block COCR (BCOCR) methods briefly and then give the derivation of BFBCOCG and BFBCOCR with their orthogonality properties, respectively. In the end, the preconditioned variants of BFBCOCG and BFBCOCR are also proposed, denoted by BFPBCOCG and BFPBCOCR, respectively. We use an underscore “_” to distinguish the breakdown-free and the non-breakdown-free algorithms.
2.1. BCOCG and BCOCR
Let be an initial approximation, and let be the th approximate solution of system (1). Hence, the recurrence relation of BCOCG and BCOCR is as follows: []
The difference between BCOCG and BCOCR is the different calculation formulas of matrices and in (2), which are derived by applying the following orthogonality conditions:
Different choices of lead to different algorithms:
- results in BCOCG.
- results in BCOCR.
2.2. BFBCOCG and BFBCOCR
If the block size p is large, then the vectors of the block search direction will inevitably be linearly dependent on the increasing of the iteration number for BCOCG, hence rank deficiency occurs. In the following, in order to overcome this problem, we consider applying the breakdown-free strategy to BCOCG and propose the breakdown-free block COCG algorithm (BFBCOCG). The rationale of BFBCOCG is extracting an orthogonal basis from the current searching space by using the operation . Thus, compared with (2), the new recurrence relation becomes
Therefore, again using the orthogonality condition (3), we can get the Lemma 1. Here, we denote .
Lemma 1.
For all , , , and .
Proof.
Similarly, the following Theorem 1 is obtained to update the parameters and .
Theorem 1.
Proof.
The following Algorithm 1 is the breakdown-free block COCG.
| Algorithm 1 Breakdown-free block COCG (BFBCOCG) |
|
Similar to BFBCOCG, we can also easily get BFBCOCR by using in the orthogonality condition (3). The following Algorithm 2 is the breakdown-free block COCR.
| Algorithm 2 Breakdown-free block COCR (BFBCOCR) |
|
2.3. BFPBCOCG and BFPBCOCR
As we all know, if the coefficient matrix has poor spectral properties, then the Krylov subspace methods may not robust, while a preconditioning strategy can make it better []. The trick is preconditioning (1) with a symmetric positive matrix M, which approximates to the inverse of matrix A; we get the following equivalent system:
Let be the Cholesky decomposition of M. Then system (9) is equivalent to
We add a tilde “˜” on the variables derived from the new system. Then applying the BFBCOCG method and its recurrence relations (4) to (10), we have the orthogonality conditions
It is easy to see , . The approximate solution is from . Set , then . The new recurrence relation becomes
The orthogonality condition (11) become
Under the recurrence relation (12) and the orthogonality condition (13), we can get the following Lemma 2 and Theorem 2 to update the matrices and . Here, we omit the proof because it is like the proof of Lemma 1 and Theorem 1. We denote .
Lemma 2.
For all , , , and .
Remark 1.
Under the preconditioned strategy, the relations of the block residuals are changed from orthogonal for BFBCOCG to M-orthogonal for BFPBCOCG. Here, two vectors x and y are M-orthogonal, meaning , i.e., .
Theorem 2.
The following Algorithm 3 is the breakdown-free preconditioned block COCG algorithm.
| Algorithm 3 Breakdown-free preconditioned block COCG (BFPBCOCG) |
|
Change the orthogonality conditions (11) to the following conditions:
The breakdown-free preconditioned block COCR (BFPBCOCR) can be deduced with the similar derivation of BFPBCOCG. Algorithm 4 shows the code of BFPBCOCR.
| Algorithm 4 Breakdown-free preconditioned block COCR (BFPBCOCR) |
|
At the end of this section, we will give the complexity for six algorithms. They are the block COCG algorithm, block COCR algorithm, breakdown-free block COCG algorithm, breakdown-free block COCR algorithm, breakdown-free preconditioned block COCG algorithm, and breakdown-free preconditioned block COCR algorithm, which are denoted by BCOCG, BCOCR, BFBCOCG, BFBCOCR, BFPBCOCG, BFPBCOCR, respectively. The pseudocodes of BCOCG and BCOCR are from []. Table 1 shows the main costs per cycle of the six algorithms. Here, we denote as “block vector” the matrix with size , “bdp” the dot product number of two block vectors, “bmv” the product number of a matrix with and a block vector, “bsaxpy” the number of two block vectors summed with one of the block vectors being from multiplying a block vector to a matrix, “LE” the number of solving linear equations with a coefficient matrix, and “bSC” the storage capacity of block vectors.
Table 1.
Main costs per cycle for six algorithms.
From Table 1, we can see the last four algorithms need one more dot product of two block vectors than the original two algorithms, i.e., BCOCG and BCOCR. For the product number of a matrix with a block vector, BFBCOCR and BFPBCOCR are both twice BFBCOCG and BFPBCOCG, respectively. This may result in more time to spend in BFBCOCR and BFPBCOCR, especially for a problem with a dense matrix. We reflect on the phenomenon in Example 1.
3. Numerical Examples
In this section, examples are given to demonstrate the effectiveness of our new algorithms. All examples are operated through MATLAB 8.4 (R2014b) on a laptop with an Intel Core i5-6200U CPU 2.3 GHz memory 8GB under the Win10 operating system.
We evaluate the algorithms according to the iteration number (), CPU time (), and of the Frobenius norm for the true relative residual (). All algorithms are started with and stopped with . Symbol † means no convergence within 1000 iterations. The bold values in the following tables represent the shortest CPU time.
Example 1.
In this example, six algorithms without preconditioning are compared. They are BCOCG, BCOCR, BFBCOCG, BFBCOCR, the block COCG method with residual orthonormalization (BCOCG_rq) [], and the block COCR method with residual orthonormalization (BCOCR_rq) []. Two types of matrices are tested. The first type contains three matrices, , , and , which are all dense and from monostatic radar cross-section calculations, and obtained from the GitHub repository (https://github.com/Hsien-Ming-Ku/Test_matrices/tree/master/Example2). The dimensions n of these matrices are 1800, 2016, 2430, respectively. The second type contains , , and , which are all from the discretization of the Helmholtz equation []. Their dimensions n are 1681, 6561, 25921, respectively. The right-hand sides are chosen as , so that the block size , and B is rank deficiency. Here, . Table 2 and Table 3 give the results.
Table 2.
The numerical results for the first type from Example 1.
Table 3.
The numerical results for the second type from Example 1.
From Table 2 and Table 3, we can see that for these rank-deficiency problems, the breakdown-free algorithms perform better than the non-breakdown-free algorithms in CPU time and iteration number. For the first type of problem, although the iterations of BFBCOCR are fewer than BFBCOCG, the CPU time is nearly double because the matrices are all dense and the product number of matrix and block vectors for BFBCOCR is one more than BFBCOCG per iteration. For the first two matrices of the second type of problem, the difference between BFBCOCG and BFBCOCR is not obvious, the main reason being that the matrices are sparse. However, for the third matrix , only BFBCOCR can solve the problem. This indicates that for the matrices from the discretization of the Helmholtz equation, BFBCOCR performs the most robust compared to the other five algorithms.
Example 2.
To make it fair, all algorithms compared in this example are preconditioned; they are the preconditioned version sof the same six algorithms as in Example 1 and are denoted by PBCOCG, PBCOCR, BFPBCOCG, BFPBCOCR, PBCOCG_rq, and PBCOCR_rq, respectively. The preconditioning strategy we used is IC(3) in []. IC(3) produces for a complex symmetric A, and if L is nonsingular, then we can use as a preconditioner. We test three matrices. The first matrix is , which is from the NEP collection [] for electrical engineering and has dimension . The second and third matrices are and , respectively. The right-hand sides are chosen as so that the block size , and B is rank deficiency. Numerical results are shown in Table 4 and Figure 1.
Table 4.
The numerical results for Example 2.
Figure 1.
Relative residual F-norm for matrices and in Example 2.
From the results, we can see that the breakdown-free algorithms perform better than the non-breakdown-free algorithms. Especially in Figure 1, the convergence curve of the four non-breakdown-free algorithms has not dropped, while the breakdown-free ones quickly drop to the accuracy. For matrix , from Table 4 and Figure 1 we can see that the convergence curves of BFPBCOCG and BFPBCOCR are both downward-trending, while BFPBCOCG performs smoother. For matrix , the difference between BFPBCOCG and BFPBCOCR is not big. For matrix , BFPBCOCG does not converge, but BFPBCOCR converges quickly. This illustrates that for the matrices from the discretization of the Helmholtz equation, BFPBCOCR has an advantage over the other five preconditioned algorithms in terms of robustness.
4. Conclusions
In this paper, we presented a breakdown-free block conjugate orthogonal conjugate gradient algorithm for complex symmetric linear systems with multiple right-hand sides. Based on the orthogonality conditions, we gave its two new parameter matrices. The preconditioned version is also proposed in detail. At the same time, we also present the breakdown-free version for the block conjugate A-orthogonal conjugate residual method with its preconditioned version. From the numerical examples, we realized that when the right-hand sides are rank deficiency, our four new algorithms perform better than other algorithms. Moreover, for Helmholtz equation problems, BFBCOCR and BFPBCOCR show more stable behavior than BFBCOCG and BFPCOCG; while for dense matrices problems, BFBCOCG and BFPBCOCG converge faster than BFBCOCR and BFPBCOCR. However, there is still a lack of theoretical analysis for the advantages of BFBCOCG and BFBCOCR, and even of BFPBCOCG and BFPBCOCR. All of these require further investigations.
Author Contributions
X.-M.G. guided the process of the whole paper and reviewed the paper; S.-L.Z. provided some innovative advice and reviewed the paper; H.-X.Z. deduced the theory, implemented the algorithms with the numerical examples, and wrote the paper.
Funding
This work was financed by the National Nature Science Foundation of China (11701225 and 11801463), the Fundamental Research Funds for the Central Universities (JBK1902028), and the Natural Science Foundation of Jiangsu Province (BK20170173).
Conflicts of Interest
The authors declare no conflict of interest.
References
- Gu, X.-M.; Carpentieri, B.; Huang, T.-Z.; Meng, J. Block variants of the COCG and COCR methods for solving complex symmetric linear systems with multiple right-hand sides. In Numerical Mathematics and Advanced Applications ENUMATH 2015; Karasözen, B., Manguoǧlu, M., Tezer-Sezgin, M., Göktepe, S., Uǧur, Ö., Eds.; Lecture Notes in Computational Science and Engineering 112; Springer International Publishing: Cham, Switzerland, 2016; pp. 305–313. [Google Scholar]
- Sogabe, T.; Zhang, S.-L. A COCR method for solving complex symmetric linear systems. J. Comput. Appl. Math. 2007, 199, 297–303. [Google Scholar] [CrossRef][Green Version]
- Gutknecht, M.H. Block Krylov space methods for linear systems with multiple right-hand sides: An introduction. In Modern Mathematical Models, Methods and Algorithms for Real World Systems; Siddiqi, A.H., Duff, I.S., Christensen, O., Eds.; Anamaya Publishers: New Delhi, India, 2006; pp. 420–447. [Google Scholar]
- Zhang, J.; Zhao, J. A novel class of block methods based on the block AAT-Lanczos biorthogonalization process for matrix equations. Int. J. Comput. Math. 2013, 90, 341–359. [Google Scholar] [CrossRef]
- Tadano, H.; Sakurai, T. A block Krylov subspace method for the contour integral method and its application to molecular orbital computations. IPSJ Trans. Adv. Comput. Syst. 2009, 2, 10–18. (In Japanese) [Google Scholar]
- Van der Vorst, H.A.; Melissen, J.B.M. A Petrov-Galerkin type method for solving Ax = b, where A is symmetric complex. IEEE Trans. Mag. 1990, 26, 706–708. [Google Scholar] [CrossRef]
- Gu, X.-M.; Huang, T.-Z.; Li, L.; Li, H.-B.; Sogabe, T.; Clemens, M. Quasi-minimal residual variants of the COCG and COCR methods for complex symmetric linear systems in electromagnetic simulations. IEEE Trans. Microw. Theory Tech. 2014, 62, 2859–2867. [Google Scholar] [CrossRef]
- Gu, X.-M.; Clemens, M.; Huang, T.-Z.; Li, L. The SCBiCG class of algorithms for complex symmetric linear systems with applications in several electromagnetic model problems. Comput. Phys. Commun. 2015, 191, 52–64. [Google Scholar] [CrossRef]
- Broyden, C.G. A breakdown of the block CG method. Optim. Methods Softw. 1996, 7, 41–55. [Google Scholar] [CrossRef]
- Ji, H.; Li, Y. A breakdown-free block conjugate gradient method. BIT Numer. Math. 2017, 57, 379–403. [Google Scholar] [CrossRef]
- Van der Vorst, H.A. Iterative Krylov Methods for Large Linear Systems; Cambridge University Press: Cambridge, UK, 2003; pp. 173–178. [Google Scholar]
- Bayliss, A.; Goldstein, C.I.; Turkel, E. An iterative method for the Helmholtz equation. J. Comput. Phys. 1983, 49, 443–457. [Google Scholar] [CrossRef]
- Meijerink, J.A.; Van der Vorst, H.A. An iterative solution method for linear systems of which the coefficient matrix is a symmetric M-matrix. Math. Comp. 1977, 31, 148–162. [Google Scholar]
- Bai, Z.; Day, D.; Demmel, J.; Dongarra, J. A Test Matrix Collection for Non-Hermitian Eigenvalue Problems; Technical Report CS-97-355; University of Tennessee: Knoxville, TN, USA, 1997. [Google Scholar]
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).