1elpa_hermitian_multiply(3) Library Functions Manual elpa_hermitian_multiply(3)
2
3
4

NAME

6       elpa_hermitian_multiply - Performs C = A**H * B
7
8

SYNOPSIS

10   FORTRAN INTERFACE
11       use elpa
12       class(elpa_t), pointer :: elpa
13
14       call elpa%hermitian_multiply (uplo_a, uplo_c, ncb, a, b, nrows_b,
15       ncols_b, &
16                                                 c, nrows_c, ncols_c, error)"
17
18       With the definitions of the input and output variables:
19
20
21       character*1 :: uplo_a
22              set to 'U' if A is upper triangular, 'L' if A is lower
23              triangular or anything else if A is a full matrix
24
25       character*1 :: uplo_c
26              set to 'U' if only the upper diagonal part of C is needed, to
27              'L' if only the upper diagonal part of C is needed, or to
28              anything else if the full matrix C is needed
29
30       integer :: ncb
31              The number of columns of the global matrices b and c
32
33       datatype :: a
34              The matrix a. The dimensions of matrix a must be set BEFORE with
35              the methods elpa_set(3) and elpa_setup(3). The datatype of the
36              matrix can be one of "real(kind=c_double)",
37              "real(kind=c_float)", "complex(kind=c_double)", or
38              "complex(kind=c_float)"
39
40       datatype :: b
41              The matrix b. The dimensions of the matrix are specified by the
42              parametes nrows_b and ncols_b. The datatype of the matrix can be
43              one of "real(kind=c_double)", "real(kind=c_float)",
44              "complex(kind=c_double)", or "complex(kind=c_float)"
45
46       integer :: nrows_b
47              The number of rows of matrix b
48
49       integer :: ncols_b
50              The number of columns of matrix b
51
52       datatype :: c
53              The matrix c. The dimensions of the matrix are specified by the
54              parametes nrows_c and ncols_c. The datatype of the matrix can be
55              one of "real(kind=c_double)", "real(kind=c_float)",
56              "complex(kind=c_double)", or "complex(kind=c_float)"
57
58       integer :: nrows_c
59              The number of rows of matrix c
60
61       integer :: ncols_c
62              The number of columns of matrix c
63
64       integer, optional :: error
65              The return error code of the function. Should be "ELPA_OK". The
66              error code can be querried with the function elpa_strerr(3)
67
68
69   C INTERFACE
70       #include <elpa/elpa.h>
71       elpa_t handle;
72
73       void elpa_hermitian_multiply(elpa_t handle, char uplo_a, char uplo_c,
74       int ncb, datatype *a, datatype *b, int nrows_b, int ncols_b, datatype
75       *c, int nrows_c, int ncols_c, int *error);
76
77       With the definitions of the input and output variables:
78
79
80       elpa_t handle;
81              The handle to the ELPA object
82
83       char uplo_a;
84              set to 'U' if A is upper triangular, 'L' if A is lower
85              triangular or anything else if A is a full matrix
86
87       char uplo_c;
88              set to 'U' if only the upper diagonal part of C is needed, to
89              'L' if only the upper diagonal part of C is needed, or to
90              anything else if the full matrix C is needed
91
92       int ncb;
93              The number of columns of the global matrices b and c
94
95       datatype *a;
96              The matrix a. The dimensions of matrix a must be set BEFORE with
97              the methods elpa_set(3) and elpa_setup(3). The datatype of the
98              matrix can be one of "double", "float", "double complex", or
99              "float complex"
100
101       datatype *b;
102              The matrix b. The dimensions of the matrix are specified by the
103              parametes nrows_b and ncols_b. The datatype of the matrix can be
104              one of "double", "float", "double complex", or "float complex"
105
106       int nrows_b;
107              The number of rows of matrix b
108
109       int ncols_b;
110              The number of columns of matrix b
111
112       datatype *c;
113              The matrix c. The dimensions of the matrix are specified by the
114              parametes nrows_c and ncols_c. The datatype of the matrix can be
115              one of "double", "float", "double complex", or "float complex"
116
117       int nrows_c;
118              The number of rows of matrix c
119
120       int ncols_c;
121              The number of columns of matrix c
122
123       int *error
124              The return error code of the function. Should be "ELPA_OK". The
125              error code can be querried with the function elpa_strerr(3)
126
127
128

DESCRIPTION

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

SEE ALSO

136       elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_set(3)
137       elpa_setup(3) elpa_strerr(3) elpa_eigenvalues(3) elpa_eigenvectors(3)
138       elpa_solve_tridiagonal(3) elpa_uninit(3) elpa_deallocate(3)
139
140
141
142ELPA                            Sat Jul 15 2017     elpa_hermitian_multiply(3)
Impressum