solve_evp_complex_2stage.3 4.9 KB
 Andreas Marek committed Dec 15, 2015 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ``````.TH "solve_evp_complex_2stage" 3 "Wed Dec 2 2015" "ELPA" \" -*- nroff -*- .ad l .nh .SH NAME solve_evp_complex_2stage \- solve the complex eigenvalue problem with the 2-stage ELPA solver .br .SH SYNOPSIS .br .SS FORTRAN INTERFACE use elpa1 use elpa2 .br .br .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_REAL_ELPA_KERNEL)" .br .RI " " .br .RI "With the definintions of the input and output variables:" .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 `````` Andreas Marek committed Oct 10, 2016 40 ``````.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 41 ``````.br `````` Andreas Marek committed Oct 10, 2016 42 ``````.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 43 44 45 46 47 48 49 50 51 52 53 ``````.br .RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .br .RI "logical \fBsuccess\fP: return value indicating success or failure" .br .SS C INTERFACE #include "elpa.h" .br #include .br `````` Andreas Marek committed Dec 16, 2015 54 ``````.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_REAL_KERNEL);" `````` Andreas Marek committed Dec 15, 2015 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ``````.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 "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 `````` Andreas Marek committed Oct 10, 2016 79 ``````.RI "int \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Dec 15, 2015 80 ``````.br `````` Andreas Marek committed Oct 10, 2016 81 ``````.RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Dec 15, 2015 82 83 84 85 86 87 ``````.br .RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .br .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .SH DESCRIPTION `````` Andreas Marek committed Oct 10, 2016 88 ``````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 89 90 ``````.br .SH "SEE ALSO" `````` Andreas Marek committed Oct 10, 2016 91 ``\fBelpa_get_communicators\fP(3) \fBsolve_evp_real_1stage\fP(3) \fBsolve_evp_complex_1stage\fP(3) \fBsolve_evp_real_2stage\fP(3) \fBelpa2_print_kernels\fP(1)``