1elpa_generalized_eigenvectorLsi(b3r)ary Functions Maenlupaal_generalized_eigenvectors(3)
2
3
4

NAME

6       elpa_generalized_eigenvectors - computes the generalized eigenvalues
7       and (part of) the eigenvector spectrum for a real symmetric or complex
8       hermitian matrix
9
10

SYNOPSIS

12   FORTRAN INTERFACE
13       use elpa
14       class(elpa_t), pointer :: elpa
15
16       call elpa%generalized_eigenvectors (a, b, ev, q, is_already_decomopsed,
17       error)
18
19       With the definitions of the input and output variables:
20
21       class(elpa_t) :: elpa  ! returns an instance of the ELPA object
22
23       datatype :: a
24              The matrix a for which the eigenvalues should be computed. The
25              dimensions of matrix a must be set BEFORE with the methods
26              elpa_set(3) and elpa_setup(3). The datatype of the matrix can be
27              one of "real(kind=c_double)", "real(kind=c_float)",
28              "complex(kind=c_double)", or "complex(kind=c_float)"
29
30       datatype :: b
31              The matrix b defining the generalized eigenvalue problem. The
32              dimensions and datatype of the matrix b has to be the same as
33              for matrix a.
34
35       datatype :: ev
36              The vector ev where the eigenvalues will be stored in ascending
37              order. The datatype of the vector ev can be either
38              "real(kind=c_double)", or "real(kind=c_float)", depending of the
39              datatype of the matrix. Note that complex hermitian matrices
40              also have real valued eigenvalues.
41
42       datatype :: q
43              The storage space for the computed eigenvectors. The dimensions
44              of matrix a must be set BEFORE with the methods elpa_set(3) and
45              elpa_setup(3). The datatype of the matrix can be one of
46              "real(kind=c_double)", "real(kind=c_float)",
47              "complex(kind=c_double)", or "complex(kind=c_float)"
48
49       logical :: is_already_decomposed
50              Has to be set to .false. for the first call with a given b and
51              .true. for each subsequent call with the same b, since b then
52              already contains decomposition and thus the decomposing step is
53              skipped.
54
55
56       integer, optional :: error
57              The return error code of the function. Should be "ELPA_OK". The
58              error code can be querried with the function elpa_strerr(3)
59
60
61   C INTERFACE
62       #include <elpa/elpa.h>
63       elpa_t handle;
64
65       void elpa_generalized_eigenvectors(elpa_t handle, datatype *a, datatype
66       *b, datatype *ev, datatype *q,  int is_already_decomposed, int *error);
67
68       With the definitions of the input and output variables:
69
70
71       elpa_t handle;
72              The handle to the ELPA object
73
74       datatype *a;
75              The matrix a for which the eigenvalues should be computed. The
76              dimensions of the matrix must be set BEFORE with the methods
77              elpa_set(3) and elpa_setup(3). The datatype can be one of
78              "double", "float", "double complex", or "float complex".
79
80       datatype *b;
81              The matrix b defining the generalized eigenvalue problem. The
82              dimensions and the datatype of the matrix b must be the same as
83              matrix a.
84
85       datatype *ev;
86              The storage for the computed eigenvalues. Eigenvalues will be
87              stored in ascendig order. The datatype can be either "double" or
88              "float". Note that the eigenvalues of complex hermitian matrices
89              are also real.
90
91       datatype *q;
92              The storage space for the computed eigenvectors. The dimensions
93              of the matrix must be set BEFORE with the methods elpa_set(3)
94              and elpa_setup(3). The datatype can be one of "double", "float",
95              "double complex", or "float complex".
96
97       int is_already_decomposed;
98              Has to be set to 0 for the first call with a given b and 1 for
99              each subsequent call with the same b, since b then already
100              contains decomposition and thus the decomposing step is skipped.
101
102       int *error;
103              The error code of the function. Should be "ELPA_OK". The error
104              codes can be querried with elpa_strerr(3)
105
106

DESCRIPTION

108       Compute the generalized eigenvalues and (parts of) the eigenvector
109       spectrum of a real symmtric or complex hermitian matrix.The functions
110       elpa_init(3), elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be
111       called BEFORE elpa_generalized_eigenvalues can be called. Especially
112       the number of eigenvectors to be computed can be set with elpa_set(3).
113       Unlike in the case of ordinary eigenvalue problem, the generalized
114       problem calls some external scalapack routines. The user is responsible
115       for initialization of the blacs context, which then has to be passed to
116       elpa by elpa_set(3) BEFORE elpa_generalized_eigenvalues can be called.
117

SEE ALSO

119       elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_set(3)
120       elpa_setup(3) elpa_strerr(3) elpa_eigenvalues(3) elpa_eigenvectors(3)
121       elpa_cholesky(3) elpa_invert_triangular(3) elpa_solve_tridiagonal(3)
122       elpa_hermitian_multiply(3) elpa_uninit(3) elpa_deallocate(3)
123
124
125
126ELPA                            Thu Feb 1 2018elpa_generalized_eigenvectors(3)
Impressum