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