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

◆ csc_zusmv()

void csc_zusmv ( char  trans,
int  m,
int  n,
doublecomplex  alpha,
const doublecomplex  val[],
const int  colptr[],
const int  rowind[],
int  base,
const doublecomplex  x[],
int  incx,
doublecomplex  beta,
doublecomplex  y[],
int  incy,
int *  info 
)

y <- αAx + βy, y <- αATx + βy or y <- αAHx + βy (Complex matrices) (CSC)

Purpose
This function performs one of the following matrix-vector operations for a sparse matrix in CSC format.
y <- αAx + βy, y <- αA^Tx + βy or y <- αA^Hx + βy
where α and β are scalars, x and y are vectors and A is an m x n sparse matrix.
Parameters
[in]transSpecifies the operation to be performed.
= 'N': y <- y <- αAx + βy.
= 'T': y <- αA^Tx + βy.
= 'C': y <- αA^Hx + βy.
[in]mNumber of rows of matrix A. (m >= 0) (If m = 0, returns without computation)
[in]nNumber of columns of matrix A. (n >= 0) (If n = 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]colptr[]Array colptr[lcolptr] (lcolptr >= n + 1)
Column pointers of matrix A.
[in]rowind[]Array rowind[lrowind] (lrowind >= nnz)
Row indices of matrix A (where nnz is the number of nonzero elements).
[in]baseIndexing of colptr[] and rowind[].
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
[in]x[]Array x[lx] (lx >= 1 + (n - 1)*|incx| (trans = 'N'), lx >= 1 + (m - 1)*|incx| (trans = 'T' or 'C'))
Vector x.
[in]incxStorage spacing between elements of x[].
[in]betaScalar β.
[in,out]y[]Array y[ly] (ly >= 1 + (m - 1)*|incy| (trans = 'N'), ly >= 1 + (n - 1)*|incy| (trans = 'T' or 'C'))
[in] Input vector y (If beta is supplied as zero, y[] needs not be set on input).
[out] Output vector. (= αAx + βy)
[in]incyStorage spacing between elements of y[].
[out]info= 0: Successful exit.
= i < 0: The (-i)-th argument is invalid.