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

◆ csc_zusadd()

void csc_zusadd ( int  m,
int  n,
doublecomplex  alpha,
const doublecomplex  val_a[],
const int  colptr_a[],
const int  rowind_a[],
int  base_a,
doublecomplex  beta,
const doublecomplex  val_b[],
const int  colptr_b[],
const int  rowind_b[],
int  base_b,
doublecomplex  val_c[],
int  colptr_c[],
int  rowind_c[],
int  base_c,
int  nnz_c,
int *  info 
)

C <- αA + βB (Complex matrices) (CSC)

Purpose
This routine performs the following matrix-matrix operation for sparse matrices A, B and C in CSC format.
C <- α*A + β*B
where α and β are scalars (complex numbers), and A, B and C are m x n complex sparse matrices.
Parameters
[in]mNumber of rows of the matrix. (m >= 0) (if m = 0, returns without computation)
[in]nNumber of columns of the matrix. (n >= 0) (if n = 0, returns without computation)
[in]alphaScalar alpha.
[in]val_a[]Array val_a[l_val_a] (l_val_a >= nnz_a) (nnz_a is the number of nonzero elements of A)
Values of nonzero elements of input matrix A.
[in]colptr_a[]Array colptr_a[l_colptr_a] (l_colptr_a >= n + 1)
Column pointers of input matrix A.
[in]rowind_a[]Array rowind_a[l_rowind_a] (l_rowind_a >= nnz_a) (nnz_a is the number of nonzero elements of A)
Row indices of input matrix A.
[in]base_aIndexing of colptr_a[] and rowind_a[].
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
[in]betaScalar beta.
[in]val_b[]Array val_b[l_val_b] (l_val_b >= nnz_b) (nnz_b is the number of nonzero elements of B)
Values of nonzero elements of input matrix B.
[in]colptr_b[]Array colptr_b[l_colptr_b] (l_colptr_b >= n + 1)
Column pointers of input matrix B.
[in]rowind_b[]Array rowind_b[l_rowind_b] (l_rowind_b >= nnz_b) (nnz_b is the number of nonzero elements of B)
Row indices of input matrix B.
[in]base_bIndexing of colptr_b[] and rowind_b[].
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
[out]val_c[]Array val_c[l_val_c]
Values of nonzero elements of output matrix C.
[out]colptr_c[]Array colptr_c[l_colptr_c] (l_colptr_c >= n + 1)
Column pointers of output matrix C.
[out]rowind_c[]Array rowind_c[l_rowind_c]
Row indices of output matrix C.
[in]base_cIndexing of colptr_c[] and rowind_c[].
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
[in]nnz_cEnter min(l_val_c, l_rowind_c). nnz_c must be not less than the number of nonzero elements of α*A + β*B.
[out]info= 0: Successful exit.
= i < 0: The (-i)-th argument is invalid.
= j > 0: nnz_c is too small. Exceeded during computing j-th column.