1elpa_eigenvectors(3) Library Functions Manual elpa_eigenvectors(3)
2
3
4
6 elpa_eigenvectors - computes the eigenvalues and (part of) the
7 eigenvector spectrum for a real symmetric or complex hermitian matrix
8
9
11 FORTRAN INTERFACE
12 use elpa
13 class(elpa_t), pointer :: elpa
14
15 call elpa%eigenvectors (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 can be
25 one of "real(kind=c_double)", "real(kind=c_float)",
26 "complex(kind=c_double)", or "complex(kind=c_float)". The matrix
27 has to be symmetric or hermitian, this is not checked by the
28 routine.
29
30 datatype :: ev
31 The vector ev where the eigenvalues will be stored in ascending
32 order. The datatype of the vector ev can be either
33 "real(kind=c_double)", or "real(kind=c_float)", depending of the
34 datatype of the matrix. Note that complex hermitian matrices
35 also have real valued eigenvalues. datatype :: q The storage
36 space for the computed eigenvectors. The dimensions of matrix a
37 must be set BEFORE with the methods elpa_set(3) and
38 elpa_setup(3). The datatype of the matrix can be one of
39 "real(kind=c_double)", "real(kind=c_float)",
40 "complex(kind=c_double)", or "complex(kind=c_float)"
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_eigenvalues(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 can be one of
64 "double", "float", "double complex", or "float complex". The
65 matrix has to be symmetric or hermitian, this is not checked by
66 the routine.
67
68 datatype *ev;
69 The storage for the computed eigenvalues. Eigenvalues will be
70 stored in ascendig order. The datatype can be either "double" or
71 "float". Note that the eigenvalues of complex hermitian matrices
72 are also real.
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 can be one of "double", "float",
78 "double complex", or "float complex".
79
80 int *error;
81 The error code of the function. Should be "ELPA_OK". The error
82 codes can be querried with elpa_strerr(3)
83
84
86 Compute the eigenvalues and (parts of) the eigenvector spectrum of a
87 real symmetric or complex hermitian matrix.The functions elpa_init(3),
88 elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE
89 elpa_eigenvalues can be called. Especially the number of eigenvectors
90 to be computed can be set with elpa_set(3)
91
93 elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_set(3)
94 elpa_setup(3) elpa_strerr(3) elpa_eigenvalues(3)
95 elpa_skew_eigenvalues(3) elpa_skew_eigenvectors(3) elpa_cholesky(3)
96 elpa_invert_triangular(3) elpa_solve_tridiagonal(3)
97 elpa_hermitian_multiply(3) elpa_uninit(3) elpa_deallocate(3)
98
99
100
101ELPA Sat Jul 15 2017 elpa_eigenvectors(3)