Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
mkl_sparse_?_create_csc
Creates a handle for a matrix in CSC format.
Syntax
stat = mkl_sparse_s_create_csc ( A, indexing, rows, cols, cols_start, cols_end, row_indx, values )
stat = mkl_sparse_d_create_csc ( A, indexing, rows, cols, cols_start, cols_end, row_indx, values )
stat = mkl_sparse_c_create_csc ( A, indexing, rows, cols, cols_start, cols_end, row_indx, values )
stat = mkl_sparse_z_create_csc ( A, indexing, rows, cols, cols_start, cols_end, row_indx, values )
Include Files
mkl_spblas.f90
Description
The mkl_sparse_?_create_csc routine creates a handle for an \(m\) -by- \(k\) matrix \(A\) in Compressed Sparse Column (CSC) format and fills it with user provided data arrays.
Input Parameters
indexing
sparse_index_base_t .
Indicates how input arrays are indexed:
SPARSE_INDEX_BASE_ZERO |
Zero-based (C-style) indexing: indices start at 0. |
SPARSE_INDEX_BASE_ONE |
One-based (Fortran-style) indexing: indices start at 1. |
rows
C_INT .
Number of rows of matrix A .
cols
C_INT .
Number of columns of matrix A .
cols_start
C_INT .
Array of length \(cols\) for 4-array format and \(cols + 1\) for 3-array format.
This array contains offset indices, such that cols_start(i) - ind is the first index of column \(i\) in the arrays values and row_indx.
Here, ind takes a value of \(0\) for zero-based indexing and \(1\) for one-based indexing. Refer to pointerB array description in CSC Format for more details.
cols_end
C_INT .
Array of length \(cols\) for 4-array format and NULL or a dummy array for 3-array format.
This array contains offset indices, such that cols_end(i) - ind is one past the last index of column \(i\) in the arrays values and row_indx.
Here, ind takes a value of \(0\) for zero-based indexing and \(1\) for one-based indexing. Refer to pointerE array description in CSC Format for more details.
row_indx
C_INT .
For one-based indexing, array containing the row indices plus one for each non-zero element of the matrix A . For zero-based indexing, array containing the row indices for each non-zero element of the matrix A .
Its length is at least the number of elements stored, which can be computed as cols_end(cols - 1) - ind.
Here, ind takes a value of \(0\) for zero-based indexing and \(1\) for one-based indexing.
values
C_FLOAT |
for mkl_sparse_s_create_csc |
C_DOUBLE |
for mkl_sparse_d_create_csc |
C_FLOAT_COMPLEX |
for mkl_sparse_c_create_csc |
C_DOUBLE_COMPLEX |
for mkl_sparse_z_create_csc |
Array containing all stored elements (non-zeros and explicit zeros) of the matrix A . Its length is equal to length of the row_indx array. Refer to values array description in CSC Format for more details.
Output Parameters
- A
-
SPARSE_MATRIX_T. Handle containing internal data.
stat
INTEGER
Value indicating whether the operation was successful, and if not, why:
SPARSE_STATUS_SUCCESS |
The operation was successful. |
SPARSE_STATUS_NOT_INITIALIZED |
The routine encountered an empty handle or matrix array. |
SPARSE_STATUS_ALLOC_FAILED |
Internal memory allocation failed. |
SPARSE_STATUS_INVALID_VALUE |
The input parameters contain an invalid value. |
SPARSE_STATUS_EXECUTION_FAILED |
Execution failed. |
SPARSE_STATUS_INTERNAL_ERROR |
An error in algorithm implementation occurred. |
SPARSE_STATUS_NOT_SUPPORTED |
The requested operation is not supported. |
Return Values
See Output Parameter, stat.