Documentation |
Solve generalized sparse eigenvalue problem
[xv,lmb,iresult] = sptarn(A,B,lb,ub) [xv,lmb,iresult] = sptarn(A,B,lb,ub,spd) [xv,lmb,iresult] = sptarn(A,B,lb,ub,spd,tolconv) [xv,lmb,iresult] = sptarn(A,B,lb,ub,spd,tolconv,jmax) [xv,lmb,iresult] = sptarn(A,B,lb,ub,spd,tolconv,jmax,maxmul)
[xv,lmb,iresult] = sptarn(A,B,lb,ub,spd,tolconv,jmax,maxmul) finds eigenvalues of the pencil (A – λB)x = 0 in interval [lb,ub]. (A matrix of linear polynomials A_{ij} – λB_{ij}, A – λB, is called a pencil.)
A and B are sparse matrices. lb and ub are lower and upper bounds for eigenvalues to be sought. We may have lb = -inf if all eigenvalues to the left of ub are sought, and rb = inf if all eigenvalues to the right of lb are sought. One of lb and ub must be finite. A narrower interval makes the algorithm faster. In the complex case, the real parts of lmb are compared to lb and ub.
xv are eigenvectors, ordered so that norm(a*xv-b*xv*diag(lmb)) is small. lmb is the sorted eigenvalues. If iresult >= 0 the algorithm succeeded, and all eigenvalues in the intervals have been found. If iresult<0 the algorithm has not yet been successful, there may be more eigenvalues—try with a smaller interval.
spd is 1 if the pencil is known to be symmetric positive definite (default 0).
tolconv is the expected relative accuracy. Default is 100*eps, where eps is the machine precision.
jmax is the maximum number of basis vectors. The algorithm needs jmax*n working space so a small value may be justified on a small computer, otherwise let it be the default value jmax = 100. Normally the algorithm stops earlier when enough eigenvalues have converged.
maxmul is the number of Arnoldi runs tried. Must at least be as large as maximum multiplicity of any eigenvalue. If a small value of jmax is given, many Arnoldi runs are necessary. The default value is maxmul = n, which is needed when all the eigenvalues of the unit matrix are sought.
[1] Golub, Gene H., and Charles F. Van Loan, Matrix Computations, 2nd edition, Johns Hopkins University Press, Baltimore, MD, 1989.
[2] Saad, Yousef, "Variations on Arnoldi's Method for Computing Eigenelements of Large Unsymmetric Matrices," Linear Algebra and its Applications, Vol. 34, 1980, pp. 269–295.