📄 fsdavidson.h
字号:
#ifndef __FSDAVIDSON_H#define __FSDAVIDSON_H#define MAX(x,y) (((x)>(y))? (x) : (y))#define MIN(x,y) (((x)<(y))? (x) : (y))#define dlamc3(a,b) ((a)+(b))#include "../davidson/gridparam.h"#include "../davidson/defaulttd.h"#include "../davidson/matrixbase.h"//Description of data member and memeber function in fsdavidson.cppclass fsDavidson{ private: ntyp idamax(ntyp n, ftyp dx[], ntyp incx); ntyp ieeeck(ntyp ispec, ftyp zero, ftyp one ); ntyp ilaenv(ntyp ispec, char name[], char opts[], ntyp n1, ntyp n2, ntyp n3, ntyp n4 ); ftyp dasum(ntyp n, ftyp dx[], ntyp incx); ftyp ddot(ntyp n, ftyp dx[], ntyp incx, ftyp dy[], ntyp incy); ftyp dnrm2(ntyp n, ftyp x[], ntyp incx ); ftyp dlamch(char cmach ); ftyp dlansp(char norm, char uplo, ntyp n, ftyp ap[], ftyp work[]); ftyp dlanst(char norm, ntyp n, ftyp d[], ftyp e[]); ftyp dlapy2(ftyp x, ftyp y); ftyp sign(ftyp *a, ftyp *b); bool lsame(char ca, char cb); bool tstsel(ntyp kpass, ntyp nume, ntyp neig, ntyp iselec[], ftyp svec[], ftyp eigval[], ntyp icv[], ftyp crite, ftyp critc, ftyp rowlast[], ntyp ind[], ftyp oldval[], ntyp *nncv, ntyp incv[]); void daxpy(ntyp n, ftyp da, ftyp dx[], ntyp incx, ftyp dy[], ntyp incy); void dgemv(char trans, ntyp m, ntyp n, ftyp alpha, ftyp a[], ntyp lda, ftyp x[], ntyp incx, ftyp beta, ftyp y[], ntyp incy ); void dger(ntyp m, ntyp n, ftyp alpha, ftyp x[], ntyp incx, ftyp y[], ntyp incy, ftyp a[], ntyp lda ); void dspmv(char uplo, ntyp n, ftyp alpha, ftyp ap[], ftyp x[], ntyp incx, ftyp beta, ftyp y[], ntyp incy ); void dspr2(char uplo, ntyp n, ftyp alpha, ftyp x[], ntyp incx, ftyp y[], ntyp incy, ftyp ap[]); void dswap (ntyp n, ftyp dx[], ntyp incx, ftyp dy[], ntyp incy) ; void xerbla(char srname[], ntyp info ); void dinit(ntyp n, ftyp a, ftyp x[], ntyp incx ); void gather(ntyp n, ftyp a[], ftyp b[], ntyp index[]); void scatter(ntyp n, ftyp a[], ntyp index[], ftyp b[]); void multbc(ntyp n, ntyp k, ntyp m, ftyp c[], ftyp temp[], ftyp b[]); void ovflow(ntyp nume, ntyp lim, ftyp s[], ftyp svec[], ftyp eigval[]); void newvec(ntyp n, ntyp nume, ntyp lim, ntyp mblock, ntyp kpass, ftyp critr, ftyp ortho, ntyp *nncv, ntyp incv[], ftyp diag[], ftyp svec[], ftyp eigval[], ftyp ab[], ftyp basis[], ntyp icv[], bool *restart, bool *done); void orthnrm(ntyp n, ntyp lim, ftyp ortho, ntyp kpass, ntyp *nncv, ftyp scra1[], ftyp basis[], bool *restart); void dlae2(ftyp a, ftyp b, ftyp c, ftyp *rt1, ftyp *rt2 ); void dlaebz(ntyp ijob, ntyp nitmax, ntyp n, ntyp mmax, ntyp minp, ntyp nbmin, ftyp abstol, ftyp reltol, ftyp pivmin, ftyp d[], ftyp e[], ftyp e2[], ntyp nval[], ftyp ab[], ftyp c[], ntyp *mout, ntyp nab[], ftyp work[], ntyp iwork[], ntyp *info ); void dlaev2(ftyp a, ftyp b, ftyp c, ftyp *rt1, ftyp *rt2, ftyp *cs1, ftyp *sn1); void dlagtf(ntyp n, ftyp a[], ftyp lambda, ftyp b[], ftyp c[], ftyp tol, ftyp d[], ntyp in[], ntyp *info); void dladtsf(ftyp *absak, ftyp *ak, ftyp *pert, ftyp *temp, ftyp one, ftyp zero, ftyp sfmin, ftyp bignum); void dlarf(char side, ntyp m, ntyp n, ftyp v[], ntyp incv, ftyp tau, ftyp c[], ntyp ldc, ftyp work[]); void dlarfg(ntyp n, ftyp *alpha, ftyp x[], ntyp incx, ftyp *tau ); void dlarnv(ntyp idist, ntyp iseed[], ntyp n, ftyp x[] ); void dlartg(ftyp f, ftyp g, ftyp *cs, ftyp *sn, ftyp *r ); void dlaruv(ntyp iseed[], ntyp n, ftyp x[] ); void dlascl(char type, ntyp kl, ntyp ku, ftyp cfrom, ftyp cto, ntyp m, ntyp n, ftyp a[], ntyp lda, ntyp *info ); void dlaset(char uplo, ntyp m, ntyp n, ftyp alpha, ftyp beta, ftyp a[], ntyp lda ); void dlasr(char side, char pivot, char direct, ntyp m, ntyp n, ftyp c[], ftyp s[], ftyp a[], ntyp lda ); void dlasrt(char id, ntyp n, ftyp d[], ntyp *info ); void dlassq(ntyp n, ftyp x[], ntyp incx, ftyp *scale, ftyp *sumsq); void dopgtr(char uplo, ntyp n, ftyp ap[], ftyp tau[], ftyp q[], ntyp ldq, ftyp work[], ntyp *info ); void dopmtr(char side, char uplo, char trans, ntyp m, ntyp n, ftyp ap[], ftyp tau[], ftyp c[], ntyp ldc, ftyp work[], ntyp *info ); void dorg2l(ntyp m, ntyp n, ntyp k, ftyp a[], ntyp lda, ftyp tau[], ftyp work[], ntyp *info ); void dorg2r(ntyp m, ntyp n, ntyp k, ftyp a[], ntyp lda, ftyp tau[], ftyp work[], ntyp *info ); void dspevx(char jobz, char range, char uplo, ntyp n, ftyp ap[], ftyp vl, ftyp vu, ntyp il, ntyp iu, ftyp abstol, ntyp *m, ftyp w[], ftyp z[], ntyp ldz, ftyp work[], ntyp iwork[], ntyp ifail[], ntyp *info ); void dsptrd(char uplo, ntyp n, ftyp ap[], ftyp d[], ftyp e[], ftyp tau[], ntyp *info ); void dstebz(char range, char order, ntyp n, ftyp vl, ftyp vu, ntyp il, ntyp iu, ftyp abstol, ftyp d[], ftyp e[], ntyp *m, ntyp *nsplit, ftyp w[], ntyp iblock[], ntyp isplit[], ftyp work[], ntyp iwork[], ntyp *info); void dstein(ntyp n, ftyp d[], ftyp e[], ntyp m, ftyp w[], ntyp iblock[], ntyp isplit[], ftyp z[], ntyp ldz, ftyp work[], ntyp iwork[], ntyp ifail[], ntyp *info); void dsteqr(char compz, ntyp n, ftyp d[], ftyp e[], ftyp z[], ntyp ldz, ftyp work[], ntyp *info ); void dsterf(ntyp n, ftyp d[], ftyp e[], ntyp *info ); void dlagts(ntyp job, ntyp n, ftyp a[], ftyp b[], ftyp c[], ftyp d[], ntyp in[], ftyp y[], ftyp *tol, ntyp *info ); void addabs(ntyp n, ntyp lim, bool hiend, ntyp kpass, ntyp nncv, ftyp basis[], ftyp ab[], ftyp s[], const MatrixBase *const); void wyswloop(ntyp silence, ntyp &nloop, ntyp maxiter, bool &userbreak, ftyp oldval[], ftyp eigval[], ntyp nume); void dsteqr_140(ntyp *jtot, ntyp *n, ntyp *iscale, ftyp *ssfmin, ftyp *ssfmax, ftyp *anorm, ntyp *lendsv, ntyp *nmaxit, ntyp *lsv, ftyp d[], ftyp e[], ntyp *info); public: void dvdrvr(ntyp n, bool hiend, ntyp lim, ntyp mblock, ntyp nume, ntyp niv, ntyp neig, ntyp iselec[], ftyp crite, ftyp critc, ftyp critr, ftyp ortho, ntyp maxiter, ftyp eigval[], ftyp basis[], ftyp ab[], ftyp s[], ftyp temps[], ftyp svec[], ftyp scra1[], ntyp iscra2[], ntyp incv[], ntyp icv[], ftyp oldval[], ntyp *nmv, ntyp *ierr, ntyp *loop, const MatrixBase *const, bool silence, bool inf); void setup(ntyp n, ntyp lim, ntyp nume, bool hiend, ftyp minelem[], ftyp basis[], ftyp ab[], ftyp s[], ntyp *niv, const MatrixBase *const); void dscal(ntyp n, ftyp da, ftyp dx[], ntyp incx); void dcopy(ntyp n, ftyp dx[], ntyp incx, ftyp dy[], ntyp incy);};#endif //__FSDAVIDSON_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -