Communicates locations of non-zero elements in the matrix to the solver.
C:
dss_define_structure(handle, opt, rowIndex, nRows, nCols, columns, nNonZeros);
FORTRAN:
call dss_define_structure(handle, opt, rowIndex, nRows, nCols, columns, nNonZeros);
The routine dss_define_structure communicates the locations of the nNonZeros number of non-zero elements in a matrix of nRows * nCols size to the solver.
The Intel MKL DSS software operates only on square matrices, so nRows must be equal to nCols.
To communicate the locations of non-zero elements in the matrix, do the following:
Define the general non-zero structure of the matrix by specifying the value for the options argument opt. You can set the following values for real matrices:
MKL_DSS_SYMMETRIC_STRUCTURE
MKL_DSS_SYMMETRIC
MKL_DSS_NON_SYMMETRIC
MKL_DSS_SYMMETRIC_STRUCTURE_COMPLEX
MKL_DSS_SYMMETRIC_COMPLEX
MKL_DSS_NON_SYMMETRIC_COMPLEX
The information about the matrix type must be defined in dss_define_structure.Provide the actual locations of the non-zeros by means of the arrays rowIndex and columns (see Sparse Matrix Storage Format).
Name |
Type |
Description |
---|---|---|
opt |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: _INTEGER_t const* |
Parameter to pass the DSS options. The default value for the matrix structure is MKL_DSS_SYMMETRIC. |
rowIndex |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: _INTEGER_t const* |
Array of size min(nRows, nCols)+1. Defines the location of non-zero entries in the matrix. |
nRows |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: _INTEGER_t const* |
Number of rows in the matrix. |
nCols |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: _INTEGER_t const* |
Number of columns in the matrix. |
columns |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: _INTEGER_t const* |
Array of size nNonZeros. Defines the location of non-zero entries in the matrix. |
nNonZeros |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: _INTEGER_t const* |
Number of non-zero elements in the matrix. |
Name |
Type |
Description |
---|---|---|
handle |
FORTRAN 77: INTEGER*8 Fortran 90: TYPE (MKL_DSS_HANDLE), INTENT(INOUT) C: _MKL_DSS_HANDLE_t* |
Pointer to the data structure storing intermediate DSS results (MKL_DSS_HANDLE). |