elpa_solve_tridi.3 4.25 KB
Newer Older
1
.TH "elpa_solve_tridi" 3 "Wed May 17 2017" "ELPA" \" -*- nroff -*-
2 3 4
.ad l
.nh
.SH NAME
5
elpa_solve_tridi \- Solve tridiagonal eigensystem with divide and conquer method (legacy interface)
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's avatar
Andreas Marek committed
18
.RI "With the definitions of the input and output variables:"
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
37
.RI "integer, intent(in)    \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)"
38
.br
39
.RI "integer, intent(in)    \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
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
46
#include "elpa_legacy.h"
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's avatar
Andreas Marek committed
53
.RI "With the definitions of the input and output variables:"
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
72
.RI "int     \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)"
73
.br
74
.RI "int     \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
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
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.
83
.br
84 85
This function is part of the legacy API of the ELPA library. Better use the current API.
.br
86
.SH "SEE ALSO"
87 88
.br
Old interface:
89
\fBelpa_get_communicators\fP(3) \fBfBelpa_solve_tridi_double\fP(3)  \fBfBelpa_solve_tridi_single\fP(3)
90 91 92
.br
Current interface:
\fBelpa2_print_kernels\fP(1)