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

◆ csc_ssc()

void csc_ssc ( char  uplo,
int  n,
const double  val[],
const int  colptr[],
const int  rowind[],
int  base,
int  maxnnz2,
double  val2[],
int  colptr2[],
int  rowind2[],
int  base2,
int *  info 
)

CSC (symmetric full matrix) -> SSC (CSC sparse matrix packed form)

Purpose
This routine converts the general CSC sparse matrix containing all elements to the symmetric CSC sparse matrix containing only upper or lower triangular elements.

In current version, the triangular elements (not including diagonal elements) other than specified by uplo in input matrix will be simply ignored, and it is not tested if it is symmetric matrix.
Parameters
[in]uploSpecifies whether the upper or lower triangular part is stored in the output matrix.
= 'U': Upper triangular part.
= 'L': Lower triangular part.
[in]nNumber of rows and columns of matrix. (n >= 0) (if n = 0, returns without computation)
[in]val[]Array val[lval] (lval >= nnz) (nnz is the number of nonzero elements of input matrix)
Values of nonzero elements of input matrix.
[in]colptr[]Array colptr[lcolptr] (lcolptr >= n + 1)
Column pointers of input matrix.
[in]rowind[]Array rowind[lrowind] (lrowind >= nnz)
Row indices of input matrix.
[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]maxnnz2Size of arrays val2[] and rowind2[] (must be greater than the number of nonzero elements of the upper or lower triangular part of input matrix). (maxnnz2 > 0)
[out]val2[]Array val2[lval2] (lval2 >= maxnnz2)
Values of nonzero elements of output matrix.
[out]colptr2[]Array colptr2[lcolptr2] (lcolptr2 >= n + 1)
Column pointers of output matrix.
[out]rowind2[]Array rowind2[lrowind2] (lrowind2 >= maxnnz2)
Row indices of output matrix.
[in]base2Indexing of colptr2[] and rowind2[].
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
[out]info= 0: Successful exit.
= i < 0: The (-i)-th argument is invalid.
= j > 0: j elements in input matrix were ignored.