ELPA_EIGENVALUES_DOUBLE_COMPLEX(3)
π NAME π
elpa_eigenvalues_double_complex(3) β coming at you from the Library Functions Manual, bestie. This page is all about elpa_eigenvalues_double_complex, which computes all eigenvalues Ξ» for a complex hermitian eigenproblem: A*Q = Ξ»*Q. β¨
πΈ SYNOPSIS πΈ
π§ FORTRAN INTERFACE π§
use elpa
class(elpa_t), pointer :: elpa_handle
call elpa_handle%eigenvalues_double_complex (a, ev, error)
With the definitions of the input and output variables (all of them π ):
class(elpa_t) :: elpa_handle β An instance of the ELPA object. π
Matrix a β either:
real(kind=c_double_complex) :: a OR type(c_ptr) :: a
The local part of the host/device matrix A for which the eigenvalues should be computed. The dimensions of matrix a must be set BEFORE with the methods elpa_set(3) and elpa_setup(3). The global matrix has to be hermitian β this is not checked by the routine, no cap. In case of a GPU build, a can be a pointer to the device memory. π«Ά
Eigenvalues ev β either:
real(kind=c_double) :: ev OR type(c_ptr) :: ev
The global array where the eigenvalues Ξ» will be stored in ascending order. In case of a GPU build, ev can be a pointer to the device memory. Note that complex hermitian matrices also have real eigenvalues. π
integer, optional :: error β The return error code of the function. Should be "ELPA_OK". The error code can be queried with the function elpa_strerr(3). π
π¦ C/C++ INTERFACE π¦
#include <elpa/elpa.h>
elpa_t elpa_handle;
// C:
void elpa_eigenvalues_double_complex(elpa_t elpa_handle, double complex
*a, double *ev, int *error);
// C++:
void elpa_eigenvalues_double_complex(elpa_t elpa_handle,
std::complex<double> *a, double *ev, int *error);
With the definitions of the input and output variables, same energy:
elpa_t elpa_handle; β The handle to the ELPA object. π
Matrix a β either:
double complex *a; OR std::complex<double> *a;
The local part of the host/device matrix A for which the eigenvalues should be computed. The dimensions of matrix a must be set BEFORE with the methods elpa_set(3) and elpa_setup(3). The global matrix A has to be hermitian β this is not checked by the routine. In case of a GPU build, a can be a pointer to the device memory. β¨
double *ev; β The global array where the eigenvalues Ξ» will be stored in ascending order. In case of a GPU build, ev can be a pointer to the device memory. Note that complex hermitian matrices also have real eigenvalues. π
int *error; β The error code of the function. Should be "ELPA_OK". The error codes can be queried with elpa_strerr(3). π
π DESCRIPTION π
Computes the eigenvalues of a complex hermitian matrix. The functions elpa_init(3), elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE elpa_eigenvalues_double_complex can be called. Periodt. π
Bestie, for real: those setup calls go first. This routine is not the opener. π«Ά
π₯ SEE ALSO π₯
elpa2_print_kernels(1)elpa_init(3)elpa_allocate(3)elpa_set(3)elpa_setup(3)elpa_strerr(3)elpa_skew_eigenvalues(3)elpa_eigenvectors(3)elpa_skew_eigenvectors(3)elpa_cholesky(3)elpa_invert_triangular(3)elpa_solve_tridiagonal(3)elpa_eigenvalues(3)elpa_uninit(3)elpa_deallocate(3)
π«Ά Thatβs the whole page, bestie! Source/version: ELPA. Date: Thu Nov 28 2024. Page name: elpa_eigen...ble_complex(3). π
π¦ where this page comes from
- nixpkgs unstable: elpa 2026.02.002
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms