1elpa_skew_eigenvectors(3) Library Functions Manual elpa_skew_eigenvectors(3)
2
3
4
6 elpa_skew_eigenvectors - computes the eigenvalues and (part of) the
7 eigenvector spectrum for a real skew-symmetric matrix
8
9
11 FORTRAN INTERFACE
12 use elpa
13 class(elpa_t), pointer :: elpa
14
15 call elpa%skew_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 skew-symmetric, this is not checked by the routine.
28
29 datatype :: ev
30 The vector ev where the eigenvalues will be stored in ascending
31 order. The datatype of the vector ev can be either
32 "real(kind=c_double)", or "real(kind=c_float)", depending of the
33 datatype of the matrix. Note that complex hermitian matrices
34 also have real valued eigenvalues. datatype :: q The storage
35 space for the computed eigenvectors. The dimensions of matrix a
36 must be set BEFORE with the methods elpa_set(3) and
37 elpa_setup(3). The datatype of the matrix can be one of
38 "real(kind=c_double)", "real(kind=c_float)",
39 "complex(kind=c_double)", or "complex(kind=c_float)". Note, that
40 for a skew-symmetric matrix the eigenvectors are complex. The
41 routines returns separately the real and imaginary parts of the
42 complex eigenvectors. Thus, the storage space has to be of
43 dimension q(#numer_of_rows,2*#number_of_column).
44
45 integer, optional :: error
46 The return error code of the function. Should be "ELPA_OK". The
47 error code can be querried with the function elpa_strerr(3)
48
49
50 C INTERFACE
51 #include <elpa/elpa.h>
52 elpa_t handle;
53
54 void elpa_eigenvalues(elpa_t handle, datatype *a, datatype *ev,
55 datatype *q, int *error);
56
57 With the definitions of the input and output variables:
58
59
60 elpa_t handle;
61 The handle to the ELPA object
62
63 datatype *a;
64 The matrix a for which the eigenvalues should be computed. The
65 dimensions of the matrix must be set BEFORE with the methods
66 elpa_set(3) and elpa_setup(3). The datatype can be one of
67 "double", "float", "double complex", or "float complex". The
68 matrix has to be symmetric or hermitian, this is not checked by
69 the routine.
70
71 datatype *ev;
72 The storage for the computed eigenvalues. Eigenvalues will be
73 stored in ascendig order. The datatype can be either "double" or
74 "float". Note that the eigenvalues of complex hermitian matrices
75 are also real.
76
77 datatype *q;
78 The storage space for the computed eigenvectors. The dimensions
79 of the matrix must be set BEFORE with the methods elpa_set(3)
80 and elpa_setup(3). The datatype can be one of "double", "float",
81 "double complex", or "float complex". Note, that for a skew-
82 symmetric matrix the eigenvectors are complex. The routines
83 returns separately the real and imaginary parts of the complex
84 eigenvectors. Thus, the storage space has to be of dimension
85 q(#numer_of_rows,2*#number_of_column).
86
87
88 int *error;
89 The error code of the function. Should be "ELPA_OK". The error
90 codes can be querried with elpa_strerr(3)
91
92
94 Compute the eigenvalues and (parts of) the eigenvector spectrum of a
95 real symmetric or complex hermitian matrix.The functions elpa_init(3),
96 elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE
97 elpa_eigenvalues can be called. Especially the number of eigenvectors
98 to be computed can be set with elpa_set(3)
99
101 elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_set(3)
102 elpa_setup(3) elpa_strerr(3) elpa_eigenvalues(3)
103 elpa_skew_eigenvalues(3) elpa_eigenvectors(3) elpa_cholesky(3)
104 elpa_invert_triangular(3) elpa_solve_tridiagonal(3)
105 elpa_hermitian_multiply(3) elpa_uninit(3) elpa_deallocate(3)
106
107
108
109ELPA Thur Nov 7 2019 elpa_skew_eigenvectors(3)