solve_evp_real_2stage.3 5.48 KB
 Andreas Marek committed Nov 11, 2016 1 ``````.TH "solve_evp_real_2stage" 3 "Tue Oct 18 2016" "ELPA" \" -*- nroff -*- `````` Andreas Marek committed Dec 15, 2015 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 ``````.ad l .nh .SH NAME solve_evp_real_2stage \- solve the real 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, useQr=useQR)" .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 "real*8, 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 "real*8, 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 27, 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 27, 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 ``````.br .RI "integer, intent(in) \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" .br `````` Andreas Marek committed Nov 02, 2016 46 47 ``````.RI "integer, intent(in), optional \fBTHIS_ELPA_REAL_KERNEL\fp: choose the compute kernel for 2-stage solver" .br `````` Andreas Marek committed Dec 15, 2015 48 49 50 51 52 53 54 55 ``````.RI "logical, intent(in), optional: \fBuseQR\fP: optional argument; switches to QR-decomposition if set to .true." .RI "logical \fBsuccess\fP: return value indicating success or failure" .br .SS C INTERFACE #include "elpa.h" .br `````` Andreas Marek committed Dec 16, 2015 56 ``````.RI "success = \fBsolve_evp_real_2stage\fP (\fBint\fP na, \fBint\fP nev, \fB double *\fPa, \fBint\fP lda, \fB double *\fPev, \fBdouble *\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, \fBint\fP useQr);" `````` Andreas Marek committed Dec 15, 2015 57 58 59 60 61 62 ``````.br .RI " " .br .RI "With the definintions of the input and output variables:" .br `````` Andreas Marek committed Nov 02, 2016 63 64 65 ``````.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 66 ``````.br `````` Andreas Marek committed Nov 02, 2016 67 ``````.RI "double *\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 68 ``````.br `````` Andreas Marek committed Nov 02, 2016 69 ``````.RI "int \fBlda\fP: leading dimension of locally distributed matrix \fBa\fP" `````` Andreas Marek committed Dec 15, 2015 70 ``````.br `````` Andreas Marek committed Nov 02, 2016 71 ``````.RI "double *\fBev\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvalues" `````` Andreas Marek committed Dec 15, 2015 72 ``````.br `````` Andreas Marek committed Nov 02, 2016 73 ``````.RI "double *\fBq\fP: pointer to memory containing on output the first \fBnev\fP computed eigenvectors" `````` Andreas Marek committed Dec 15, 2015 74 ``````.br `````` Andreas Marek committed Nov 02, 2016 75 ``````.RI "int \fBldq\fP: leading dimension of matrix \fBq\fP which stores the eigenvectors" `````` Andreas Marek committed Dec 15, 2015 76 ``````.br `````` Andreas Marek committed Nov 02, 2016 77 ``````.RI "int \fBnblk\fP: blocksize of block cyclic distributin, must be the same in both directions" `````` Andreas Marek committed Dec 15, 2015 78 ``````.br `````` Andreas Marek committed Nov 02, 2016 79 ``````.RI "int \fBmatrixCols\fP: number of columns of locally distributed matrices \fBa\fP and \fBq\fP" `````` Andreas Marek committed Dec 15, 2015 80 ``````.br `````` Andreas Marek committed Nov 02, 2016 81 ``````.RI "int \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Dec 15, 2015 82 ``````.br `````` Andreas Marek committed Nov 02, 2016 83 ``````.RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Dec 15, 2015 84 ``````.br `````` Andreas Marek committed Nov 02, 2016 85 ``````.RI "int \fBmpi_comm_all\fP: communicator for all processes in the processor set involved in ELPA" `````` Andreas Marek committed Dec 15, 2015 86 ``````.br `````` Andreas Marek committed Nov 02, 2016 87 ``````.RI "int \fBTHIS_ELPA_REAL_KERNEL\fp: choose the compute kernel for 2-stage solver" `````` Andreas Marek committed Dec 15, 2015 88 ``````.br `````` Andreas Marek committed Nov 02, 2016 89 ``````.RI "int \fBuseQR\fP: if set to 1 switch to QR-decomposition" `````` Andreas Marek committed Dec 15, 2015 90 `````` `````` Andreas Marek committed Nov 02, 2016 91 ``````.RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) `````` Andreas Marek committed Dec 15, 2015 92 93 `````` .SH DESCRIPTION `````` Andreas Marek committed Oct 27, 2016 94 ``````Solve the real 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 95 ``````.br `````` Andreas Marek committed Nov 02, 2016 96 97 ``````The interface \fBelpa_solve_evp_real\fP(3) is a more flexible alternative. .br `````` Andreas Marek committed Dec 15, 2015 98 ``````.SH "SEE ALSO" `````` Andreas Marek committed Nov 11, 2016 99 ``\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) \fBsolve_evp_complex_2stage\fP(3) \fBelpa2_print_kernels\fP(1)``