1elpa_eigenvectors_double_comLpilberxa(r3y)FunctionselMpaan_ueailgenvectors_double_complex(3)
2
3
4
6 elpa_eigenvectors_double_complex - computes the eigenvalues and (part
7 of) the eigenvector spectrum for a complex hermitian matrix
8
9
11 FORTRAN INTERFACE
12 use elpa
13 class(elpa_t), pointer :: elpa
14
15 call elpa%eigenvectors_double_complex (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 "complex(kind=c_double_complex)". The matrix has to be
26 hermitian, this is not checked by the routine. In case of a GPU
27 build a can be a device pointer to a matrix a on the device
28 memory.
29
30 datatype :: ev
31 The vector ev where the eigenvalues will be stored in ascending
32 order. The datatype of the vector ev must be
33 "real(kind=c_double)". In case of a GPU build ev can be a device
34 pointer to the vectors of eigenvalues in the device memory.
35
36 datatype :: q
37 The storage space for the computed eigenvectors. The dimensions
38 of matrix a must be set BEFORE with the methods elpa_set(3) and
39 elpa_setup(3). The datatype of the matrix must be
40 "complex(kind=c_double_complex)". In case of a GPU build q can
41 be a device pointer to a matrix q on the device memory.
42
43 integer, optional :: error
44 The return error code of the function. Should be "ELPA_OK". The
45 error code can be querried with the function elpa_strerr(3)
46
47
48 C INTERFACE
49 #include <elpa/elpa.h>
50 elpa_t handle;
51
52 void elpa_eigenvectors_double_complex(elpa_t handle, datatype *a,
53 datatype *ev, datatype *q, int *error);
54
55 With the definitions of the input and output variables:
56
57
58 elpa_t handle;
59 The handle to the ELPA object
60
61 datatype *a;
62 The matrix a for which the eigenvalues should be computed. The
63 dimensions of the matrix must be set BEFORE with the methods
64 elpa_set(3) and elpa_setup(3). The datatype must be "double
65 complex". The matrix has to be hermitian, this is not checked by
66 the routine. In case of a GPU build a can be a device pointer to
67 a matrix a on the device memory.
68
69 datatype *ev;
70 The storage for the computed eigenvalues. Eigenvalues will be
71 stored in ascendig order. The datatype must be "double". In case
72 of a GPU build ev can be a device pointer to the vectors of
73 eigenvalues in the device memory.
74
75 datatype *q;
76 The storage space for the computed eigenvectors. The dimensions
77 of the matrix must be set BEFORE with the methods elpa_set(3)
78 and elpa_setup(3). The datatype must be one of "double complex".
79 In case of a GPU build q can be a device pointer to a matrix q
80 on the device memory.
81
82 int *error;
83 The error code of the function. Should be "ELPA_OK". The error
84 codes can be querried with elpa_strerr(3)
85
86
88 Compute the eigenvalues and (parts of) the eigenvector spectrum of a
89 complex hermitian double precision matrix.The functions elpa_init(3),
90 elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE
91 elpa_eigenvalues can be called. Especially the number of eigenvectors
92 to be computed can be set with elpa_set(3)
93
95 elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_set(3)
96 elpa_setup(3) elpa_strerr(3) elpa_eigenvalues(3)
97 elpa_skew_eigenvalues(3) elpa_skew_eigenvectors(3) elpa_cholesky(3)
98 elpa_invert_triangular(3) elpa_solve_tridiagonal(3)
99 elpa_hermitian_multiply(3) elpa_uninit(3) elpa_deallocate(3)
100
101
102
103ELPA Wed Sept 01 2e0l2p1a_eigenvectors_double_complex(3)