I am using the DSS from MKL to solve the linear system of equations Ax=b, for which the resulting matrix A is sparse and not symmetric, but its structure is symmetric.
Concerning the options, I am using MKL_DSS_SYMMETRIC_STRUCTURE in the definition of the structure and MKL_DSS_INDEFINITE in the factorization.
I am using the following example (15*15 matrix in attachment) to try and solve a system considering that the matrix A is sparse. Unfortunately, the DSS solver gives an error of “MKL-DSS-DSS-Error, Zero Pivot detected”, but the matrix is non-singular. The determinant of the matrix is about -3.1e+62 (calculated in excel) and I get the solution both in excel and matlab.
When I switch the definition of the matrix structure for MKL_DSS_NON_SYMMETRIC, I get the correct solution. I don’t understand why!
In order to understand this problem I create a new subroutine. Using the initial definition of matrix structure, I give all elements of A as non-zero (dense matrix), I am not take advantage of the sparse matrix. With this structure, DSS solver gives the correct solution.
Someone can help me why I cannot use the MKL_DSS_SYMMETRIC_STRUCTURE definition in the sparse matrix structure.
Both subroutines are in attachment.