elpa_eigenvalues_float - Man Page

computes all eigenvalues of a real single-precision symmetric matrix

Synopsis

Fortran Interface

use elpa
class(elpa_t), pointer :: elpa

call elpa%eigenvalues_float (a, ev, error)

With the definitions of the input and output variables:

class(elpa_t) :: elpa

An instance of the ELPA object.

datatype :: a ! can also be a device pointer of type(c_ptr)

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 datatype of the matrix must be "real(kind=c_float)". The matrix has to be symmetric this is not checked by the routine. In case of a GPU build a can be a device pointer of type "type(c_ptr)" to a matrix a in the device memory.

datatype :: ev

The host/device vector ev where the eigenvalues will be stored in ascending order. The datatype of the vector ev must be "real(kind=c_float)". In case of a GPU build ev can be a device pointer of type "type(c_ptr)" to the vector of eigenvalues in 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 function elpa_strerr(3)

C Interface

#include <elpa/elpa.h>
elpa_t handle;

void elpa_eigenvalues_float(elpa_t handle, datatype *a, datatype *ev, int *error);

With the definitions of the input and output variables:

elpa_t handle;

The handle to the ELPA object

datatype *a;

The host/device matrix a for which the eigenvalues should be computed. The dimensions of the matrix must be set BEFORE with the methods elpa_set(3) and elpa_setup(3). The datatype must be "float". The matrix has to be symmetric, this is not checked by the routine. In case of a GPU build a can be a device pointer to a matrix a in the device memory.

datatype *ev;

The host/device storage for the computed eigenvalues. Eigenvalues will be stored in ascending order. The datatype must be "float". In case of a GPU build ev can be a device pointer to the vectors of eigenvalues in the device memory.

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 single-precision real symmetric matrix. The functions elpa_init(3), elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE elpa_eigenvalues_float can be called.

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)

Info

Wed Aug 9 2023 ELPA