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)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO

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

home | help