# What type of solver does Mathematica use in LinearSolve

I have a question regarding linear equation solvers. For a specific 9x9 diagonal matrix, every method I tried in C++ (Gaus, GCC, BICGTAB ) wouldn't work, although these methods would work fine for different matrices. In Mathematica LinearSolve gave a solution for this matrix.

So my question is: What type of solver does Mathematica use in LinearSolve?

-
How on earth can any solver fail on a diagonal matrix? –  Rahul Narain Mar 12 at 21:10
It is not diagonal matrix how edit gpap but 9-diagonal matrix from FEM discretization. –  user7489 Mar 13 at 10:22

• SparseArray with rules involving patterns uses cylindrical algebraic decomposition to find connected array components. Sparse arrays are stored internally using compressed sparse row formats, generalized for tensors of arbitrary rank.
• BLAS technology is used to optimize for particular machine architectures. LUDecomposition, Inverse, RowReduce, and Det use Gaussian elimination with partial pivoting. LinearSolve uses the same methods, together with adaptive iterative improvement for high-precision numbers.
• For sparse arrays, LinearSolve uses UMFPACK multifrontal direct solver methods and with Method->"Krylov" uses Krylov iterative methods preconditioned by an incomplete LU factorization. For high-precision numbers, it uses adaptive iterative improvement methods. Eigenvalues and Eigenvectors use ARPACK Arnoldi methods.