solve_evp_complex_2stage.3 5.82 KB
 Andreas Marek committed Nov 11, 2016 1 ``````.TH "solve_evp_complex_2stage" 3 "Tue Oct 18 2016" "ELPA" \" -*- nroff -*- `````` Andreas Marek committed Dec 15, 2015 2 3 4 5 ``````.ad l .nh .SH NAME solve_evp_complex_2stage \- solve the complex eigenvalue problem with the 2-stage ELPA solver `````` Andreas Marek committed Nov 11, 2016 6 ``````Old, deprecated interface. It is recommended to use \fBelpa_solve_evp_complex_2stage\fP.(3) `````` Andreas Marek committed Dec 15, 2015 7 8 9 10 11 12 13 14 15 ``````.br .SH SYNOPSIS .br .SS FORTRAN INTERFACE use elpa1 use elpa2 .br .br `````` Andreas Marek committed Nov 02, 2016 16 ``````.RI "success = \fBsolve_evp_real_2stage\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=THIS_COMPLEX_ELPA_KERNEL)" `````` Andreas Marek committed Dec 15, 2015 17 18 19 20 21 22 ``````.br .RI " " .br .RI "With the definintions of the input and output variables:" .br `````` Andreas Marek committed Nov 02, 2016 23 ``````.RI "integer, intent(in) \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" `````` Andreas Marek committed Dec 15, 2015 24 ``````.br `````` Andreas Marek committed Nov 02, 2016 25 ``````.RI "integer, intent(in) \fBnev\fP: number of eigenvalues to be computed; the first \fBnev\fP eigenvalules are calculated" `````` Andreas Marek committed Dec 15, 2015 26 ``````.br `````` Andreas Marek committed Nov 02, 2016 27 ``````.RI "complex*16, intent(inout) \fBa\fP: locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" `````` Andreas Marek committed Dec 15, 2015 28 ``````.br `````` Andreas Marek committed Nov 02, 2016 29 ``````.RI "integer, intent(in) \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" `````` Andreas Marek committed Dec 15, 2015 30 ``````.br `````` Andreas Marek committed Nov 02, 2016 31 ``````.RI "real*8, intent(inout) \fBev\fP: on output the first \fBnev\fP computed eigenvalues" `````` Andreas Marek committed Dec 15, 2015 32 ``````.br `````` Andreas Marek committed Nov 02, 2016 33 ``````.RI "complex*16, intent(inout) \fBq\fP: on output the first \fBnev\fP computed eigenvectors" `````` Andreas Marek committed Dec 15, 2015 34 ``````.br `````` Andreas Marek committed Nov 02, 2016 35 ``````.RI "integer, intent(in) \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" `````` Andreas Marek committed Dec 15, 2015 36 ``````.br `````` Andreas Marek committed Nov 02, 2016 37 ``````.RI "integer, intent(in) \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" `````` Andreas Marek committed Dec 15, 2015 38 ``````.br `````` Andreas Marek committed Nov 02, 2016 39 ``````.RI "integer, intent(in) \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" `````` Andreas Marek committed Dec 15, 2015 40 ``````.br `````` Andreas Marek committed Nov 02, 2016 41 ``````.RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Dec 15, 2015 42 ``````.br `````` Andreas Marek committed Nov 02, 2016 43 ``````.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Dec 15, 2015 44 ``````.br `````` Andreas Marek committed Nov 02, 2016 45 ``````.RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" `````` Andreas Marek committed Dec 15, 2015 46 ``````.br `````` Andreas Marek committed Nov 02, 2016 47 48 49 ``````.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" .RI "logical \fBsuccess\fP: return value indicating success or failure" `````` Andreas Marek committed Dec 15, 2015 50 51 52 53 54 55 56 ``````.br .SS C INTERFACE #include "elpa.h" .br #include .br `````` Andreas Marek committed Nov 02, 2016 57 ``````.RI "success = \fBsolve_evp_complex_2stage\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);" `````` Andreas Marek committed Dec 15, 2015 58 59 60 61 62 63 ``````.br .RI " " .br .RI "With the definintions of the input and output variables:" .br `````` Andreas Marek committed Nov 02, 2016 64 65 66 ``````.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" `````` Andreas Marek committed Dec 15, 2015 67 ``````.br `````` Andreas Marek committed Nov 02, 2016 68 ``````.RI "double complex *\fBa\fP: pointer to locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBmatrixCols\fP" `````` Andreas Marek committed Dec 15, 2015 69 ``````.br `````` Andreas Marek committed Nov 02, 2016 70 ``````.RI "int \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" `````` Andreas Marek committed Dec 15, 2015 71 ``````.br `````` Andreas Marek committed Nov 02, 2016 72 ``````.RI "double *\fBev\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvalues" `````` Andreas Marek committed Dec 15, 2015 73 ``````.br `````` Andreas Marek committed Nov 02, 2016 74 ``````.RI "double complex *\fBq\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvectors" `````` Andreas Marek committed Dec 15, 2015 75 ``````.br `````` Andreas Marek committed Nov 02, 2016 76 ``````.RI "int \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" `````` Andreas Marek committed Dec 15, 2015 77 ``````.br `````` Andreas Marek committed Nov 02, 2016 78 ``````.RI "int \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" `````` Andreas Marek committed Dec 15, 2015 79 ``````.br `````` Andreas Marek committed Nov 02, 2016 80 ``````.RI "int \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" `````` Andreas Marek committed Dec 15, 2015 81 ``````.br `````` Andreas Marek committed Nov 02, 2016 82 ``````.RI "int \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Dec 15, 2015 83 ``````.br `````` Andreas Marek committed Nov 02, 2016 84 ``````.RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Dec 15, 2015 85 ``````.br `````` Andreas Marek committed Nov 02, 2016 86 ``````.RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" `````` Andreas Marek committed Dec 15, 2015 87 ``````.br `````` Andreas Marek committed Nov 02, 2016 88 ``````.RI "int \fBTHIS_ELPA_COMPLEX_KERNEL\fp: choose the compute kernel for 2-stage solver" `````` Andreas Marek committed Dec 15, 2015 89 ``````.br `````` Andreas Marek committed Nov 02, 2016 90 91 ``````.RI "char *\fBmethod\fP: use 1stage solver if "1stage", use 2stage solver if "2stage", (at the moment) use 2stage solver if "auto" " `````` Andreas Marek committed Dec 15, 2015 92 93 94 ``````.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .SH DESCRIPTION `````` Andreas Marek committed Oct 27, 2016 95 ``````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. `````` Andreas Marek committed Dec 15, 2015 96 ``````.br `````` Andreas Marek committed Nov 02, 2016 97 98 ``````The interface \fBelpa_solve_evp_complex\fP(3) is a more flexible alternative. .br `````` Andreas Marek committed Dec 15, 2015 99 ``````.SH "SEE ALSO" `````` Andreas Marek committed Nov 11, 2016 100 ``\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\fP(3) \fBelpa2_print_kernels\fP(1)``