elpa_mult_ah_b_complex_double.3 5.37 KB
Newer Older
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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
.TH "elpa_mult_ah_b_complex_double" 3 "Wed Sept 28 2016" "ELPA" \" -*- nroff -*-
.ad l
.nh
.SH NAME
elpa_mult_ah_b_complex_double \- Performs C = herm_transpose(A) * B
.br

.SH SYNOPSIS
.br
.SS FORTRAN INTERFACE
use elpa1
.br
.br
.RI  "success = \fBelpa_mult_ah_b_complex_double\fP (uplo_a, uplo_c, na, ncb, a, lda, ldaCols, b, ldb, ldbCols, nblk, mpi_comm_rows, mpi_comm_cols, c, ldc, ldcCols)"
.br
.RI " "
.br
.RI "With the definitions of the input and output variables:"

.br
.RI "character, intent(in) \fBuplo_a\fP:         'U' if \fBa\fP  is upper triangular, 'L' if \fBa\fP  is lower triangular, anything else if \fBa\fP  is a full matrix
.br
.RI "character, intent(in) \fBuplo_c\fP:         'U' if only the upper diagonal part of \fBc\fP is needed, 'L' if only the lower diagonal part of \fBc\fP is needed, anything else if the full matrix \fBc\fP is needed
.br
.RI "integer, intent(in)    \fBna\fP:            Number of rows/columns of \fBa\fP, number of rows of \fBb\fP and \fBc\fP"
.br
.RI "integer, intent(in)    \fBncb\fP:           Number of /columns of \fBb\fP and \fBc\fP"
.br
.RI "complex*16,  intent(inout) \fBa\fP:         locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBldaCols\fP"
.br
.RI "integer, intent(in)    \fBlda\fP:           leading dimension of locally distributed matrix \fBa\fP"
.br
.RI "integer, intent(in)    \fBldaCols\fP:       number of columns of locally distributed matrices \fBa\fP"
.br
.RI "complex*16,  intent(inout) \fBb\fP:         locally distributed part of the matrix \fBb\fP. The local dimensions are \fBldb\fP x \fBldbCols\fP"
.br
.RI "integer, intent(in)    \fBldb\fP:           leading dimension of locally distributed matrix \fBb\fP"
.br
.RI "integer, intent(in)    \fBldbCols\fP:       number of columns of locally distributed matrices \fBb\fP"
.br
.RI "integer, intent(in)    \fBnblk\fP:          blocksize of cyclic distribution, must be the same in both directions"
.br
.RI "integer, intent(in)    \fBmpi_comm_rows\fP: communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)"
.br
.RI "integer, intent(in)    \fBmpi_comm_cols\fP: communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br
.RI "complex*16,  intent(inout) \fBc\fP:         locally distributed part of the matrix \fBc\fP. The local dimensions are \fBldc\fP x \fBldcCols\fP"
.br
.RI "integer, intent(in)    \fBldc\fP:           leading dimension of locally distributed matrix \fBc\fP"
.br
.RI "integer, intent(in)    \fBldcCols\fP:       number of columns of locally distributed matrices \fBc\fP"
.br
.RI "logical                \fBsuccess\fP:       return value indicating success or failure"
.br
.SS C INTERFACE
#include "elpa.h"
.br
#include <complex.h>
.br
.RI "\fBint\fP success = \fBelpa_mult_at_b_complex_double\fP (\fBchar\fP uplo_a, \fBchar\fP uplo_c, \fBint\fP na, \fBint\fP ncb, \fB double complex *\fPa, \fBint\fP lda, \fBint\fP ldaCols, \fB double complex *\fPb, \fBint\fP ldb, \fBint\fP ldbCols, \fBint\fP nblk, \fBint\fP mpi_comm_rows, \fBint\fP mpi_comm_cols,  \fB double complex *\fPc, \fBint\fP lc, \fBint\fP ldcCols );"
.br
.RI " "
.br
.RI "With the definitions of the input and output variables:"

.br
.RI "char \fBuplo_a\fP:         'U' if \fBa\fP  is upper triangular, 'L' if \fBa\fP  is lower triangular, anything else if \fBa\fP  is a full matrix
.br
.RI "char \fBuplo_c\fP:         'U' if only the upper diagonal part of \fBc\fP is needed, 'L' if only the lower diagonal part of \fBc\fP is needed, anything else if the full matrix \fBc\fP is needed
.br
.RI "int \fBna\fP:               Number of rows/columns of \fBa\fP, number of rows of \fBb\fP and \fBc\fP"
.br
.RI "int \fBncb\fP:              Number of /columns of \fBb\fP and \fBc\fP"
.br
.RI "double complex *\fBa\fP:    locally distributed part of the matrix \fBa\fP. The local dimensions are \fBlda\fP x \fBldaCols\fP"
.br
.RI "int \fBlda\fP:              leading dimension of locally distributed matrix \fBa\fP"
.br
.RI "int \fBldaCols\fP:          number of columns of locally distributed matrices \fBa\fP"
.br
.RI "double complex *\fBb\fP:    locally distributed part of the matrix \fBb\fP. The local dimensions are \fBldb\fP x \fBldbCols\fP"
.br
.RI "int \fBldb\fP:              leading dimension of locally distributed matrix \fBb\fP"
.br
.RI "int \fBldbCols\fP:          number of columns of locally distributed matrices \fBb\fP"
.br
.RI "int \fBnblk\fP:             blocksize of cyclic distribution, must be the same in both directions"
.br
.RI "int \fBmpi_comm_rows\fP:    communicator for communication in rows. Constructed with \fBelpa_get_communicators\fP(3)"
.br
.RI "int \fBmpi_comm_cols\fP:    communicator for communication in colums. Constructed with \fBelpa_get_communicators\fP(3)"
.br
.RI "double complex *\fBc\fP:    locally distributed part of the matrix \fBc\fP. The local dimensions are \fBldc\fP x \fBldcCols\fP"
.br
.RI "int \fBldc\fP:              leading dimension of locally distributed matrix \fBc\fP"
.br
.RI "int \fBldcCols\fP:          number of columns of locally distributed matrices \fBc\fP"
.br

.RI "int     \fBsuccess\fP:       return value indicating success (1) or failure (0)

.SH DESCRIPTION
Does c = herm_transpose(a) * b. The ELPA communicators \fBmpi_comm_rows\fP and \fBmpi_comm_cols\fP are obtained with the \fBelpa_get_communicators\fP(3) function.
.br
.SH "SEE ALSO"
\fBelpa_get_communicators\fP(3) \fBelpa_mult_at_b_real_double\fP(3)