|
FILTLAN
1.0a
|
An instance of this class, taken by FilteredLanczosEigenSolver(), is a collection of options for the filtered Lanczos procedure to solve symmetric eigenvalue problems. More...
#include <filtlan.h>
Public Member Functions | |
| FilteredLanczosOptions () | |
| A constructor to set default options. | |
Public Member Functions inherited from LanczosOptions | |
| LanczosOptions () | |
| A default constructor to set default options. | |
Public Attributes | |
| bool | wantEigVal |
| This parameter tells whether eigenvalues are wanted or not (default true). More... | |
| mkIndex | neigWanted |
| Number of eigenvalues/eigenvectors desired. More... | |
| mkIndex | numIterForEigenRange |
| Number of Lanczos iterations to determine an interval which (tightly) contains all eigenvalues (default 30). More... | |
| IntervalOptions | intervalOpts |
| A collection of options to determine the intervals. | |
Public Attributes inherited from LanczosOptions | |
| bool | wantEigVec |
| This parameter tells whether eigenvectors are wanted or not (default true). More... | |
| mkIndex | minIter |
| Minimum number of Lanczos iterations. More... | |
| mkIndex | maxIter |
| Maximum number of Lanczos iterations. More... | |
| mkIndex | extraIter |
| Extra number of Lanczos iterations (default 100). More... | |
| mkIndex | stride |
| The convergence is checked every ‘stride’ iterations (default 10). | |
| mkIndex | defaultMinIterFactor |
| The default LanczosOptions::minIter, if not set, is LanczosOptions::defaultMinIterFactor times the number of (largest or smallest) eigenvalues requested. More... | |
| mkIndex | defaultMaxIterFactor |
| The default LanczosOptions::maxIter, if not set, is 500 plus LanczosOptions::defaultMaxIterFactor times the number of (largest or smallest) eigenvalues requested. More... | |
| Real | tol |
Tolerance of eigenvalues, defined in the relative and average sense, for convergence check (default , with the machine epsilon). | |
| Vector | v0 |
| The initial Lanczos vector. More... | |
| int | reorth |
| A flag to tell which reorthogonalization scheme is used (default 1). The value can be 0,1,2. More... | |
| Real | doubleReorthGamma |
| Reorthogonalization is doubled in the iterations with nrm < doubleReorthGamma*nrm_old, where nrm_old and nrm are the norms of the latest Lanczos vector before and after reorthogonalization. More... | |
| Real | localReorthGamma |
| Local reorthogonalization is performed if beta[j-1]<localReorthGamma*beta[j] or localReorthGamma>=1.0, where beta[j] is the latest beta and beta[j-1] is the previous beta at jth Lanczos iteration. More... | |
| int | partialReorthStrategy |
| A flag to tell which partial reorthogonalization strategy is used. The value can be 0,1,2,3. More... | |
| bool | checkReorth |
| Set checkReorth=true for checking whether semi-orthogonality is preserved with partial reorthogonalization. More... | |
| Real | memoryExpansionFactor |
| This parameter determines how much the memory should be expanded when the allocated memory is not sufficient to store the Lanczos vectors and the elements alpha's and beta's which form the symmetric tridiagonal matrix. | |
| Real | eigLowCut |
| Eigenvalues larger than eigLowCut in the lower end will not be computed. More... | |
| Real | eigHighCut |
| Eigenvalues smaller than eigHighCut in the upper end will not be computed. More... | |
| int | eigSort |
| A flag which indicates how to sort eigenvalues (default -1). The value should be no less than -2. More... | |
| int | disp |
| Diagnostic information display level (default 1). The value can be 0,1,2. More... | |
| std::ostream * | out |
| A pointer to an output stream for diagnostic information. By default, it points to std::cout. | |
| std::ostream * | err |
| A pointer to an output stream for error messages. By default, it points to std::cerr. | |
An instance of this class, taken by FilteredLanczosEigenSolver(), is a collection of options for the filtered Lanczos procedure to solve symmetric eigenvalue problems.
| mkIndex FilteredLanczosOptions::neigWanted |
Number of eigenvalues/eigenvectors desired.
If neigWanted==0 is given (the default), then it means that all eigenvalues/eigenvectors in the requested interval are to be sought. Otherwise, let nev be the number of eigenvalues in the requested interval. Then
| mkIndex FilteredLanczosOptions::numIterForEigenRange |
Number of Lanczos iterations to determine an interval which (tightly) contains all eigenvalues (default 30).
The filtered Lanczos procedure requires an interval which (tightly) contains all eigenvalues. If it is not provided, then we use a standard Lanczos procedure with numIterForEigenRange iterations to compute one. The higher the numIterForEigenRange, the tighter the interval.
| bool FilteredLanczosOptions::wantEigVal |
This parameter tells whether eigenvalues are wanted or not (default true).
Note that the filtered Lanczos procedure computes the eigenvectors first. The computation of eigenvalues is unnecessary if only the invariant subspace is needed.
1.8.14