elpa_set(3)

πŸ“¦ version 2026.02.002, in nixpkgs unstable

πŸ’– 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 be integer or real(kind=c_double).
  • integer, optional :: error β€” the returned error code. On success it is ELPA_OK, otherwise an error. The error code can be queried with elpa_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 with elpa_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 either int or double.
  • int *error; β€” the error code of the function. Should be "ELPA_OK". The error codes can be queried with elpa_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 to elpa_eigenvectors(3). Must satisfy 1 <= 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 solver elpa_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:

The full list of supported options can found in the ELPA documentation.


πŸ¦‹ SEE ALSO πŸ¦‹


Signed, sealed, and delivered with πŸ’– by ELPA β€” dated Thu Nov 28 2024, filed under elpa_set(3). Mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from