SOFTWARE PAGE of QIANG YE
EIGIFP.m: - A matlab program that computes a few (algebraically) smallest or largest eigenvalues of a large symmetric matrix A or the generalized eigenvalue problem for a pencil (A, B):
A
x = lambda x or A
x = lambda B x
where A and B are symmetric and B is positive definite.
G. Golub and Q. Ye
: An Inverse
Free Preconditioned Krylov Subspace Method for
Symmetric Generalized
Eigenvalue Problems,
Features:
1. A two level iteration with a projection on Krylov subspaces generated by a shifted matrix A-lambda_k B in the inner iteration; Either the Lanczos algorithm or the Arnoldi algorithm is employed for the projection; Adaptive choice of inner iterations;
2. A preconditioning technique based on a congruence transformation to accelerate convergence;
3. A built-in preconditioner using threshold ILU factorization; Particularly suitable for problems where any of the following applies:
a) factorization of B (i.e. inverting B) is difficult;
b) factorization of a shifted matrix A-lambda_k B (i.e. inverting it) is difficult;
c) no a priori information is available on the location
of the spectrum sought.
Usage:
[lambda, x] = eigifp(A):
computes the (algebraically) smallest eigenvalue/eigenvector
of A;
[Lambda, X] = eigifp(A, k): computes the k (algebraicaly)
smallest eigenvalue/eigenvector of A;
[lambda, x] = eigifp(A,
B): computes the (algebraically)
smallest eigenvalue/eigenvector of (A, B);
[Lambda, X] = eigifp(A, B, k): computes the
(algebraically) smallest eigenvalue/eigenvector
of (A, B);
To compute the largest eigenvalues, set opt.maxeig =1. One may also simply compute the smallest eigenvalue of –A (or (-A, B)) and then negate the eigenvalue. Example:
[Lambda, X] = eigifp(-A,B,k); Lambda=-Lambda; => k largest eigenvalues/eigenvectors of (A,B);
To use any a priori information or
to control computational cost and optimize performance,
eigifp(A,
opt), eigifp(A, k, opt), eigifp(A,
B, opt) and eigifp(A, B, k, opt) take optional
inputs
defined by opt. Use
help eigifp
to find out the details. The following is a
documentation of the program.
Download:
Please click HERE to download EIGIFP 2.2.
This
work is supported in part by NSF grants CCR - 0098133
and DMS-0411502.
Please note that this program is provided for research and educational
use. Neither redistribution nor commercial use is permitted without
consent of the author.
BLEIGIFP: - is based on a block generalization of the inverse free preconditioned Krylov subspace method that can compute multiple or severely clustered eigenvalues. The present version implements either a preconditioned algorithm or non-preconditioned algorithm, but it has a scheme to choose block size adaptively. See the BLEIGIFP page for details and download information.
Other programs for preconditioned eigenvalue iterations can be found in Andrew Knyazev's eigensolvers page .
Return
to Ye's
Homepage.