optional vr vl pointers for gdiagonalize
This commit is contained in:
parent
9c63880efb
commit
dbbe16fc30
@ -106,18 +106,18 @@ declare_la(std::complex<double>)
|
|||||||
//general nonsymmetric matrix and generalized diagonalization
|
//general nonsymmetric matrix and generalized diagonalization
|
||||||
//corder =0 ... C rows are eigenvectors, =1 ... C columns are eigenvectors
|
//corder =0 ... C rows are eigenvectors, =1 ... C columns are eigenvectors
|
||||||
extern void gdiagonalize(NRMat<double> &a, NRVec<double> &wr, NRVec<double> &wi,
|
extern void gdiagonalize(NRMat<double> &a, NRVec<double> &wr, NRVec<double> &wi,
|
||||||
NRMat<double> *vl, NRMat<double> *vr, const bool corder=1, int n=0, const int sorttype=0, const int biorthonormalize=0,
|
NRMat<double> *vl=NULL, NRMat<double> *vr=NULL, const bool corder=1, int n=0, const int sorttype=0, const int biorthonormalize=0,
|
||||||
NRMat<double> *b=NULL, NRVec<double> *beta=NULL); //this used real storage of eigenvectors like dgeev
|
NRMat<double> *b=NULL, NRVec<double> *beta=NULL); //this used real storage of eigenvectors like dgeev
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
extern void gdiagonalize(NRMat<T> &a, NRVec< std::complex<double> > &w,
|
extern void gdiagonalize(NRMat<T> &a, NRVec< std::complex<double> > &w,
|
||||||
NRMat< std::complex<double> >*vl, NRMat< std::complex<double> > *vr,
|
NRMat< std::complex<double> >*vl=NULL, NRMat< std::complex<double> > *vr=NULL,
|
||||||
const bool corder=1, int n=0, const int sorttype=0, const int biorthonormalize=0,
|
const bool corder=1, int n=0, const int sorttype=0, const int biorthonormalize=0,
|
||||||
NRMat<T> *b=NULL, NRVec<T> *beta=NULL); //eigenvectors are stored in complex matrices for T both double and complex
|
NRMat<T> *b=NULL, NRVec<T> *beta=NULL); //eigenvectors are stored in complex matrices for T both double and complex
|
||||||
|
|
||||||
//for compatibility in davidson
|
//for compatibility in davidson
|
||||||
extern void gdiagonalize(NRMat<std::complex<double> > &a, NRVec<double> &wr, NRVec<double> &wi,
|
extern void gdiagonalize(NRMat<std::complex<double> > &a, NRVec<double> &wr, NRVec<double> &wi,
|
||||||
NRMat<std::complex<double> > *vl, NRMat<std::complex<double> > *vr, const bool corder=1, int n=0, const int sorttype=0, const int biorthonormalize=0,
|
NRMat<std::complex<double> > *vl=NULL, NRMat<std::complex<double> > *vr=NULL, const bool corder=1, int n=0, const int sorttype=0, const int biorthonormalize=0,
|
||||||
NRMat<std::complex<double> > *b=NULL, NRVec<std::complex<double> > *beta=NULL);
|
NRMat<std::complex<double> > *b=NULL, NRVec<std::complex<double> > *beta=NULL);
|
||||||
|
|
||||||
//complex,real,imaginary parts of various entities
|
//complex,real,imaginary parts of various entities
|
||||||
|
Loading…
Reference in New Issue
Block a user