1solve_evp_complex_2stage_douLbilber(a3r)y FunctionssMoalnvuea_levp_complex_2stage_double(3)
2
3
4
6 solve_evp_complex_2stage_double - solve the double-precision complex
7 eigenvalue problem with the 2-stage ELPA solver (legacy interface)
8
9
11 FORTRAN INTERFACE
12 use elpa1 use elpa2
13 success = solve_evp_complex_2stage_double (na, nev, a(lda,matrixCols),
14 ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows,
15 mpi_comm_cols, mpi_comm_all, THIS_COMPLEX_ELPA_KERNEL, useGPU)
16
17 With the definitions of the input and output variables:
18
19 integer, intent(in) na: global dimension of quadratic
20 matrix a to solve
21 integer, intent(in) nev: number of eigenvalues to be
22 computed; the first nev eigenvalules are calculated
23 complex*16, intent(inout) a: locally distributed part of
24 the matrix a. The local dimensions are lda x matrixCols
25 integer, intent(in) lda: leading dimension of locally
26 distributed matrix a
27 real*8, intent(inout) ev: on output the first nev
28 computed eigenvalues
29 complex*16, intent(inout) q: on output the first nev
30 computed eigenvectors
31 integer, intent(in) ldq: leading dimension of matrix q
32 which stores the eigenvectors
33 integer, intent(in) nblk: blocksize of block cyclic
34 distributin, must be the same in both directions
35 integer, intent(in) matrixCols: number of columns of locally
36 distributed matrices a and q
37 integer, intent(in) mpi_comm_rows: communicator for
38 communication in rows. Constructed with elpa_get_communicators(3)
39 integer, intent(in) mpi_comm_cols: communicator for
40 communication in colums. Constructed with elpa_get_communicators(3)
41 integer, intent(in) mpi_comm_all: communicator for all
42 processes in the processor set involved in ELPA
43 logical, intent(in), optional: useGPU: decide whether GPUs should be
44 used or not
45 logical success: return value indicating
46 success or failure
47
48 C INTERFACE
49 #include "elpa_legacy.h"
50 #include <complex.h>
51
52 success = solve_evp_complex_2stage_double_precision (int na, int nev,
53 double complex *a, int lda, double *ev, double complex *q, int ldq,
54 int nblk, int matrixCols, int mpi_comm_rows, int mpi_comm_cols, int
55 mpi_comm_all, int THIS_ELPA_COMPLEX_KERNEL, int useGPU);
56
57 With the definitions of the input and output variables:
58
59 int na: global dimension of quadratic matrix a
60 to solve
61 int nev: number of eigenvalues to be computed;
62 the first nev eigenvalules are calculated
63 double complex *a: pointer to locally distributed part of
64 the matrix a. The local dimensions are lda x matrixCols
65 int lda: leading dimension of locally distributed
66 matrix a
67 double *ev: pointer to memory containing on output
68 the first nev computed eigenvalues
69 double complex *q: pointer to memory containing on output
70 the first nev computed eigenvectors
71 int ldq: leading dimension of matrix q which
72 stores the eigenvectors
73 int nblk: blocksize of block cyclic distributin,
74 must be the same in both directions
75 int matrixCols: number of columns of locally distributed
76 matrices a and q
77 int mpi_comm_rows: communicator for communication in rows.
78 Constructed with elpa_get_communicators(3)
79 int mpi_comm_cols: communicator for communication in
80 colums. Constructed with elpa_get_communicators(3)
81 int mpi_comm_all: communicator for all processes in the
82 processor set involved in ELPA
83 int useGPU: decide whether GPUs should be used or
84 not
85 int success: return value indicating success (1) or
86 failure (0)
87
88
90 Solve the complex eigenvalue problem with the 2-stage solver. The ELPA
91 communicators mpi_comm_rows and mpi_comm_cols are obtained with the
92 elpa_get_communicators(3) function. The distributed quadratic marix a
93 has global dimensions na x na, and a local size lda x matrixCols. The
94 solver will compute the first nev eigenvalues, which will be stored on
95 exit in ev. The eigenvectors corresponding to the eigenvalues will be
96 stored in q. All memory of the arguments must be allocated outside the
97 call to the solver.
98 This function is part of the legacy API of the ELPA library. Better use
99 the current API.
100
102 Old interface: elpa_get_communicators(3)
103 solve_evp_real_1stage_double(3) solve_evp_real_1stage_single(3)
104 solve_evp_complex_1stage_double(3) solve_evp_complex_1stage_single(3)
105 solve_evp_real_2stage_double(3) solve_evp_real_2stage_single(3)
106 solve_evp_complex_2stage_single(3)
107 Current interface: elpa2_print_kernels(1)
108
109
110
111ELPA Wed May 17 20s1o7lve_evp_complex_2stage_double(3)