elpa_solve_tridi.3 4.25 KB
 Andreas Marek committed May 18, 2017 1 ``````.TH "elpa_solve_tridi" 3 "Wed May 17 2017" "ELPA" \" -*- nroff -*- `````` Andreas Marek committed Jun 29, 2016 2 3 4 ``````.ad l .nh .SH NAME `````` Andreas Marek committed May 18, 2017 5 ``````elpa_solve_tridi \- Solve tridiagonal eigensystem with divide and conquer method (legacy interface) `````` Andreas Marek committed Jun 29, 2016 6 7 8 9 10 11 12 13 14 15 16 17 ``````.br .SH SYNOPSIS .br .SS FORTRAN INTERFACE use elpa1 .br .br .RI "success = \fBelpa_solve_trid\fP (na, nev, d(na), e(na), q(ldq,matrixCols), ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, wantDebug)" .br .RI " " .br `````` Andreas Marek committed Jul 15, 2017 18 ``````.RI "With the definitions of the input and output variables:" `````` Andreas Marek committed Jun 29, 2016 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 `````` .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/vectors to be computed" .br .RI "real*8, intent(inout) \fBd(na)\fP: array d(na) on input diagonal elements of tridiagonal matrix, on output the eigenvalues in ascending order" .br .RI "real*8, intent(in) \fBe(na)\fP: array e(na) on input subdiagonal elements of matrix, on exit destroyed" .br .RI "real*8, intent(inout) \fBq\fP: on exit \fBq\fP contains the eigenvectors. The local dimensions are \fBldq\fP x \fBmatrixCols\fP" .br .RI "integer, intent(in) \fBldq\fP: leading dimension of locally distributed matrix \fBq\fP" .br .RI "integer, intent(in) \fBnblk\fP: blocksize of cyclic distribution, 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 37 ``````.RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Jun 29, 2016 38 ``````.br `````` Andreas Marek committed Oct 27, 2016 39 ``````.RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Jun 29, 2016 40 41 42 43 44 45 ``````.br .RI "logical, intent(in) \fBwantDebug\fP: if .true. , print more debug information in case of an error" .RI "logical \fBsuccess\fP: return value indicating success or failure" .br .SS C INTERFACE `````` Andreas Marek committed May 18, 2017 46 ``````#include "elpa_legacy.h" `````` Andreas Marek committed Jun 29, 2016 47 48 49 50 51 52 `````` .br .RI "\fBint\fP success = \fBelpa_solve_tridi\fP (\fBint\fP na, \fBint\fP nev, \fB double *\fPd,\fB double *\fPe ,\fB double *\fPq, \fBint\fP ldq, \fBint\fP nblk, \fBint\fP matrixCols, \fBint\fP mpi_comm_rows, \fBint\fP mpi_comm_cols, \fBint\fP wantDebug );" .br .RI " " .br `````` Andreas Marek committed Jul 15, 2017 53 ``````.RI "With the definitions of the input and output variables:" `````` Andreas Marek committed Jun 29, 2016 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 `````` .br .RI "int \fBna\fP: global dimension of quadratic matrix \fBa\fP to solve" .br .RI "int \fBnev\fP: number of eigenvalues/eigenvectors to be computed" .br .RI "double *\fBd\fP: pointer to array d(na) on input diagonal elements of tridiagonal matrix, on output the eigenvalues in ascending order" .br .RI "double *\fBe\fP: pointer to array e(na) on input subdiagonal elements of matrix, on exit destroyed" .br .RI "double *\fBq\fP: on exit \fBq\fP contains the eigenvectors. The local dimensions are \fBldq\fP x \fBmatrixCols\fP" .br .RI "int \fBldq\fP: leading dimension of locally distributed matrix \fBq\fP" .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 27, 2016 72 ``````.RI "int \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Jun 29, 2016 73 ``````.br `````` Andreas Marek committed Oct 27, 2016 74 ``````.RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)" `````` Andreas Marek committed Jun 29, 2016 75 76 77 78 79 80 81 ``````.br .RI "int \fBwantDebug\fP: if 1, print more debug information in case of an error" .br .RI "int \fBsuccess\fP: return value indicating success (1) or failure (0) .SH DESCRIPTION `````` Andreas Marek committed Oct 27, 2016 82 ``````Solves a tri-diagonal matrix and returns \fBnev\fP eigenvalues/eigenvectors. 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 \fBq\fP has global dimensions \fBna\fP x \fBna\fP, and a local size \fBldq\fP x \fBmatrixCols\fP. `````` Andreas Marek committed Jun 29, 2016 83 ``````.br `````` Andreas Marek committed May 18, 2017 84 85 ``````This function is part of the legacy API of the ELPA library. Better use the current API. .br `````` Andreas Marek committed Jun 29, 2016 86 ``````.SH "SEE ALSO" `````` Andreas Marek committed May 18, 2017 87 88 ``````.br Old interface: `````` Andreas Marek committed Oct 27, 2016 89 ``````\fBelpa_get_communicators\fP(3) \fBfBelpa_solve_tridi_double\fP(3) \fBfBelpa_solve_tridi_single\fP(3) `````` Andreas Marek committed May 18, 2017 90 91 92 ``````.br Current interface: \fBelpa2_print_kernels\fP(1)``````