ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <dngvd_op.h>
Public Types | |
using | Real = typename GetTypeReal< T >::type |
Public Member Functions | |
void | operator() (const Device *d, const int nstart, const int ldh, const T *A, const T *B, Real *W, T *V) |
DNGVD computes all the eigenvalues and eigenvectors of a complex generalized Hermitian-definite eigenproblem. If eigenvectors are desired, it uses a divide and conquer algorithm. | |
using hsolver::dngvd_op< T, Device >::Real = typename GetTypeReal<T>::type |
void hsolver::dngvd_op< T, Device >::operator() | ( | const Device * | d, |
const int | nstart, | ||
const int | ldh, | ||
const T * | A, | ||
const T * | B, | ||
Real * | W, | ||
T * | V | ||
) |
DNGVD computes all the eigenvalues and eigenvectors of a complex generalized Hermitian-definite eigenproblem. If eigenvectors are desired, it uses a divide and conquer algorithm.
In this op, the CPU version is implemented through the gvd
interface, and the CUDA version is implemented through the gvd
interface. API doc:
Input Parameters
d | : the type of device |
nstart | : the number of cols of the matrix |
ldh | : the number of rows of the matrix |
A | : the hermitian matrix A in A x=lambda B x (col major) |
B | : the overlap matrix B in A x=lambda B x (col major) Output Parameter |
W | : calculated eigenvalues |
V | : calculated eigenvectors (col major) |