*S**OFTWARE 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

where A and B are symmetric and B is positive definite.

- It is a black-box implementation of the inverse free preconditioned Krylov subspace method of

** G. Golub** and

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.