|
SIRIUS 7.5.0
Electronic structure library and applications
|
Inherits sirius::la::Eigensolver.
Public Member Functions | |
| template<typename T , typename = std::enable_if_t<!std::is_scalar<T>::value>> | |
| int | solve_ (ftn_int matrix_size__, dmatrix< T > &A__, real_type< T > *eval__, dmatrix< T > &Z__) |
| Solve a standard eigen-value problem for all eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, dmatrix< std::complex< double > > &A__, double *eval__, dmatrix< std::complex< double > > &Z__) override |
| wrapper for solving a standard eigen-value problem for all eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, dmatrix< std::complex< float > > &A__, float *eval__, dmatrix< std::complex< float > > &Z__) override |
| Solve a standard eigen-value problem for all eigen-pairs. More... | |
| template<typename T , typename = std::enable_if_t<std::is_scalar<T>::value>> | |
| int | solve_ (ftn_int matrix_size__, dmatrix< T > &A__, T *eval__, dmatrix< T > &Z__) |
| int | solve (ftn_int matrix_size__, dmatrix< double > &A__, double *eval__, dmatrix< double > &Z__) override |
| Solve a standard eigen-value problem for all eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, dmatrix< float > &A__, float *eval__, dmatrix< float > &Z__) override |
| Solve a standard eigen-value problem for all eigen-pairs. More... | |
| template<typename T , typename = std::enable_if_t<std::is_scalar<T>::value>> | |
| int | solve_ (ftn_int matrix_size__, ftn_int nev__, dmatrix< T > &A__, T *eval__, dmatrix< T > &Z__) |
| Solve a standard eigen-value problem for N lowest eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< double > &A__, double *eval__, dmatrix< double > &Z__) override |
| Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< float > &A__, float *eval__, dmatrix< float > &Z__) override |
| Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs. More... | |
| template<typename T , typename = std::enable_if_t<!std::is_scalar<T>::value>> | |
| int | solve_ (ftn_int matrix_size__, ftn_int nev__, dmatrix< T > &A__, real_type< T > *eval__, dmatrix< T > &Z__) |
| Solve a standard eigen-value problem for N lowest eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< std::complex< double > > &A__, double *eval__, dmatrix< std::complex< double > > &Z__) override |
| Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< std::complex< float > > &A__, float *eval__, dmatrix< std::complex< float > > &Z__) override |
| Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs. More... | |
| template<typename T , typename = std::enable_if_t<std::is_scalar<T>::value>> | |
| int | solve_ (ftn_int matrix_size__, ftn_int nev__, dmatrix< T > &A__, dmatrix< T > &B__, T *eval__, dmatrix< T > &Z__) |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< double > &A__, dmatrix< double > &B__, double *eval__, dmatrix< double > &Z__) override |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< float > &A__, dmatrix< float > &B__, float *eval__, dmatrix< float > &Z__) override |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| template<typename T , typename = std::enable_if_t<!std::is_scalar<T>::value>> | |
| int | solve_ (ftn_int matrix_size__, ftn_int nev__, dmatrix< T > &A__, dmatrix< T > &B__, real_type< T > *eval__, dmatrix< T > &Z__) |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< std::complex< double > > &A__, dmatrix< std::complex< double > > &B__, double *eval__, dmatrix< std::complex< double > > &Z__) override |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< std::complex< float > > &A__, dmatrix< std::complex< float > > &B__, float *eval__, dmatrix< std::complex< float > > &Z__) override |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
Public Member Functions inherited from sirius::la::Eigensolver | |
| Eigensolver (ev_solver_t type__, bool is_parallel__, sddk::memory_t host_memory_t__, sddk::memory_t data_memory_t__) | |
| Constructor. More... | |
| virtual | ~Eigensolver () |
| Destructor. More... | |
| virtual int | solve (ftn_int matrix_size__, dmatrix< double > &A__, double *eval__, dmatrix< double > &Z__) |
| Solve a standard eigen-value problem for all eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, dmatrix< std::complex< double > > &A__, double *eval__, dmatrix< std::complex< double > > &Z__) |
| Solve a standard eigen-value problem for all eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, dmatrix< float > &A__, float *eval__, dmatrix< float > &Z__) |
| Solve a standard eigen-value problem for all eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, dmatrix< std::complex< float > > &A__, float *eval__, dmatrix< std::complex< float > > &Z__) |
| Solve a standard eigen-value problem for all eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< double > &A__, double *eval__, dmatrix< double > &Z__) |
| Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< std::complex< double > > &A__, double *eval__, dmatrix< std::complex< double > > &Z__) |
| Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< float > &A__, float *eval__, dmatrix< float > &Z__) |
| Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< std::complex< float > > &A__, float *eval__, dmatrix< std::complex< float > > &Z__) |
| Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, dmatrix< double > &A__, dmatrix< double > &B__, double *eval__, dmatrix< double > &Z__) |
| Solve a generalized eigen-value problem for all eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, dmatrix< std::complex< double > > &A__, dmatrix< std::complex< double > > &B__, double *eval__, dmatrix< std::complex< double > > &Z__) |
| Solve a generalized eigen-value problem for all eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, dmatrix< float > &A__, dmatrix< float > &B__, float *eval__, dmatrix< float > &Z__) |
| Solve a generalized eigen-value problem for all eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, dmatrix< std::complex< float > > &A__, dmatrix< std::complex< float > > &B__, float *eval__, dmatrix< std::complex< float > > &Z__) |
| Solve a generalized eigen-value problem for all eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< double > &A__, dmatrix< double > &B__, double *eval__, dmatrix< double > &Z__) |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< std::complex< double > > &A__, dmatrix< std::complex< double > > &B__, double *eval__, dmatrix< std::complex< double > > &Z__) |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< float > &A__, dmatrix< float > &B__, float *eval__, dmatrix< float > &Z__) |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| virtual int | solve (ftn_int matrix_size__, ftn_int nev__, dmatrix< std::complex< float > > &A__, dmatrix< std::complex< float > > &B__, float *eval__, dmatrix< std::complex< float > > &Z__) |
| Solve a generalized eigen-value problem for N lowest eigen-pairs. More... | |
| bool | is_parallel () const |
| Parallel or sequential solver. More... | |
| sddk::memory_t | host_memory_t () const |
| Type of host memory, required by the solver. More... | |
| sddk::memory_t | data_memory_t () const |
| Type of input memory for the solver. More... | |
| ev_solver_t | type () const |
| Type of eigen-solver. More... | |
Private Attributes | |
| double const | ortfac_ {1e-6} |
| double const | abstol_ {1e-12} |
Additional Inherited Members | |
Protected Attributes inherited from sirius::la::Eigensolver | |
| ev_solver_t | ev_solver_type_ |
| Type of the eigen-value solver. More... | |
| const std::string | error_msg_not_implemented = "solver is not implemented" |
| Common error message. More... | |
| bool | is_parallel_ {false} |
| True if solver is MPI parallel. More... | |
| sddk::memory_t | host_memory_t_ {sddk::memory_t::none} |
| Type of host memory needed for the solver. More... | |
| sddk::memory_t | data_memory_t_ {sddk::memory_t::none} |
| Type of input data memory. More... | |
Definition at line 493 of file eigenproblem.hpp.
|
inline |
Definition at line 500 of file eigenproblem.hpp.
|
inline |
Solve a standard eigen-value problem for all eigen-pairs.
Definition at line 507 of file eigenproblem.hpp.
|
inlineoverridevirtual |
wrapper for solving a standard eigen-value problem for all eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 568 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a standard eigen-value problem for all eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 574 of file eigenproblem.hpp.
|
inline |
Definition at line 581 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a standard eigen-value problem for all eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 633 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a standard eigen-value problem for all eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 639 of file eigenproblem.hpp.
|
inline |
Solve a standard eigen-value problem for N lowest eigen-pairs.
Definition at line 647 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 755 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 761 of file eigenproblem.hpp.
|
inline |
Solve a standard eigen-value problem for N lowest eigen-pairs.
Definition at line 769 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 885 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a standard eigen-value problem of a sub-matrix for N lowest eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 891 of file eigenproblem.hpp.
|
inline |
Solve a generalized eigen-value problem for N lowest eigen-pairs.
Definition at line 899 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a generalized eigen-value problem for N lowest eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 1009 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a generalized eigen-value problem for N lowest eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 1015 of file eigenproblem.hpp.
|
inline |
Solve a generalized eigen-value problem for N lowest eigen-pairs.
Definition at line 1023 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a generalized eigen-value problem for N lowest eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 1153 of file eigenproblem.hpp.
|
inlineoverridevirtual |
Solve a generalized eigen-value problem for N lowest eigen-pairs.
Reimplemented from sirius::la::Eigensolver.
Definition at line 1160 of file eigenproblem.hpp.
|
private |
Definition at line 496 of file eigenproblem.hpp.
|
private |
Definition at line 497 of file eigenproblem.hpp.