1elpa_eigenvectors_double(3)Library Functions Manualelpa_eigenvectors_double(3)
2
3
4

NAME

6       elpa_eigenvectors_double - computes the eigenvalues and (part of) the
7       eigenvector spectrum for a real symmetric matrix
8
9

SYNOPSIS

11   FORTRAN INTERFACE
12       use elpa
13       class(elpa_t), pointer :: elpa
14
15       call elpa%eigenvectors_double (a, ev, q, error)
16
17       With the definitions of the input and output variables:
18
19       class(elpa_t) :: elpa  ! returns an instance of the ELPA object
20
21       datatype :: a
22              The matrix a for which the eigenvalues should be computed. The
23              dimensions of matrix a must be set BEFORE with the methods
24              elpa_set(3) and elpa_setup(3). The datatype of the matrix must
25              be "real(kind=c_double)". The matrix has to be symmetric, this
26              is not checked by the routine. In case of a GPU build a can be a
27              device pointer to a matrix a on the device memory.
28
29       datatype :: ev
30              The vector ev where the eigenvalues will be stored in ascending
31              order. The datatype of the vector ev must be
32              "real(kind=c_double)". In case of a GPU build ev can be a device
33              pointer to the vectors of eigenvalues in the device memory.
34
35       datatype :: q
36              The storage space for the computed eigenvectors. The dimensions
37              of matrix a must be set BEFORE with the methods elpa_set(3) and
38              elpa_setup(3). The datatype of the matrix must be
39              "real(kind=c_double)". In case of a GPU build q can be a device
40              pointer to a matrix q on the device memory.
41
42       integer, optional :: error
43              The return error code of the function. Should be "ELPA_OK". The
44              error code can be querried with the function elpa_strerr(3)
45
46
47   C INTERFACE
48       #include <elpa/elpa.h>
49       elpa_t handle;
50
51       void elpa_eigenvectors_double(elpa_t handle, datatype *a, datatype *ev,
52       datatype *q, int *error);
53
54       With the definitions of the input and output variables:
55
56
57       elpa_t handle;
58              The handle to the ELPA object
59
60       datatype *a;
61              The matrix a for which the eigenvalues should be computed. The
62              dimensions of the matrix must be set BEFORE with the methods
63              elpa_set(3) and elpa_setup(3). The datatype must be "double".
64              The matrix has to be symmetric, this is not checked by the
65              routine. In case of a GPU build a can be a device pointer to a
66              matrix a on the device memory.
67
68       datatype *ev;
69              The storage for the computed eigenvalues. Eigenvalues will be
70              stored in ascendig order. The datatype must be "double". In case
71              of a GPU build ev can be a device pointer to the vectors of
72              eigenvalues in the device memory.
73
74       datatype *q;
75              The storage space for the computed eigenvectors. The dimensions
76              of the matrix must be set BEFORE with the methods elpa_set(3)
77              and elpa_setup(3). The datatype must be one of "double". In case
78              of a GPU build q can be a device pointer to a matrix q on the
79              device memory.
80
81       int *error;
82              The error code of the function. Should be "ELPA_OK". The error
83              codes can be querried with elpa_strerr(3)
84
85

DESCRIPTION

87       Compute the eigenvalues and (parts of) the eigenvector spectrum of a
88       real symmetric double precision matrix.The functions elpa_init(3),
89       elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE
90       elpa_eigenvalues can be called. Especially the number of eigenvectors
91       to be computed can be set with elpa_set(3)
92

SEE ALSO

94       elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_set(3)
95       elpa_setup(3) elpa_strerr(3) elpa_eigenvalues(3)
96       elpa_skew_eigenvalues(3) elpa_skew_eigenvectors(3) elpa_cholesky(3)
97       elpa_invert_triangular(3) elpa_solve_tridiagonal(3)
98       elpa_hermitian_multiply(3) elpa_uninit(3) elpa_deallocate(3)
99
100
101
102ELPA                           Wed Sept 01 2021    elpa_eigenvectors_double(3)
Impressum