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

A more robust algorithm to give bounds of spectrum based on TR Lanczos. More...

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <float.h>
#include "def.h"
#include "blaslapack.h"
#include "struct.h"
#include "internal_proto.h"

Go to the source code of this file.

Macros

#define COMP_RES   0
 

Functions

int LanTrbounds (int lanm, int maxit, double tol, double *vinit, int bndtype, double *lammin, double *lammax, FILE *fstats)
 Lanczos process for eigenvalue bounds [Thick restart version]. More...
 

Detailed Description

A more robust algorithm to give bounds of spectrum based on TR Lanczos.

Definition in file lanTrbounds.c.

Macro Definition Documentation

#define COMP_RES   0

Definition at line 11 of file lanTrbounds.c.

Function Documentation

int LanTrbounds ( int  lanm,
int  maxit,
double  tol,
double *  vinit,
int  bndtype,
double *  lammin,
double *  lammax,
FILE *  fstats 
)

Lanczos process for eigenvalue bounds [Thick restart version].

Parameters
[in]lanmDimension of Krylov subspace [restart dimension]
[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
[in]vinitinitial vector for Lanczos – [optional]
[in]bndtypeType of bound >1 for kato-temple, otherwise simple
[out]lamminLower bound of the spectrum
[out]lammaxUpper bound of the spectrum
[out]fstatsFile stream which stats are printed to
Returns
Returns 0 on success

Definition at line 38 of file lanTrbounds.c.

References Calloc, CGS_DGKS(), CGS_DGKS2(), DAXPY(), DCOPY(), DDOT(), DGEMV(), DNRM2(), DSCAL(), evsldata, _evsldata::ifGenEv, Malloc, min, _evsldata::n, NGS_MAX, orthTol, rand_double(), and SymEigenSolver().

Referenced by evsl_lanbounds(), and main().

Here is the call graph for this function:

Here is the caller graph for this function: