ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
container::kernels::lapack_heevx< T, Device > Struct Template Reference

#include <lapack.h>

Collaboration diagram for container::kernels::lapack_heevx< T, Device >:

Public Types

using Real = typename GetTypeReal< T >::type
 

Public Member Functions

void operator() (const int dim, const int lda, const T *Mat, const int neig, Real *eigen_val, T *eigen_vec)
 Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix.
 

Member Typedef Documentation

◆ Real

template<typename T , typename Device >
using container::kernels::lapack_heevx< T, Device >::Real = typename GetTypeReal<T>::type

Member Function Documentation

◆ operator()()

template<typename T , typename Device >
void container::kernels::lapack_heevx< T, Device >::operator() ( const int  dim,
const int  lda,
const T Mat,
const int  neig,
Real eigen_val,
T eigen_vec 
)

Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix.

This function solves the problem A*x = lambda*x, where A is a Hermitian matrix. It computes a subset of eigenvalues and, optionally, the corresponding eigenvectors.

Parameters
dimThe order of the matrix A. dim >= 0.
ldaThe leading dimension of the array Mat. lda >= max(1, dim).
[in]MatOn entry, the Hermitian matrix A. On exit, A is kept. Only used to provide values of matrix.
neigThe number of eigenvalues to be found. 0 <= neig <= dim.
eigen_valOn normal exit, the first neig elements contain the selected eigenvalues in ascending order.
eigen_vecIf eigen_vec is not nullptr, then on exit it contains the orthonormal eigenvectors of the matrix A. The eigenvectors are stored in the columns of eigen_vec, in the same order as the eigenvalues.
Note
See LAPACK ZHEEVX or CHEEVX documentation for more details. This routine allocates auxiliary memory inside to prevent input matrix from being destroyed.

The documentation for this struct was generated from the following file: