FILTLAN  1.0a
Classes | Functions
Filtered Lanczos Algorithm for Eigenvalues / Eigenvectors of a Symmetric Matrix

Classes

struct  FilteredLanczosOptions
 An instance of this class, taken by FilteredLanczosEigenSolver(), is a collection of options for the filtered Lanczos procedure to solve symmetric eigenvalue problems. More...
 
struct  FilteredLanczosInfo
 FilteredLanczosEigenSolver() returns an instance of this class which gives the information of the filtered Lanczos procedure. More...
 

Functions

FilteredLanczosInfo FilteredLanczosEigenSolver (Vector &eigVal, Matrix &eigVec, const SparseMatrix &S, Vector &frame, mkIndex polyDegree, mkIndex baseDegree, FilteredLanczosOptions &opts)
 This routine computes the eigenvalues in the requested window and the corresponding eigenvectors. More...
 

Detailed Description

Function Documentation

◆ FilteredLanczosEigenSolver()

FilteredLanczosInfo FilteredLanczosEigenSolver ( Vector &  eigVal,
Matrix &  eigVec,
const SparseMatrix &  S,
Vector &  frame,
mkIndex  polyDegree,
mkIndex  baseDegree,
FilteredLanczosOptions opts 
)

This routine computes the eigenvalues in the requested window and the corresponding eigenvectors.

  • The window can contain the largest or smallest eigenvalues, in which case the requested are the extreme eigenvalues.
  • The window can also be well inside the interval of the spectrum, in which case it is often referred to as an interior eigenvalue problem.
Parameters
eigValis a vector which contains the computed eigenvalues (if opts.wantEigVal==true).
eigVecis a matrix whose columns are computed eigenvectors.
More precisely, eigVec(:,j) is the eigenvector corresponding to the eigenvalue eigVal(j).
Sis the sparse matrix whose eigenvalues / eigenvectors are to be sought.
frameis a vector of 2 or 4 elements:
  • If frame consists of 2 elements, then [frame(1),frame(2)] is the window in which the eigenvalues are sought.
  • If frame consists of 4 elements, then [frame(2),frame(3)] is the window in which the eigenvalues are sought, and [frame(1),frame(4)] is the interval which (tightly) contains all eigenvalues.
In the former case, an interval which contains (tightly) all eigenvalues is not given, and will be determined by a standard Lanczos procedure. See also FilteredLanczosOptions::numIterForEigenRange.
polyDegreeis the degree of s(z), with z*s(z) the polynomial filter.
baseDegreeis the left-and-right degree of the base filter for each interval.
optsis a collection of options for the filtered Lanczos procedure.
Returns
An instance of class FilteredLanczosInfo which gives the information of the filtered Lanczos procedure.