elpa_solve_tridi.3 4 KB
 Andreas Marek committed Jun 29, 2016 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 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 ``````.TH "elpa_solve_tridi" 3 "Wed Jun 29 2016" "ELPA" \" -*- nroff -*- .ad l .nh .SH NAME elpa_solve_tridi \- Solve tridiagonal eigensystem with divide and conquer method .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 .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/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 .RI "integer, intent(in) \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBget_elpa_communicators\fP(3)" .br .RI "integer, intent(in) \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBget_elpa_communicators\fP(3)" .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 #include "elpa.h" .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 .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/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 .RI "int \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBget_elpa_communicators\fP(3)" .br .RI "int \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBget_elpa_communicators\fP(3)" .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 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 \fBget_elpa_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. .br .SH "SEE ALSO" \fBget_elpa_communicators\fP(3)``````