elpa_set(3)
π elpa_set(3) π
elpa_set β set a parameter for the ELPA object. This page comes from the Library Functions Manual, bestie, and it's literally all about elpa_set(3). Slay.
β¨ SYNOPSIS β¨
π FORTRAN INTERFACE
use elpa
class(elpa_t), pointer :: elpa_handle
call elpa_handle%set (name, value, error)
With the definitions of the input and output variables:
class(elpa_t) :: elpaβ an instance of the ELPA object.character(*) :: nameβ the name of the option to be set.datatype :: valueβ the value which should be assigned to the option name. The datatype can beintegerorreal(kind=c_double).integer, optional :: errorβ the returned error code. On success it isELPA_OK, otherwise an error. The error code can be queried withelpa_strerr(3).
π¦ C/C++ INTERFACE
#include <elpa/elpa.h>
elpa_t elpa_handle;
void elpa_set (elpa_t elpa_handle, const char *name, datatype value, int
*error);
With the definitions of the input and output variables:
elpa_t elpa_handle;β the handle of an ELPA object, obtained before withelpa_allocate(3).const char *name;β the name of the option to be set.datatype value;β the value which should be assigned to the option name. The datatype can be eitherintordouble.int *error;β the error code of the function. Should be"ELPA_OK". The error codes can be queried withelpa_strerr(3).
πΈ DESCRIPTION πΈ
The elpa_set function is used to set mandatory parameters and runtime options of the ELPA library. It returns an error code which can be queried with elpa_strerr(3). No cap.
π Mandatory parameters
Mandatory parameters of an ELPA instance have to be set BEFORE the ELPA instance is set up with the function elpa_setup(3). Like, do not skip this step, bestie β it's giving βread the room.β
At the moment the following mandatory parameters are supported:
"na"β integer parameter. The global matrix size is(na * na)."nev"β integer parameter. The number of eigenvectors to be computed in a call toelpa_eigenvectors(3). Must satisfy1 <= nev <= na."local_nrows"β integer parameter. Number of matrix rows stored on this MPI process."local_ncols"β integer parameter. Number of matrix columns stored on this MPI process."process_row"β integer parameter. Process row number in the 2D domain decomposition."process_col"β integer parameter. Process column number in the 2D domain decomposition."mpi_comm_parent"β integer parameter. The parent MPI communicator which includes all MPI process which are used in the 2D domain decomposition."bandwidth"β integer parameter. Some ELPA computational steps can be accelerated if the input matrix is already in banded form. If set, ELPA assumes that the matrix has the provided bandwidth."BLACS_context"β integer parameter. The generalized eigenvalue solverelpa_generalized_eigenvectors(3)uses internal calls to some of the ScaLAPACK routines. Thus before calling it, the user has to provide properly initialized BLACS context."timings"β integer parameter. Choose whether time measurements should be done in the ELPA routines(1)or not(0).
π Runtime options
Runtime options of an ELPA option can be set at any time. Obsessed with the flexibility, honestly.
Here are some suuported runtime options:
"solver"β choose which solver should be used in the compute stepselpa_eigenvalues(3)orelpa_eigenvectors(3). At the moment allowed option are"ELPA_SOLVER_1STAGE"or"ELPA_SOLVER_2STAGE"."real_kernel"β choose which real kernel should be used in theelpa_eigenvalues(3)orelpa_eigenvectors(3)compute steps, if solver is set to"ELPA_SOLVER_2STAGE". The available kernels can be queried withelpa2_print_kernels(1)."complex_kernel"β choose which complex kernel should be used in theelpa_eigenvalues(3)orelpa_eigenvectors(3)compute steps, if solver is set to"ELPA_SOLVER_2STAGE". The available kernels can be queried withelpa2_print_kernels(1)."qr"β choose whether a QR decomposition should be used for the real case computations inelpa_eigenvalues(3)orelpa_eigenvectors(3)computational steps, if solver was set to"ELPA_SOLVER_2STAGE"."debug"β choose whether, in case of an error, more debug information should be provided.
The full list of supported options can found in the ELPA documentation.
π¦ SEE ALSO π¦
elpa2_print_kernels(1)elpa_init(3)elpa_allocate(3)elpa_setup(3)elpa_strerr(3)elpa_eigenvalues(3)elpa_eigenvectors(3)elpa_cholesky(3)elpa_invert_triangular(3)elpa_solve_tridiagonal(3)elpa_hermitian_multiply(3)elpa_deallocate(3)elpa_uninit(3)
Signed, sealed, and delivered with π by ELPA β dated Thu Nov 28 2024, filed under elpa_set(3). Mwah πβ¨
π¦ 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