elpa_mult_ah_b_complex_double man page

elpa_mult_ah_b_complex_double — Performs C = herm_transpose(A) * B (legacy interface)

Synopsis

Fortran Interface

use elpa1

success = elpa_mult_ah_b_complex_double (uplo_a, uplo_c, na, ncb, a, lda, ldaCols, b, ldb, ldbCols, nblk, mpi_comm_rows, mpi_comm_cols, c, ldc, ldcCols)

With the definitions of the input and output variables:

character, intent(in) uplo_a:         'U' if a  is upper triangular, 'L' if a  is lower triangular, anything else if a  is a full matrix
character, intent(in) uplo_c:         'U' if only the upper diagonal part of c is needed, 'L' if only the lower diagonal part of c is needed, anything else if the full matrix c is needed
integer, intent(in)    na:            Number of rows/columns of a, number of rows of b and c
integer, intent(in)    ncb:           Number of /columns of b and c
complex*16,  intent(inout) a:         locally distributed part of the matrix a. The local dimensions are lda x ldaCols
integer, intent(in)    lda:           leading dimension of locally distributed matrix a
integer, intent(in)    ldaCols:       number of columns of locally distributed matrices a
complex*16,  intent(inout) b:         locally distributed part of the matrix b. The local dimensions are ldb x ldbCols
integer, intent(in)    ldb:           leading dimension of locally distributed matrix b
integer, intent(in)    ldbCols:       number of columns of locally distributed matrices b
integer, intent(in)    nblk:          blocksize of cyclic distribution, must be the same in both directions
integer, intent(in)    mpi_comm_rows: communicator for communication in rows. Constructed with elpa_get_communicators(3)
integer, intent(in)    mpi_comm_cols: communicator for communication in colums. Constructed with elpa_get_communicators(3)
complex*16,  intent(inout) c:         locally distributed part of the matrix c. The local dimensions are ldc x ldcCols
integer, intent(in)    ldc:           leading dimension of locally distributed matrix c
integer, intent(in)    ldcCols:       number of columns of locally distributed matrices c
logical                success:       return value indicating success or failure

C Interface

#include "elpa_legacy.h"
#include <complex.h>
int success = elpa_mult_at_b_complex_double (char uplo_a, char uplo_c, int na, int ncb, double complex *a, int lda, int ldaCols, double complex *b, int ldb, int ldbCols, int nblk, int mpi_comm_rows, int mpi_comm_cols,   double complex *c, int lc, int ldcCols );

With the definitions of the input and output variables:

char uplo_a:         'U' if a  is upper triangular, 'L' if a  is lower triangular, anything else if a  is a full matrix
char uplo_c:         'U' if only the upper diagonal part of c is needed, 'L' if only the lower diagonal part of c is needed, anything else if the full matrix c is needed
int na:               Number of rows/columns of a, number of rows of b and c
int ncb:              Number of /columns of b and c
double complex *a:    locally distributed part of the matrix a. The local dimensions are lda x ldaCols
int lda:              leading dimension of locally distributed matrix a
int ldaCols:          number of columns of locally distributed matrices a
double complex *b:    locally distributed part of the matrix b. The local dimensions are ldb x ldbCols
int ldb:              leading dimension of locally distributed matrix b
int ldbCols:          number of columns of locally distributed matrices b
int nblk:             blocksize of cyclic distribution, must be the same in both directions
int mpi_comm_rows:    communicator for communication in rows. Constructed with elpa_get_communicators(3)
int mpi_comm_cols:    communicator for communication in colums. Constructed with elpa_get_communicators(3)
double complex *c:    locally distributed part of the matrix c. The local dimensions are ldc x ldcCols
int ldc:              leading dimension of locally distributed matrix c
int ldcCols:          number of columns of locally distributed matrices c

int     success:       return value indicating success (1) or failure (0)

Description

Does c = herm_transpose(a) * b. The ELPA communicators mpi_comm_rows and mpi_comm_cols are obtained with the elpa_get_communicators(3) function.
This function is part of the legacy API of the ELPA library. Better use the current API.

See Also

Old interface: elpa_get_communicators(3) elpa_mult_at_b_real_double(3)
Current interface: elpa2_print_kernels(1)

Referenced By

elpa_mult_at_b_real_double(3), elpa_mult_at_b_real_single(3).

Wed May 17 2017 ELPA