 |
|
| |
| elpa_hermitian_multiply(3) |
FreeBSD Library Functions Manual |
elpa_hermitian_multiply(3) |
elpa_hermitian_multiply - Performs C = A**H * B
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)
#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)
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.
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)
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|