elpa_solve_evp_complex_2stage_double.3 6.1 KB
 Andreas Marek committed May 18, 2017 1 ``````.TH "elpa_solve_evp_complex_2stage_double" 3 "Wed May 17 2017" "ELPA" \" -*- nroff -*- `````` Andreas Marek committed Nov 11, 2016 2 3 4 ``````.ad l .nh .SH NAME `````` Andreas Marek committed May 18, 2017 5 ``````elpa_solve_evp_complex_2stage_double \- solve the double-precision complex eigenvalue problem with the 2-stage ELPA solver (legacy interface) `````` Andreas Marek committed Nov 11, 2016 6 7 8 9 10 11 12 13 14 ``````.br .SH SYNOPSIS .br .SS FORTRAN INTERFACE use elpa1 use elpa2 .br .br `````` Andreas Marek committed Mar 30, 2017 15 ``````.RI "success = \fBelpa_solve_evp_real_2stage_double\fP (na, nev, a(lda,matrixCols), ev(nev), q(ldq, matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, THIS_COMPLEX_ELPA_KERNEL, useGPU)" `````` Andreas Marek committed Nov 11, 2016 16 17 18 ``````.br .RI " " .br `````` Andreas Marek committed Jul 15, 2017 19 ``````.RI "With the definitions of the input and output variables:" `````` Andreas Marek committed Nov 11, 2016 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 `````` .br .RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" .br .RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" .br .RI "complex*16, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" .br .RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" .br .RI "real*8, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues" .br .RI "complex*16, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors" .br .RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" .br .RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" .br .RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" .br .RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" .br .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .br .RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .br .RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" `````` Andreas Marek committed Nov 25, 2016 47 48 49 ``````.br .RI "logical, intent(in), optional: \fBuseGPU\fP: decide whether GPUs should be used or not" .br `````` Andreas Marek committed Nov 11, 2016 50 51 52 ``````.RI "logical \fBsuccess\fP: return value indicating success or failure" .br .SS C INTERFACE `````` Andreas Marek committed May 18, 2017 53 ``````#include "elpa_legacy.h" `````` Andreas Marek committed Nov 11, 2016 54 55 56 57 ``````.br #include .br `````` Andreas Marek committed Mar 30, 2017 58 ``````.RI "success = \fBelpa_solve_evp_complex_2stage_double\fP (\fBint\fP na, \fBint\fP nev, \fB double complex *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble complex *\fPq, \fBint\fP ldq, \fBint\fP nblk, \fBint\fP matrixCols, \fBint\fP mpi_comm_rows, \fBint\fP mpi_comm_cols, \fBint\fP mpi_comm_all, \fBint\fP THIS_ELPA_COMPLEX_KERNEL, \fBint\fP useGPU);" `````` Andreas Marek committed Nov 11, 2016 59 60 61 ``````.br .RI " " .br `````` Andreas Marek committed Jul 15, 2017 62 ``````.RI "With the definitions of the input and output variables:" `````` Andreas Marek committed Nov 11, 2016 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 `````` .br .RI "int \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" .br .RI "int \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" .br .RI "double complex *\fBa\fP: pointer to locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" .br .RI "int \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" .br .RI "double *\fBev\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvalues" .br .RI "double complex *\fBq\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvectors" .br .RI "int \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" .br .RI "int \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" .br .RI "int \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" .br .RI "int \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" .br .RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" .br .RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .br .RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .br `````` Andreas Marek committed Nov 25, 2016 91 ``````.RI "int \fBuseGPU\fP: decide whether GPUs should be used or not" `````` Andreas Marek committed Feb 15, 2017 92 ``````.br `````` Andreas Marek committed Nov 25, 2016 93 ``````.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) `````` Andreas Marek committed Nov 11, 2016 94 95 96 97 98 99 `````` .SH DESCRIPTION Solve the complex eigenvalue problem with the 2-stage solver. The ELPA communicators \fBmpi_comm_rows\fP and \fBmpi_comm_cols\fP are obtained with the \fBelpa_get_communicators\fP(3) function. The distributed quadratic marix \fBa\fP has global dimensions \fBna\fP x \fBna\fP, and a local size \fBlda\fP x \fBmatrixCols\fP. The solver will compute the first \fBnev\fP eigenvalues, which will be stored on exit in \fBev\fP. The eigenvectors corresponding to the eigenvalues will be stored in \fBq\fP. All memory of the arguments must be allocated outside the call to the solver. .br The interface \fBelpa_solve_evp_complex\fP(3) is a more flexible alternative. .br `````` Andreas Marek committed May 18, 2017 100 101 ``````This function is part of the legacy API of the ELPA library. Better use the current API. .br `````` Andreas Marek committed Nov 11, 2016 102 ``````.SH "SEE ALSO" `````` Andreas Marek committed May 18, 2017 103 104 105 106 107 108 ``````.br Old interface: \fBelpa_get_communicators\fP(3) \fBelpa_solve_evp_real\fP(3) \fBelpa_solve_evp_complex\fP(3) \fBelpa_solve_evp_real_1stage\fP(3) \fBelpa_solve_evp_complex_1stage\fP(3) \fBelpa_solve_evp_real_2stage_double\fP(3) \fBelpa_solve_evp_real_2stage_single\fP(3) \fBelpa_solve_evp_complex_2stage_single\fP(3) .br Current interface: \fBelpa2_print_kernels\fP(1)``````