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.
Yes, we confirmed that this is the bug and the cause of the problem has been found. How important this issue is for you? Can you use the MKL_DSS_NON_SYMMETRIC case as a temporarily workaroud? we expect no performance degradation in that case.
Thank you for your quick response. I have not problem to use the option MKL_DSS_NON_SYMMETRIC and I check yesterday that the performance is not affected with a simple problem.