|
|
◆ zher2k()
| void zher2k |
( |
char |
uplo, |
|
|
char |
trans, |
|
|
int |
n, |
|
|
int |
k, |
|
|
doublecomplex |
alpha, |
|
|
int |
lda, |
|
|
doublecomplex |
a[], |
|
|
int |
ldb, |
|
|
doublecomplex |
b[], |
|
|
double |
beta, |
|
|
int |
ldc, |
|
|
doublecomplex |
c[] |
|
) |
| |
Rank 2k operation: C <- αABH + conjg(α)BAH + βC or C <- αAHB + conjg(α)BHA + βC (Hermitian matrices) (BLAS 3)
- Purpose
- This routine performs one of the Hermitian rank 2k operations
C <- alpha*A*B^H + conjg(alpha)*B*A^H + beta*C or C <- alpha*A^H*B + conjg(alpha)*B^H*A + beta*C
double beta(double a, double b) Beta function B(a, b) Definition beta.cpp:79
where alpha and beta are scalars with beta real, C is an n x n Hermitian matrix and A and B are n x k matrices in the first case and k x n matrices in the second case.
- Parameters
-
| [in] | uplo | Specifies whether the upper or lower triangular part of the array c[][] is to be referenced as follows:
= 'U': Only the upper triangular part of c[][] is to be referenced.
= 'L': Only the lower triangular part of c[][] is to be referenced. |
| [in] | trans | Specifies the operation to be performed as follows:
= 'N': C <- alpha*A*B^H + conjg(alpha)*B*A^H + beta*C.
= 'C': C <- alpha*A^H*B + conjg(alpha)*B^H*A + beta*C. |
| [in] | n | Order of the matrix. C (n >= 0) (If n = 0, returns without computation) |
| [in] | k | Number of columns of the matrices A and B when trans = 'N', or number of rows of the matrices A and B when trans = 'C'. (k >= 0) |
| [in] | alpha | Scalar alpha. |
| [in] | lda | Leading dimension of the two dimensional array a[][]. (lda >= max(1, n) when trans = 'N', lda >= max(1, k) otherwise) |
| [in] | a[][] | Array a[la][lda] (la >= k when trans = 'N', la >= n otherwise)
n x k matrix A when trans = 'N', or k x n matrix A otherwise. |
| [in] | ldb | Leading dimension of the two dimensional array b[][]. (ldb >= max(1, n) when trans = 'N', ldb >= max(1, k) otherwise) |
| [in] | b[][] | Array b[lb][ldb] (lb >= k when trans = 'N', lb >= n otherwise)
n x k matrix B when trans = 'N', or k x n matrix B otherwise. |
| [in] | beta | Scalar beta. |
| [in] | ldc | Leading dimension of the two dimensional array c[][]. (ldc >= max(1, n)) |
| [in,out] | c[][] | Array c[lc][ldc] (lc >= n)
[in] n x n Hermitian matrix C. Only the upper or lower triangular part is to be referenced in accordance with uplo. The imaginary parts of the diagonal elements need not be set and are assumed to be zero.
[out] n x n output Hermitian matrix (= alpha*A*B^H + conjg(alpha)*B*A^H + beta*C or alpha*A^H*B + conjg(alpha)*B^H*A + beta*C). Only the upper or lower triangular part is overwritten in accordance with uplo. The imaginary parts of the diagonal elements are set to zero. |
- Reference
- BLAS
|