1elpa_solve_evp_real_double(3L)ibrary Functions Manuaellpa_solve_evp_real_double(3)
2
3
4

NAME

6       elpa_solve_evp_real_double - solve the real eigenvalue problem (legacy
7       interface)
8
9

SYNOPSIS

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

DESCRIPTION

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

SEE ALSO

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)
Impressum