Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
elpa_hermitian_multiply(3) Library Functions Manual elpa_hermitian_multiply(3)

NAME
       elpa_hermitian_multiply - Performs C = A**H * B

SYNOPSIS
   FORTRAN INTERFACE
       use elpa
       class(elpa_t), pointer :: elpa

       call elpa%hermitian_multiply (uplo_a, uplo_c, ncb, a, b,	nrows_b,
       ncols_b,	&
						 c, nrows_c, ncols_c, error)"

       With the	definitions of the input and output variables:

       character*1 :: uplo_a
	      set  to  'U'  if	A  is  upper  triangular,  'L'	if  A is lower
	      triangular or anything else if A is a full matrix

       character*1 :: uplo_c
	      set to 'U' if only the upper diagonal part of C  is  needed,  to
	      'L'  if  only  the  upper	 diagonal  part	 of C is needed, or to
	      anything else if the full	matrix C is needed

       integer :: ncb
	      The number of columns of the global matrices b and c

       datatype	:: a
	      The matrix a. The	dimensions of matrix a must be set BEFORE with
	      the methods elpa_set(3) and elpa_setup(3). The datatype  of  the
	      matrix	  can	  be	 one	 of	"real(kind=c_double)",
	      "real(kind=c_float)",	   "complex(kind=c_double)",	    or
	      "complex(kind=c_float)"

       datatype	:: b
	      The  matrix b. The dimensions of the matrix are specified	by the
	      parametes	nrows_b	and ncols_b. The datatype of the matrix	can be
	      one     of     "real(kind=c_double)",	 "real(kind=c_float)",
	      "complex(kind=c_double)",	or "complex(kind=c_float)"

       integer :: nrows_b
	      The number of rows of matrix b

       integer :: ncols_b
	      The number of columns of matrix b

       datatype	:: c
	      The  matrix c. The dimensions of the matrix are specified	by the
	      parametes	nrows_c	and ncols_c. The datatype of the matrix	can be
	      one     of     "real(kind=c_double)",	 "real(kind=c_float)",
	      "complex(kind=c_double)",	or "complex(kind=c_float)"

       integer :: nrows_c
	      The number of rows of matrix c

       integer :: ncols_c
	      The number of columns of matrix c

       integer,	optional :: error
	      The  return error	code of	the function. Should be	"ELPA_OK". The
	      error code can be	querried with the function elpa_strerr(3)

   C INTERFACE
       #include	<elpa/elpa.h>
       elpa_t handle;

       void elpa_hermitian_multiply(elpa_t handle, char	uplo_a,	 char  uplo_c,
       int  ncb,  datatype *a, datatype	*b, int	nrows_b, int ncols_b, datatype
       *c, int nrows_c,	int ncols_c, int *error);

       With the	definitions of the input and output variables:

       elpa_t handle;
	      The handle to the	ELPA object

       char uplo_a;
	      set to 'U'  if  A	 is  upper  triangular,	 'L'  if  A  is	 lower
	      triangular or anything else if A is a full matrix

       char uplo_c;
	      set  to  'U'  if only the	upper diagonal part of C is needed, to
	      'L' if only the upper diagonal  part  of	C  is  needed,	or  to
	      anything else if the full	matrix C is needed

       int ncb;
	      The number of columns of the global matrices b and c

       datatype	*a;
	      The matrix a. The	dimensions of matrix a must be set BEFORE with
	      the  methods  elpa_set(3)	and elpa_setup(3). The datatype	of the
	      matrix can be one	of "double",  "float",	"double	 complex",  or
	      "float complex"

       datatype	*b;
	      The  matrix b. The dimensions of the matrix are specified	by the
	      parametes	nrows_b	and ncols_b. The datatype of the matrix	can be
	      one of "double", "float",	"double	complex", or "float complex"

       int nrows_b;
	      The number of rows of matrix b

       int ncols_b;
	      The number of columns of matrix b

       datatype	*c;
	      The matrix c. The	dimensions of the matrix are specified by  the
	      parametes	nrows_c	and ncols_c. The datatype of the matrix	can be
	      one of "double", "float",	"double	complex", or "float complex"

       int nrows_c;
	      The number of rows of matrix c

       int ncols_c;
	      The number of columns of matrix c

       int *error
	      The  return error	code of	the function. Should be	"ELPA_OK". The
	      error code can be	querried with the function elpa_strerr(3)

DESCRIPTION
       Performa	a "hermitian" multiplication C = A**T *	B  for	real  matrices
       and  C=A**H  *  B  for  complex	matrices.  The functions elpa_init(3),
       elpa_allocate(3), elpa_set(3), and elpa_setup(3)	must be	called	BEFORE
       elpa_hermitian_multiply can be called.

SEE ALSO
       elpa2_print_kernels(1)	 elpa_init(3)	elpa_allocate(3)   elpa_set(3)
       elpa_setup(3) elpa_strerr(3)  elpa_eigenvalues(3)  elpa_eigenvectors(3)
       elpa_solve_tridiagonal(3) elpa_uninit(3)	elpa_deallocate(3)

ELPA				Sat Jul	15 2017	    elpa_hermitian_multiply(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=elpa_hermitian_multiply&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help