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

PARDISO - Only trivial solution when solving for nullspace?

Arunachalam__Easun
599 Views

I have come across a curious issue when attempting to find the nullspace of a sparse structurally symmetric matrix A with PARDISO, i.e. solving the problem A x = b where b is the zero vector. When I set the RHS (the vector b) to be identically zero, I get only the trivial solution (x = the zero vector) with a residual of nan. However, when I make b arbitrarily small (e.g. all elements = 1e-16) I obtain a solution, but the residual is exceedingly high (on the order of 1, while the elements in the solution vector are on the order of 10^4).

Am I misusing PARDISO or are we intended to set b to some arbitrarily small value rather than zero when we wish to find the nullspace? Is there sample code that where the goal is to compute the nullspace specifically? I didn't encounter such problems when was a vector of ones. If PARDISO cannot compute the nullspace, is there another MKL function which allows for computation of the nullspace of large, real-valued, indefinite, structurally symmetric sparse matrices?

Thank you.

0 Kudos
1 Reply
Alexander_K_Intel2
599 Views

Hi,

In case of degenerate matrix pardiso find only one solution so it cannot be used for finding set of solution. For your problem it is better to use EE functionality (https://software.intel.com/en-us/mkl-developer-reference-c-extended-eigensolver-routines) - multiply matrix on itself transpose and find zero eigenvectors of resulted matrix 

Thanks,

Alex

0 Kudos
Reply