Bridge++
Ver. 1.2.x
|
Eigenvalue solver with Implicitly Restarted Lanczos algorithm. More...
#include <eigensolver_IRLanczos.h>
Public Member Functions | |
Eigensolver_IRLanczos (Fopr *fopr, SortField *sort) | |
void | set_parameters (const Parameters ¶ms) |
void | set_parameters (int Nk, int Np, int Niter_eigen, double Enorm_eigen, double Vthreshold) |
void | solve (std::valarray< double > &TDa, std::valarray< Field > &vk, int &Nsbt, int &Nconv, const Field &b) |
![]() | |
Eigensolver () | |
virtual | ~Eigensolver () |
void | set_parameter_verboselevel (Bridge::VerboseLevel vl) |
Static Public Attributes | |
static const std::string | class_name = "Eigensolver_IRLanczos" |
Private Member Functions | |
void | step (int Nm, int k, std::valarray< double > &TDa, std::valarray< double > &TDb, std::valarray< Field > &vk, Field &f) |
void | qrtrf (std::valarray< double > &TDa, std::valarray< double > &TDb, int Nk, int Nm, std::valarray< double > &Qt, double Dsh, int kmin, int kmax) |
void | tqri (std::valarray< double > &TDa, std::valarray< double > &TDb, int Nk, int Nm, std::valarray< double > &Qt) |
void | setUnit_Qt (int Nm, std::valarray< double > &Qt) |
void | schmidt_orthogonalization (Field &w, std::valarray< Field > &vk, int k) |
Private Attributes | |
int | m_Nk |
int | m_Np |
int | m_Niter_eigen |
double | m_Enorm_eigen |
double | m_Vthreshold |
Fopr * | m_fopr |
SortField * | m_sort |
Additional Inherited Members | |
![]() | |
Bridge::VerboseLevel | m_vl |
Eigenvalue solver with Implicitly Restarted Lanczos algorithm.
This class determines eigenvalues and eigenvectors for a given fermion operator. Low- or high-lying eigenmodes are determined by chaning SortField class object. 28 Dec 2011 H.Matsufuru YAML is implemented. [14 Nov 2012 Y.Namekawa]
Definition at line 45 of file eigensolver_IRLanczos.h.
Definition at line 63 of file eigensolver_IRLanczos.h.
|
private |
Definition at line 446 of file eigensolver_IRLanczos.cpp.
|
private |
Definition at line 360 of file eigensolver_IRLanczos.cpp.
|
virtual |
Implements Eigensolver.
Definition at line 51 of file eigensolver_IRLanczos.cpp.
void Eigensolver_IRLanczos::set_parameters | ( | int | Nk, |
int | Np, | ||
int | Niter_eigen, | ||
double | Enorm_eigen, | ||
double | Vthreshold | ||
) |
Definition at line 82 of file eigensolver_IRLanczos.cpp.
|
private |
Definition at line 374 of file eigensolver_IRLanczos.cpp.
|
virtual |
Implements Eigensolver.
Definition at line 117 of file eigensolver_IRLanczos.cpp.
|
private |
Definition at line 319 of file eigensolver_IRLanczos.cpp.
|
private |
Definition at line 387 of file eigensolver_IRLanczos.cpp.
|
static |
Definition at line 48 of file eigensolver_IRLanczos.h.
|
private |
Definition at line 55 of file eigensolver_IRLanczos.h.
|
private |
Definition at line 58 of file eigensolver_IRLanczos.h.
|
private |
Definition at line 54 of file eigensolver_IRLanczos.h.
|
private |
Definition at line 52 of file eigensolver_IRLanczos.h.
|
private |
Definition at line 53 of file eigensolver_IRLanczos.h.
|
private |
Definition at line 59 of file eigensolver_IRLanczos.h.
|
private |
Definition at line 56 of file eigensolver_IRLanczos.h.