EVSL
1.1.0
EigenValues Slicing Library
|
Rational filtered thick restart Lanczos. More...
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <float.h>
#include <complex.h>
#include "def.h"
#include "blaslapack.h"
#include "struct.h"
#include "internal_proto.h"
Go to the source code of this file.
Macros | |
#define | FILTER_VINIT 1 |
Functions | |
int | RatLanTr (int lanm, int nev, double *intv, int maxit, double tol, double *vinit, ratparams *rat, int *nev2, double **vals, double **W, double **resW, FILE *fstats) |
RatLanTR filtering Lanczos process [Thick restart version]. More... | |
Rational filtered thick restart Lanczos.
Definition in file ratlanTr.c.
#define FILTER_VINIT 1 |
if filter the initial vector
Definition at line 19 of file ratlanTr.c.
int RatLanTr | ( | int | lanm, |
int | nev, | ||
double * | intv, | ||
int | maxit, | ||
double | tol, | ||
double * | vinit, | ||
ratparams * | rat, | ||
int * | nev2, | ||
double ** | vals, | ||
double ** | W, | ||
double ** | resW, | ||
FILE * | fstats | ||
) |
RatLanTR filtering Lanczos process [Thick restart version].
[in] | lanm | Dimension of Krylov subspace [restart dimension] |
[in] | nev | Estimate of number of eigenvalues in the interval – ideally nev == exact number or a little larger. This is not used for testing convergence but it helps make decisions as to when to test convergence RatLanTr attempts to compute all eigenvalues in the interval and stops only when no more eigenvalyes are left. The convergenve test is a very simple one based on the residual norm for the filtered matrix |
[in] | intv | an array of length 4 [intv[0], intv[1]] is the interval of desired eigenvalues [intv[2], intv[3]] is the global interval of all eigenvalues it must contain all eigenvalues of A |
[in] | maxit | max Num of outer Lanczos iterations (restarts) allowed – Each restart may or use the full lanm lanczos steps or fewer. |
[in] | tol | tolerance for convergence. stop when ||res||< tol |
[in] | vinit | initial vector for Lanczos – [optional] |
[in] | rat | a struct containing the parameters of the rational. |
[out] | nev2 | Number of eigenvalues/vectors computed |
[out] | W | A set of eigenvectors [n x nev2 matrix] of unit 2-norm for standard eig prob of unit B-norm for generalized eig prob |
[out] | vals | Associated eigenvalues [nev2 x 1 vector] |
[out] | resW | Associated residual norms [nev x 1 vector] 2-norm for standard eig prob B-norm for generalized eig prob |
[out] | fstats | File stream which stats are printed to |
Definition at line 61 of file ratlanTr.c.
References Calloc, CGS_DGKS(), CGS_DGKS2(), DAXPY(), DCOPY(), DDOT(), DGEMM(), DGEMV(), DNRM2(), _evsldata::ds, DSCAL(), evsl_timer(), evsldata, evslstat, _evsldata::ifGenEv, Malloc, max, min, _evsldata::n, NGS_MAX, orthTol, rand_double(), RatFiltApply(), Realloc, SymEigenSolver(), and _evslstat::t_iter.
Referenced by evsl_ratlantr(), and main().