#include <lapack.h>
|
| using | Real = typename GetTypeReal< T >::type |
| | Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix.
|
| |
◆ Real
template<typename
T , typename Device >
Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix.
This function solves the standard Hermitian eigenvalue problem A*x = lambda*x, where A is a Hermitian matrix. It computes all eigenvalues and optionally the corresponding eigenvectors using a divide and conquer algorithm.
- Parameters
-
| [in] | dim | The order of the matrix A. dim >= 0. |
| [in,out] | Mat | On entry, the Hermitian matrix A. On exit, if eigenvectors are computed, A contains the orthonormal eigenvectors of the matrix A. |
| [in] | lda | The leading dimension of the array Mat. lda >= max(1, dim). |
| [out] | eigen_val | Array of size at least dim. On normal exit, contains the eigenvalues in ascending order. |
- Note
- See LAPACK ZHEEVD or CHEEVD documentation for more details. The matrix is assumed to be stored in upper or lower triangular form according to the uplo parameter (not shown here but typically passed to the actual implementation).
◆ operator()()
template<typename
T , typename Device >
The documentation for this struct was generated from the following file:
- /home/runner/work/abacus-develop/abacus-develop/source/source_base/module_container/ATen/kernels/lapack.h