(C|Z)HER2K¶
Single complex and double complex HER2K.
BLAS Interface¶
void cher2k(const char *UPLO, const char *TRANS, const qml_long *N,
const qml_long *K, const qml_single_complex *ALPHA,
const qml_single_complex *A, const qml_long *LDA,
const qml_single_complex *B, const qml_long *LDB, const float *BETA,
qml_single_complex *C, const qml_long *LDC);
void zher2k(const char *UPLO, const char *TRANS, const qml_long *N,
const qml_long *K, const qml_double_complex *ALPHA,
const qml_double_complex *A, const qml_long *LDA,
const qml_double_complex *B, const qml_long *LDB, const double *BETA,
qml_double_complex *C, const qml_long *LDC);
CBLAS Interface¶
void cblas_cher2k(const CBLAS_ORDER ORDER, const CBLAS_UPLO UPLO,
const CBLAS_TRANSPOSE TRANS, const qml_long N,
const qml_long K, const qml_single_complex *ALPHA,
const qml_single_complex *A, const qml_long LDA,
const qml_single_complex *B, const qml_long LDB,
const float BETA, qml_single_complex *C, const qml_long LDC);
void cblas_zher2k(const CBLAS_ORDER ORDER, const CBLAS_UPLO UPLO,
const CBLAS_TRANSPOSE TRANS, const qml_long N,
const qml_long K, const qml_double_complex *ALPHA,
const qml_double_complex *A, const qml_long LDA,
const qml_double_complex *B, const qml_long LDB,
const double BETA, qml_double_complex *C, const qml_long LDC);
Arguments¶
| UPLO | Specify whether the upper or lower triangle of matrix C will be used |
| TRANS | Specifies which rank-k update is performed: |
Non-Transpose: ![]() |
|
Complex Conjugate Transpose: ![]() |
|
| N | Order of matrix C |
| K | For Non-Transpose, K is the number of columns of matrix A and B |
| For Transpose and Complex Conjugate Transpose, K is the number of rows of matrix A and B | |
| ALPHA | Scalar multiplied with the matrix-matrix product |
| A | Input matrix A |
| LDA | Leading dimension of matrix A |
| B | Input matrix B |
| LDB | Leading dimension of matrix B |
| BETA | Scalar multiplied with matrix C |
| C | Hermitian matrix C |
| LDC | Leading dimension of matrix C |



