elpa_solve_evp_complex_single.3 6.14 KB
 Andreas Marek committed Apr 23, 2017 1 ``````.TH "elpa_solve_evp_complex_single" 3 "Sun Mar 23 2017" "ELPA" \" -*- nroff -*- `````` Andreas Marek committed Nov 02, 2016 2 3 4 5 6 7 8 9 10 ``````.ad l .nh .SH NAME elpa_solve_evp_complex_single \- solve the complex eigenvalue problem with either the 1-satge or the 2-stage ELPA solver .br .SH SYNOPSIS .br .SS FORTRAN INTERFACE `````` Andreas Marek committed Apr 23, 2017 11 ``````use elpa_driver `````` Andreas Marek committed Nov 02, 2016 12 13 ``````.br .br `````` Andreas Marek committed Nov 24, 2016 14 ``````.RI "success = \fBelpa_solve_evp_complex_single\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_KERNE, useGPU, method)" `````` Andreas Marek committed Nov 02, 2016 15 16 17 18 19 20 ``````.br .RI " " .br .RI "With the definintions of the input and output variables:" .br `````` Andreas Marek committed Nov 24, 2016 21 ``````.RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" `````` Andreas Marek committed Nov 02, 2016 22 ``````.br `````` Andreas Marek committed Nov 24, 2016 23 ``````.RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" `````` Andreas Marek committed Nov 02, 2016 24 ``````.br `````` Andreas Marek committed Nov 24, 2016 25 ``````.RI "complex*8, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" `````` Andreas Marek committed Nov 02, 2016 26 ``````.br `````` Andreas Marek committed Nov 24, 2016 27 ``````.RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" `````` Andreas Marek committed Nov 02, 2016 28 ``````.br `````` Andreas Marek committed Nov 24, 2016 29 ``````.RI "real*4, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues" `````` Andreas Marek committed Nov 02, 2016 30 ``````.br `````` Andreas Marek committed Nov 24, 2016 31 ``````.RI "complex*8, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors" `````` Andreas Marek committed Nov 02, 2016 32 ``````.br `````` Andreas Marek committed Nov 24, 2016 33 ``````.RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" `````` Andreas Marek committed Nov 02, 2016 34 ``````.br `````` Andreas Marek committed Nov 24, 2016 35 ``````.RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" `````` Andreas Marek committed Nov 02, 2016 36 ``````.br `````` Andreas Marek committed Nov 24, 2016 37 ``````.RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" `````` Andreas Marek committed Nov 02, 2016 38 ``````.br `````` Andreas Marek committed Nov 24, 2016 39 ``````.RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Nov 02, 2016 40 ``````.br `````` Andreas Marek committed Nov 24, 2016 41 ``````.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Nov 02, 2016 42 ``````.br `````` Andreas Marek committed Nov 24, 2016 43 ``````.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" `````` Andreas Marek committed Nov 02, 2016 44 ``````.br `````` Andreas Marek committed Nov 24, 2016 45 ``````.RI "logical, optional, intent(in) \fBuseGPU\fP: specify whether GPUs should be used or not used" `````` Andreas Marek committed Nov 02, 2016 46 ``````.br `````` Andreas Marek committed Nov 24, 2016 47 48 49 ``````.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .br .RI "character(*), optional \fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " `````` Andreas Marek committed Nov 02, 2016 50 `````` `````` Andreas Marek committed Nov 24, 2016 51 ``````.RI "logical \fBsuccess\fP: return value indicating success or failure" `````` Andreas Marek committed Nov 02, 2016 52 53 54 55 56 57 58 ``````.br .SS C INTERFACE #include "elpa.h" .br #include .br `````` Andreas Marek committed Nov 24, 2016 59 ``````.RI "success = \fBelpa_solve_evp_complex_single\fP (\fBint\fP na, \fBint\fP nev, \fB complex *\fPa, \fBint\fP lda, \fB float *\fPev, \fBcomplex *\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, \fB char *\fPmethod);" `````` Andreas Marek committed Nov 02, 2016 60 61 62 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 91 ``````.br .RI " " .br .RI "With the definintions of the input and output variables:" .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 "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 "float *\fBev\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvalues" .br .RI "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 24, 2016 92 93 ``````.RI "int \fBuseGPU\fP: specify whether GPUS should be used or not .br `````` Andreas Marek committed Nov 02, 2016 94 95 96 97 98 99 100 101 102 ``````.RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .SH DESCRIPTION Solve the complex eigenvalue problem. The value of \fBmethod\fP desides whether the 1stage or 2stage solver is used. 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 .SH "SEE ALSO" \fBelpa_get_communicators\fP(3) \fBelpa_solve_evp_real_double\fP(3) \fBelpa_solve_evp_real_single\fP(3) \fBelpa_solve_evp_complex_double\fP(3) \fBelpa2_print_kernels\fP(1)``````