|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <hegvd_op.h>
Public Types | |
| using | Real = typename GetTypeReal< T >::type |
Public Member Functions | |
| void | operator() (const Device *d, const int ndim, const int lda, const T *A, const int neig, Real *w, T *z) |
| heevx computes the first m eigenvalues and their corresponding eigenvectors of a complex generalized Hermitian-definite eigenproblem | |
| using hsolver::heevx_op< T, Device >::Real = typename GetTypeReal<T>::type |
| void hsolver::heevx_op< T, Device >::operator() | ( | const Device * | d, |
| const int | ndim, | ||
| const int | lda, | ||
| const T * | A, | ||
| const int | neig, | ||
| Real * | w, | ||
| T * | z | ||
| ) |
heevx computes the first m eigenvalues and their corresponding eigenvectors of a complex generalized Hermitian-definite eigenproblem
In this op, the CPU version is implemented through the evx interface, and the CUDA version is implemented through the evd interface and acquires the first m eigenpairs. API doc:
Input Parameters
| d | : the type of device |
| ndim | : the size of square matrix |
| lda | : leading dimension of the matrix |
| A | : the hermitian matrix A in A x=lambda x |
| neig | : the number of eigenpairs to be calculated Output Parameter |
| w | calculated eigenvalues |
| z | calculated eigenvectors |