XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ zsyrk()

void zsyrk ( char  uplo,
char  trans,
int  n,
int  k,
doublecomplex  alpha,
int  lda,
doublecomplex  a[],
doublecomplex  beta,
int  ldc,
doublecomplex  c[] 
)

Rank k operation: C <- αAAT + βC or C <- αATA + βC (complex symmetric matrices) (BLAS 3)

Purpose
This routine performs one of the symmetric rank k operations
C <- alpha*A*A^T + beta*C or C <- alpha*A^T*A + beta*C
double beta(double a, double b)
Beta function B(a, b)
Definition beta.cpp:79
where alpha and beta are scalars, C is an n x n symmetric matrix and A is an n x k matrix in the first case and a k x n matrix in the second case.
Parameters
[in]uploSpecifies 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]transSpecifies the operation to be performed as follows:
= 'N': C <- alpha*A*A^T + beta*C.
= 'T': C <- alpha*A^T*A + beta*C.
[in]nOrder of the matrix C. (n >= 0) (If n = 0, returns without computation)
[in]kNumber of columns of the matrix A when trans = 'N', or number of rows of the matrix A when trans = 'T'. (k >= 0)
[in]alphaScalar alpha.
[in]ldaLeading 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]betaScalar beta.
[in]ldcLeading dimension of the two dimensional array c[][]. (ldc >= max(1, n))
[in,out]c[][]Array c[lc][ldc] (lc >= n)
[in] n x n symmetric matrix C. Only the upper or lower triangular part is to be referenced in accordance with uplo.
[out] n x n output symmetric matrix (= alpha*A*A^T + beta*C or alpha*A^T*A + beta*C). Only the upper or lower triangular part is overwritten in accordance with uplo.
Reference
BLAS