EVSL  1.1.0
EigenValues Slicing Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Functions
ratlanTr.c File Reference

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...
 

Detailed Description

Rational filtered thick restart Lanczos.

Definition in file ratlanTr.c.

Macro Definition Documentation

#define FILTER_VINIT   1

if filter the initial vector

Definition at line 19 of file ratlanTr.c.

Function Documentation

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].

Parameters
[in]lanmDimension of Krylov subspace [restart dimension]
[in]nevEstimate 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]intvan 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]maxitmax Num of outer Lanczos iterations (restarts) allowed – Each restart may or use the full lanm lanczos steps or fewer.
[in]toltolerance for convergence. stop when ||res||< tol
[in]vinitinitial vector for Lanczos – [optional]
[in]rata struct containing the parameters of the rational.
[out]nev2Number of eigenvalues/vectors computed
[out]WA set of eigenvectors [n x nev2 matrix] of unit 2-norm for standard eig prob of unit B-norm for generalized eig prob
[out]valsAssociated eigenvalues [nev2 x 1 vector]
[out]resWAssociated residual norms [nev x 1 vector] 2-norm for standard eig prob B-norm for generalized eig prob
[out]fstatsFile stream which stats are printed to
Returns
Returns 0 on success (or if check_intv() is non-positive), and 2 if there are no eigenvalues found.
Warning
memory allocation for W/vals/resW within this function

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().

Here is the call graph for this function:

Here is the caller graph for this function: