EVSL
1.1.0
EigenValues Slicing Library
|
Function to use Lanczos method for approximating DOS for the standard eigenvalue problem. More...
#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 | LanDos (const int nvec, int msteps, int npts, double *xdos, double *ydos, double *neig, const double *const intv) |
Function to use Lanczos method for approximating DOS for the standard eigenvalue problem.
Definition in file landos.c.
int LanDos | ( | const int | nvec, |
int | msteps, | ||
int | npts, | ||
double * | xdos, | ||
double * | ydos, | ||
double * | neig, | ||
const double *const | intv | ||
) |
Computes the density of states (DOS, or spectral density)
[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 two 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 40 of file landos.c.
References Calloc, DAXPY(), DCOPY(), DDOT(), DSCAL(), evsldata, _evsldata::ifGenEv, linspace(), Malloc, max, min, _evsldata::n, orthTol, PI, randn_double(), simpson(), and SymmTridEig().
Referenced by main().