Eigenvalue SoLvers for Petaflop-Applications (ELPA)  2017.05.002
Public Member Functions | List of all members
elpa_api::elpa_hermitian_multiply_d_i Interface Reference

abstract definition of interface to compute C : = A**T * B for double real matrices where A is a square matrix (selfa,selfna) which is optionally upper or lower triangular B is a (selfna,ncb) matrix C is a (selfna,ncb) matrix where optionally only the upper or lower triangle may be computed More...

Public Member Functions

subroutine elpa_hermitian_multiply_d_i (self, uplo_a, uplo_c, ncb, a, b, nrows_b, ncols_b, c, nrows_c, ncols_c, error)
 

Detailed Description

abstract definition of interface to compute C : = A**T * B for double real matrices where A is a square matrix (selfa,selfna) which is optionally upper or lower triangular B is a (selfna,ncb) matrix C is a (selfna,ncb) matrix where optionally only the upper or lower triangle may be computed

the MPI commicators are already known to the type. Thus the class method "setup" must be called BEFORE this method is used

Parameters
selfclass(elpa_t), the ELPA object
uplo_a'U' if A is upper triangular 'L' if A is lower triangular anything else if A is a full matrix Please note: This pertains to the original A (as set in the calling program) whereas the transpose of A is used for calculations If uplo_a is 'U' or 'L', the other triangle is not used at all, i.e. it may contain arbitrary numbers
uplo_c'U' if only the upper diagonal part of C is needed 'L' if only the upper diagonal part of C is needed anything else if the full matrix C is needed Please note: Even when uplo_c is 'U' or 'L', the other triangle may be written to a certain extent, i.e. one shouldn't rely on the content there!
ncbNumber of columns of global matrices B and C
amatrix a
self%local_nrowsnumber of rows of local (sub) matrix a, set with method set("local_nrows,value")
self%local_ncolsnumber of columns of local (sub) matrix a, set with method set("local_ncols,value")
bmatrix b
nrows_bnumber of rows of local (sub) matrix b
ncols_bnumber of columns of local (sub) matrix b
nblkblocksize of cyclic distribution, must be the same in both directions!
cmatrix c
nrows_cnumber of rows of local (sub) matrix c
ncols_cnumber of columns of local (sub) matrix c
erroroptional argument, error code which can be queried with elpa_strerr

Constructor & Destructor Documentation

◆ elpa_hermitian_multiply_d_i()

subroutine elpa_api::elpa_hermitian_multiply_d_i::elpa_hermitian_multiply_d_i ( class(elpa_t self,
character*1  uplo_a,
character*1  uplo_c,
integer(kind=c_int), intent(in)  ncb,
real(kind=c_double), dimension(self%local_nrows,self%local_ncols)  a,
real(kind=c_double), dimension(nrows_b,ncols_b)  b,
integer(kind=c_int), intent(in)  nrows_b,
integer(kind=c_int), intent(in)  ncols_b,
real(kind=c_double), dimension(nrows_c,ncols_c)  c,
integer(kind=c_int), intent(in)  nrows_c,
integer(kind=c_int), intent(in)  ncols_c,
integer, optional  error 
)

The documentation for this interface was generated from the following file: