elpa_solve_tridiagonal(3)
π elpa_solve_tridiagonal π
okay so bestie, this page lives in the Library Functions Manual, and the main character is elpa_solve_tridiagonal. it's giving βtiny tridiagonal matrix, huge eigenvalue energyβ π
β¨
β¨ NAME β¨
elpa_solve_tridiagonal β computes the eigenvalue problem for real symmetric tridiagonal matrix. like, it computes all eigenvalues Ξ» and all eigenvectors for a real symmetric tridiagonal matrix: T*Q = Ξ»*Q. periodt. π
π SYNOPSIS π
π FORTRAN INTERFACE π
use elpa
class(elpa_t), pointer :: elpa_handle
call elpa_handle%solve_tridiagonal (d, e, q, error)
with the definitions of the input and output variables:
class(elpa_t) :: elpa_handleβ an instance of the ELPA object. she's the handle, she's the moment.datatype_real :: dβ the diagonal elements of matrixT.dis a gloabal array of sizeelpa_handle%na, replicated on all MPI ranks. The dimensions of the matrix must be set BEFORE withelpa_setup(3). On exit the eigenvalues are stored ind. Thedatatype_realof the diagonal elements can either be"real(kind=c_double)"or"real(kind=c_float)".datatype_real :: eβ the offdiagonal elements of matrixT.eis a gloabal array of sizeelpa_handle%na-1, replicated on all MPI ranks. Thedatatype_realof the diagonal elements can either be"real(kind=c_double)"or"real(kind=c_float)". (yes, the page says βdiagonal elementsβ here too β not me fixing it, bestie π)datatype_real :: qβ the storage space for the computed eigenvectorsQ. Thedatatype_realof the matrix can be either"real(kind=c_double)"or"real(kind=c_float)".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 π¦
#include <elpa/elpa.h>
elpa_t elpa_handle;
void elpa_solve_tridiagonal(elpa_t elpa_handle, datatype_real *d,
datatype_real *e, datatype_real *q, int *error);
with the definitions of the input and output variables:
elpa_t elpa_handle;β the handle to the ELPA object.datatype_real *d;β the diagonal elements of matrixT.dis a gloabal array of sizena, replicated on all MPI ranks. The dimensions of the matrix must be set BEFORE withelpa_setup(3). On exit the eigenvalues are stored ind. Thedatatype_realcan be one of"double"or"float".datatype_real *e;β the offdiagonal elements of matrixT.evis a gloabal array of sizena-1, replicated on all MPI ranks. Thedatatype_realcan be one of"double"or"float". (the page saysevhere, note; iconic, keeping it fr fr)datatype_real *q;β the storage space for the computed eigenvectorsQ. Thedatatype_realcan be one of"double"or"float".int *error;β the error code of the function. Should be"ELPA_OK". The error codes can be queried withelpa_strerr(3).
πΈ DESCRIPTION πΈ
computes the eigenvalue problem of a real symmetric tridiagonal matrix. The functions elpa_init(3), elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE elpa_solve_tridiagonal can be called. that's the whole vibe check, no cap π«Ά
π¦ SEE ALSO π¦
elpa2_print_kernels(1)elpa_init(3)elpa_allocate(3)elpa_set(3)elpa_setup(3)elpa_strerr(3)elpa_eigenvalues(3)elpa_cholesky(3)elpa_invert_triangular(3)elpa_hermitian_multiply(3)elpa_uninit(3)elpa_deallocate(3)
sign-off from the footer: source/version ELPA, date Thu Nov 28 2024, page elpa_solve_tridiagonal(3) β bye bestie, go get those eigenvalues πβ¨π
π¦ 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