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