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

Polynomial Filtered Subspace Iteration. More...

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

Go to the source code of this file.

Macros

#define NBUF   2
 

Functions

int ChebSI (int nev, double *intv, int maxit, double tol, double *vinit, polparams *pol, int *nevo, double **lamo, double **Yo, double **reso, FILE *fstats)
 Chebyshev polynomial filtering Subspace Iteration. More...
 

Detailed Description

Polynomial Filtered Subspace Iteration.

Definition in file chebsi.c.

Macro Definition Documentation

#define NBUF   2

Definition at line 10 of file chebsi.c.

Referenced by ChebSI().

Function Documentation

int ChebSI ( int  nev,
double *  intv,
int  maxit,
double  tol,
double *  vinit,
polparams pol,
int *  nevo,
double **  lamo,
double **  Yo,
double **  reso,
FILE *  fstats 
)

Chebyshev polynomial filtering Subspace Iteration.

Parameters
nevEstimate of number of eigenvalues in the interval – ideally nev == exact number or a little larger. ChebSI stops when at least nev eigenvalues are found or when no more candidates are left in interval.
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
maxitMax Num of outer subspace iterations allowed
tolTolerance for convergence. stop when ||res||< tol
vinitNev initial vectors [to be made optional]
polA struct containing the parameters of the polynomial..

Modifies:

Parameters
[out]nevoNumber of eigenvalues/vectors computed
[out]YoA set of eigenvectors [n x nev2 matrix]
[out]lamoAssociated eigenvalues [nev2 x 1 vector]
[out]resoAssociated residual norms [nev x 1 vector]
[out]fstatsFile stream which stats are printed to
Warning
Memory allocation for Yo/lamo/reso within this function

*-----------------— memory for converged Ritz pairs (Y, Lam) */

Definition at line 42 of file chebsi.c.

References _polparams::bar, ChebAv(), DCOPY(), DDOT(), _polparams::deg, DGEMM(), evsl_timer(), evsldata, _polparams::gam, Malloc, _evsldata::n, NBUF, orth(), and SymEigenSolver().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function: