|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <elpa_solver.h>
Public Member Functions | |
| ELPA_Solver (const bool isReal, const MPI_Comm comm, const int nev, const int narows, const int nacols, const int *desc, const bool reuse_handle_0=true) | |
| ELPA_Solver (const bool isReal, const MPI_Comm comm, const int nev, const int narows, const int nacols, const int *desc, const int *otherParameter) | |
| int | eigenvector (double *A, double *EigenValue, double *EigenVector) |
| int | generalized_eigenvector (double *A, double *B, int &DecomposedState, double *EigenValue, double *EigenVector) |
| int | eigenvector (std::complex< double > *A, double *EigenValue, std::complex< double > *EigenVector) |
| int | generalized_eigenvector (std::complex< double > *A, std::complex< double > *B, int &DecomposedState, double *EigenValue, std::complex< double > *EigenVector) |
| void | setLoglevel (int loglevel) |
| void | setKernel (bool isReal, int Kernel) |
| void | setQR (int useQR) |
| void | outputParameters () |
| void | verify (double *A, double *EigenValue, double *EigenVector, double &maxRemain, double &meanRemain) |
| void | verify (double *A, double *B, double *EigenValue, double *EigenVector, double &maxRemain, double &meanRemain) |
| void | verify (std::complex< double > *A, double *EigenValue, std::complex< double > *EigenVector, double &maxError, double &meanError) |
| void | verify (std::complex< double > *A, std::complex< double > *B, double *EigenValue, std::complex< double > *EigenVector, double &maxError, double &meanError) |
| void | exit () |
Private Member Functions | |
| int | read_cpuflag () |
| int | read_real_kernel () |
| int | read_complex_kernel () |
| int | allocate_work () |
| int | decomposeRightMatrix (double *B, double *EigenValue, double *EigenVector, int &DecomposedState) |
| int | decomposeRightMatrix (std::complex< double > *B, double *EigenValue, std::complex< double > *EigenVector, int &DecomposedState) |
| int | composeEigenVector (int DecomposedState, double *B, double *EigenVector) |
| int | composeEigenVector (int DecomposedState, std::complex< double > *B, std::complex< double > *EigenVector) |
| void | timer (int myid, const char function[], const char step[], double &t0) |
Private Attributes | |
| const int | CHOLESKY_CRITICAL_SIZE = 1000 |
| bool | isReal |
| MPI_Comm | comm |
| int | nFull |
| int | nev |
| int | narows |
| int | nacols |
| int | desc [9] |
| int | method |
| int | kernel_id |
| int | cblacs_ctxt |
| int | nblk |
| int | lda |
| std::vector< double > | dwork |
| std::vector< std::complex< double > > | zwork |
| int | myid |
| int | nprows |
| int | npcols |
| int | myprow |
| int | mypcol |
| int | useQR |
| int | wantDebug |
| int | loglevel |
| std::ofstream | logfile |
| int | comm_f |
| int | mpi_comm_rows |
| int | mpi_comm_cols |
| int | handle_id |
| ELPA_Solver::ELPA_Solver | ( | const bool | isReal, |
| const MPI_Comm | comm, | ||
| const int | nev, | ||
| const int | narows, | ||
| const int | nacols, | ||
| const int * | desc, | ||
| const bool | reuse_handle_0 = true |
||
| ) |
| ELPA_Solver::ELPA_Solver | ( | const bool | isReal, |
| const MPI_Comm | comm, | ||
| const int | nev, | ||
| const int | narows, | ||
| const int | nacols, | ||
| const int * | desc, | ||
| const int * | otherParameter | ||
| ) |
|
private |
|
private |
|
private |
|
private |
|
private |
| int ELPA_Solver::eigenvector | ( | double * | A, |
| double * | EigenValue, | ||
| double * | EigenVector | ||
| ) |
| int ELPA_Solver::eigenvector | ( | std::complex< double > * | A, |
| double * | EigenValue, | ||
| std::complex< double > * | EigenVector | ||
| ) |
| void ELPA_Solver::exit | ( | ) |
| int ELPA_Solver::generalized_eigenvector | ( | double * | A, |
| double * | B, | ||
| int & | DecomposedState, | ||
| double * | EigenValue, | ||
| double * | EigenVector | ||
| ) |
| int ELPA_Solver::generalized_eigenvector | ( | std::complex< double > * | A, |
| std::complex< double > * | B, | ||
| int & | DecomposedState, | ||
| double * | EigenValue, | ||
| std::complex< double > * | EigenVector | ||
| ) |
| void ELPA_Solver::outputParameters | ( | ) |
|
private |
|
private |
|
private |
| void ELPA_Solver::setKernel | ( | bool | isReal, |
| int | Kernel | ||
| ) |
| void ELPA_Solver::setLoglevel | ( | int | loglevel | ) |
| void ELPA_Solver::setQR | ( | int | useQR | ) |
|
private |
| void ELPA_Solver::verify | ( | double * | A, |
| double * | B, | ||
| double * | EigenValue, | ||
| double * | EigenVector, | ||
| double & | maxRemain, | ||
| double & | meanRemain | ||
| ) |
| void ELPA_Solver::verify | ( | double * | A, |
| double * | EigenValue, | ||
| double * | EigenVector, | ||
| double & | maxRemain, | ||
| double & | meanRemain | ||
| ) |
| void ELPA_Solver::verify | ( | std::complex< double > * | A, |
| double * | EigenValue, | ||
| std::complex< double > * | EigenVector, | ||
| double & | maxError, | ||
| double & | meanError | ||
| ) |
| void ELPA_Solver::verify | ( | std::complex< double > * | A, |
| std::complex< double > * | B, | ||
| double * | EigenValue, | ||
| std::complex< double > * | EigenVector, | ||
| double & | maxError, | ||
| double & | meanError | ||
| ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |