Powerful algorithms have recently been proposed for computing eigenvalues of large matrices by methods related to contour integrals; best known are the works of Sakurai and coauthors and Polizzi and coauthors. Even if the matrices are real symmetric, most such methods rely on complex arithmetic, leading to expensive linear systems to solve. An appealing technique for overcoming this starts from the observation that certain discretized contour integrals are equivalent to rational interpolation problems, for which there is no need to leave the real axis. Investigation shows that using rational interpolation per se suffers from instability; however, related techniques involving real rational filters can be very effective. This article presents a technique of this kind that is related to previous work published in Japanese by Murakami.
Introduction. LetA ∈ C N ×N be a large square matrix, and consider the problem of computing the eigenvalues of A that lie within a given region of the complex plane. Some of the most successful techniques for attacking this problem are based on projecting the matrix A onto an approximately invariant subspace associated with the eigenvalues of interest and computing the eigenvalues of the projection. Of these, perhaps the best known are the Krylov subspace techniques such as the implicitly restarted Arnoldi method [39], which is implemented in the widely used software package ARPACK [20].Recently, a new class of algorithms has been proposed which derive their projections from complex contour integrals. Though early traces of these ideas can be found in the works of Goedecker on linear-scaling methods for electronic structure calculation [11,12], the best-known algorithms of this type are the Sakurai-Sugiura (SS) method [37] and the FEAST algorithm, due to Polizzi [32]. A major computational advantage offered by these algorithms is that they are very easily parallelizable.Some of the most important eigenvalue problems involve matrices A that are real and symmetric. For large such problems, it is natural to want to take advantage of the parallelism offered by contour integral methods; however, by their very nature, these methods require complex arithmetic even though the sought-after eigenvalues are real. Aside from the fact that the need to use complex arithmetic to solve a real problem is conceptually jarring, this means that methods based on contour integrals suffer roughly a factor of two penalty in both time and storage costs, compared with approaches that rely only on real arithmetic.