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