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