Rodin/Solver/MUMPS.h file

MUMPS multifrontal sparse direct solver wrapper.

MUMPS factorizes a real square matrix with a multifrontal method, in parallel over MPI processes and threaded BLAS. A symmetric matrix is factorized as $ LDL^T $ , which stores roughly half the entries of the corresponding $ LU $ factorization.

MUMPS reads the matrix in coordinate format with one-based indices, whereas Rodin stores it as zero-based CSC. Only the two index arrays are converted, once per sparsity pattern. The values of an unsymmetric matrix are shared with MUMPS without a copy; a symmetric matrix is passed as its lower triangle and therefore requires one value copy per factorization.