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