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

◆ csr_zusmm()

void csr_zusmm ( char  trans,
char  order,
int  m,
int  n,
int  nrhs,
doublecomplex  alpha,
const doublecomplex  val[],
const int  rowptr[],
const int  colind[],
int  base,
int  ldb,
const doublecomplex  b[],
doublecomplex  beta,
int  ldc,
doublecomplex  c[],
int *  info 
)

C <- αAB + βC, C <- αATB + βC or C <- αAHB + βC (Complex matrices) (CSR)

Purpose
This function performs one of the following matrix-vector operations for a sparse matrix in CSR format.
C <- αAB + βC, C <- αA^TB + βC or C <- αA^HB + βC
where α and β are scalars, A, A^T or A^H is an m x n sparse matrix, B is an n x nrhs dense matrix, and C is an m x nrhs dense matrix.
Parameters
[in]transSpecifies the operation to be performed.
= 'N': C <- αAB + βC.
= 'T': C <- αA^TB + βC.
= 'C': C <- αA^TB + βC.
[in]orderStorage order of b[] and c[].
= 'C': Column major.
= 'R': Row major.
[in]mNumber of rows of matrix A, A^T or A^H. (m >= 0) (If m = 0, returns without computation)
[in]nNumber of columns of matrix A, A^T or A^H. (n >= 0) (If n = 0, returns without computation)
[in]nrhsNumber of columns of matrices B and C. (nrhs >= 0) (if nrhs = 0, returns without computation)
[in]alphaScalar α
[in]val[]Array val[lval] (lval >= nnz)
Values of nonzero elements of matrix A (where nnz is the number of nonzero elements).
[in]rowptr[]Array rowptr[lrowptr] (lrowptr >= n + 1)
Row pointers of matrix A.
[in]colind[]Array colind[lcolind] (lcolind >= nnz)
Column indices of matrix A (where nnz is the number of nonzero elements).
[in]baseIndexing of rowptr[] and colind[].
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
[in]ldbLeading dimension of two dimensional array b[]. (ldb >= n)
[in]b[]Array b[lb] (lb >= n*nrhs)
Matrix B.
[in]betaScalar β.
[in]ldcLeading dimension of two dimensional array c[]. (ldc >= m)
[in,out]c[]Array c[lc] (lc >= m*nrhs)
[in] Input matrix C (If beta is supplied as zero, c[] needs not be set on input).
[out] Output matrix (= αAB + βC).
[out]info= 0: Successful exit.
= i < 0: The (-i)-th argument is invalid.