Is it possible to output the matrix condition number from pardiso (MKL)? [closed]

I am assuming the pardiso solver calculates (or estimates) the condition number before proceeding to the solution phase.

Is there a way to make pardiso output the condition number?

Alternatively, minimum and maximum eigenvalue are of course also okay.

I can also output the matrix in matrix-market format and do the calculation with e.g. scipy, but that operation is rather unpleasant for large matrices.

• Pardiso is a direct solver and as such I do not expect it to check for ill-conditionedness up front. Rather, one typically discovers ill-conditionedness as one finds pivots that are too small. However, this only tells you that the matrix is ill-conditioned, or singular, but not necessarily an estimate of the condition number. On the other hand, if Pardiso does something like an LU decomposition (which I'm not sure it does) then the eigenvalues of the matrix end up being the diagonal elements of one of the factors and computing a condition number estimate would be simple. Oct 15, 2014 at 14:34
• @ChristianClason: All the functions you linked apply to dense matrices, correct? Oct 15, 2014 at 15:17
• @WolfgangBangerth: You could migrate your comment to an answer, since it essentially answers the question. Oct 15, 2014 at 18:28
• @ChristianClason: Same as Wolfgang; you've essentially answered the question. Oct 15, 2014 at 18:28
• @GeoffOxberry done. But the OP has already asked an improved version of this question, so maybe closing this version would make more sense. Oct 15, 2014 at 20:08

For the rare cases when one wants to know the condition number without solving a linear system, dedicated routines exist. For example, LAPACK (which is bundled in Intel's MKL) provides the ???con routines (see https://software.intel.com/en-us/node/520910) for dense matrices. Routines for estimating (computing would be infeasible) the condition number of large sparse matrices (based on Krylov methods for computing approximate eigenvalues) also exist, but are not bundled in the MKL. If this is what you need to do, you have to look at one of the dedicated packages for sparse linear algebra such as PETSc (see How can I estimate the condition number of a large sparse matrix using PETSc?) or Trilinos (look for IFPACK in the documentation).