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 FORTRAN 77 interface is specified in the mkl_dss.f77 include file, the Fortran 90 interface is specified in the mkl_dss.f90 include file, and the C interface is specified in the mkl_dss.h include file.
The routine dss_define_structure communicates the locations of the nNonZeros number of non-zero elements in a matrix of nRows by nCols size to the solver.
Note that currently the Intel MKL DSS software operates only on square matrices, so nRows must be equal to nCols.
To communicate the locations of non-zeros 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:
and for complex matrices: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 starting from the 10.2 release.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). |
Copyright © 1994 - 2010, Intel Corporation. All rights reserved.