elpa_eigenvalues_float(3)
β¨ NAME β¨
okay so elpa_eigenvalues_float β this icon literally computes all eigenvalues Ξ» for a real symmetric eigenproblem: A*Q = Ξ»*Q. no cap, that's the whole vibe. π
(from the Library Functions Manual, bestie π«Ά)
πΈ SYNOPSIS πΈ
π» FORTRAN INTERFACE
yeah so first up, the Fortran girlies do this:
use elpa
class(elpa_t), pointer :: elpa_handle
call elpa_handle%eigenvalues_float (a, ev, error)
and here's what all those variables mean, fr fr:
class(elpa_t) :: elpa_handleβ an instance of the ELPA object. she's the main character π₯real(kind=c_float) :: 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 matrixamust be set BEFORE with the methodselpa_set(3)andelpa_setup(3). the global matrix has to be symmetric, and this is not checked by the routine. in case of a GPU build,acan be a pointer to the device memory. πreal(kind=c_float) :: ev OR type(c_ptr) :: evβ the global array where the eigenvalues Ξ» will be stored in ascending order. in case of a GPU build,evcan be a pointer to the device memory. πinteger, optional :: errorβ the return error code of the function. should be"ELPA_OK". the error code can be queried with the functionelpa_strerr(3)π«Ά
π¦ C/C++ INTERFACE
C/C++ besties, y'all do:
#include <elpa/elpa.h>
elpa_t elpa_handle;
void elpa_eigenvalues_float(elpa_t elpa_handle, float *a, float *ev, int
*error);
and the deets:
elpa_t elpa_handle;β the handle to the ELPA object. iconic. πfloat *a;β the local part of the host/device matrix A for which the eigenvalues should be computed. the dimensions of matrixamust be set BEFORE with the methodselpa_set(3)andelpa_setup(3). the global matrix A has to be symmetric, this is not checked by the routine. in case of a GPU build,acan be a pointer to the device memory. π (not checked, so don't come for her if you fed her a non-symmetric mess)datatype_real *ev;β the array where the eigenvalues Ξ» will be stored in ascending order. eigenvalues will be stored in ascending order. in case of a GPU build,evcan be a pointer to the device memory. yes, ascending twice, she's consistent πint *error;β the error code of the function. should be"ELPA_OK". the error codes can be queried withelpa_strerr(3)β¨
π DESCRIPTION π
so what does she do? she computes the eigenvalues of a float precision real symmetric matrix. periodt.
but listen: elpa_init(3), elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE elpa_eigenvalues_float can be called. like, do the pregame first, bestie. no shortcuts. π
π SEE ALSO π
the whole friend group, lowkey essential:
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)
xoxo, ELPA πΈ β Thu Nov 28 2024 β elpa_eigenvalues_float(3) out π
π¦ 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