Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

DSS and singular matrix

Maria_Babikova
Beginner
355 Views
Hello,

I am using DSS with real symmetric indefinite matrices. Everything works fine and even beyond my expectations. It turned out that DSS digests also singular (degenerate) matrices! Even if, formally, singular is a special case of indefinite, it still seems to be too good... I checked the manual and searched forum, without finding any discussion of this behavior.

So the question is, may I indeed imply that a singular matrix will never produce a DSS error? I use the auto order option for reorder which is said to reduce the fill-in. That doesn't even sound like any pivoting is applied...
Thanks in advance for any information!

Maria

0 Kudos
1 Reply
Gennady_F_Intel
Moderator
355 Views
Maria,

By the default, Pardiso ( and DSS as the simplified interface of Pardiso) didnt check if your input matrix singular or not.

Its customer responsibility to check matrix singularity and solution after solver step. For symmetric indefinite matrices, the singularity can be checked with the help of matrix inertia .If a matrix is not singular, the number of zero eigenvalues computed asmatrix dimension iparm(22)- iparm(23) must be 0.

In any case we would recommend to check the residual error ||A*x-b||/||b|| first of all,

and to check iparm(14) which returns the number of perturbed pivots. If a matrix is not singular and iparm(14) > 0 we highly recommend to turn on iterative refinement by setting iparm(8) to the maximum number of iterative refinement steps. Iteretive refinement uses quad precision so it might help.

--Gennady
0 Kudos
Reply