Intel® Math Kernel Library 2018 Developer Reference - C

sparse_matrix_checker

Checks correctness of sparse matrix.

Syntax

MKL_INT sparse_matrix_checker (sparse_struct* handle);

Include Files

Description

The sparse_matrix_checker routine checks a user-defined array used to store a sparse matrix in order to detect issues which could cause problems in routines that require sparse input matrices, such as Intel MKL PARDISO, DSS, or Sparse BLAS.

Input Parameters

handle

Pointer to the data structure describing the sparse array to check.

Return Values

The routine returns a value error. Additionally, the check_result parameter returns information about where the error occurred, which can be used when message_level is MKL_NO_PRINT.

Sparse Matrix Checker Error Values

error value

Meaning

Location

MKL_SPARSE_CHECKER_SUCCESS

The input array successfully passed all checks.

 

MKL_SPARSE_CHECKER_NON_MONOTONIC

The input array is not 0 or 1 based (, ia[0] is not 0 or 1) or elements of ia are not in non-decreasing order as required.

C:

ia[i] and ia[i + 1] are incompatible.

check_result[0] = i

check_result[1] = ia[i]

check_result[2] = ia[i + 1]

MKL_SPARSE_CHECKER_OUT_OF_RANGE

The value of the ja array is lower than the number of the first column or greater than the number of the last column.

C:

ia[i] and ia[i + 1] are incompatible.

check_result[0] = i

check_result[1] = ia[i]

check_result[2] = ia[i + 1]

MKL_SPARSE_CHECKER_NONTRIANGULAR

The matrix_structure parameter is MKL_UPPER_TRIANGULAR and both ia and ja are not upper triangular, or the matrix_structure parameter is MKL_LOWER_TRIANGULAR and both ia and ja are not lower triangular

C:

ia[i] and ja[j] are incompatible.

check_result[0] = i

check_result[1] = ia[i] = j

check_result[2] = ja[j]

MKL_SPARSE_CHECKER_NONORDERED

The elements of the ja array are not in non-decreasing order in each row as required.

C:

ia[i] and ia[i + 1] are incompatible.

check_result[0] = j

check_result[1] = ja[j]

check_result[2] = ja[j + 1]

See Also