
cublasStatus_t cublasCher(cublasHandle_t handle, cublasFillMode_t uplo,
int n, const float *alpha,
const cuComplex *x, int incx,
cuComplex *A, int lda)
cublasStatus_t cublasZher(cublasHandle_t handle, cublasFillMode_t uplo,
int n, const double *alpha,
const cuDoubleComplex *x, int incx,
cuDoubleComplex *A, int lda)
此函数执行 Hermitian rank-1 更新
A = α x x H + A A=\alpha xx^H + A A=αxxH+A
其中 A 是以列优先格式存储的 NxN Hermitian 矩阵,x 是向量, α \alpha α 是标量。
| Param. | Memory | In/out | Meaning |
|---|---|---|---|
| handle | input | handle to the cuBLAS library context. | |
| uplo | input | Indicates if matrix A lower or upper part is stored, the other Hermitian part is not referenced and is inferred from the stored elements. | |
| n | input | number of columns of matrix A. | |
| alpha | host or device | input | scalar used for multiplication. |
| A | device | input/output | array of dimensions lda x n, with lda>=max(1,n). The imaginary parts of the diagonal elements are assumed and set to zero. |
| x | device | input | vector with n elements if transa == CUBLAS_OP_N and m elements otherwise. |
| incx | input | stride between consecutive elements of x. |
该函数可能返回的错误值及其含义如下所列。
| ErrorValue | Meaning |
|---|---|
| CUBLAS_STATUS_SUCCESS | 操作成功完成 |
| CUBLAS_STATUS_NOT_INITIALIZED | 库未初始化 |
| CUBLAS_STATUS_INVALID_VALUE | If n < 0 or if incx == 0 or if uplo != CUBLAS_FILL_MODE_UPPER ,CUBLAS_FILL_MODE_LOWER or if lda < max(1, n) oralpha == NULL |
| CUBLAS_STATUS_EXECUTION_FAILED | 该功能无法在 GPU 上启动 |
详细信息, 请参考: