![]() |
EVSL
1.1.0
EigenValues Slicing Library
|
Function to use Lanczos method for approximating DOS for the generalized eigenvalue problem. More...
#include <float.h>#include <math.h>#include <stdio.h>#include <stdlib.h>#include "blaslapack.h"#include "def.h"#include "evsl.h"#include "internal_proto.h"#include "string.h"#include "struct.h"Go to the source code of this file.
Functions | |
| int | LanDosG (const int nvec, const int msteps, int npts, double *xdos, double *ydos, double *neig, const double *const intv) |
Function to use Lanczos method for approximating DOS for the generalized eigenvalue problem.
Definition in file landosG.c.
| int LanDosG | ( | const int | nvec, |
| const int | msteps, | ||
| int | npts, | ||
| double * | xdos, | ||
| double * | ydos, | ||
| double * | neig, | ||
| const double *const | intv | ||
| ) |
Computes the density of states (DOS, or spectral density) using Lanczos algorithm for the generalized eigenvalue problem.
| [in] | nvec | number of sample vectors used |
| [in] | msteps | number of Lanczos steps |
| [in] | npts | number of sample points used for the DOS curve |
| [in] | *intv | Stores the the intervals of interest intv[0:1] = [a b] = interval where DOS is to be computed intv[2:3] = [lambda_min, lambda_max] \ |
| [out] | *xdos | Length-npts long vector, x-coordinate points for plotting the DOS. Must be preallocated before calling LanDos |
| [out] | *ydos | Length-npts long vector, y-coordinate points for plotting the DOS. Must be preallocated before calling LanDos |
| [out] | neig | estimated number of eigenvalues |
Definition at line 43 of file landosG.c.
References Calloc, CGS_DGKS(), CGS_DGKS2(), DAXPY(), DCOPY(), DDOT(), DNRM2(), DSCAL(), evsldata, _evsldata::ifGenEv, linspace(), Malloc, max, min, _evsldata::n, NGS_MAX, orthTol, PI, rand_double(), randn_double(), simpson(), and SymmTridEig().
Referenced by main().


1.8.6