Test solvers on MatrixMarket collections.
This test is located in Tests/solver_test001
###Brief
Test solvers and tune parameters on huge set of public domain matrices.
##Description
This test will run solvers in serial against symmetric or non-symmetric real problems from Harwell-Boing collection, Sparskit collection, NEP collection, and other collections available from http://math.nist.gov/MatrixMarket/.
Main purpose of this test is to assess robustness of internal solver during development. During develpement no performance gain should be accepted if as a results of the gain solver robustness narrows.
Another purpose is to tune solver's parameters for the optimal performance on some subset of matrices.
##Arguments
The test have three parameters:
- [integer] Solver type ..* 0 - BiCGStab(L) with second order ILU preconditioner ..* 1 - BiCGStab(L) with second order Crout-ILU preconditioner with inverse-based condition estimation and reordering for diagonal dominance ..* 2 - Petsc solvers ..* 3 - Aztec solver from Trilinos ..* 4 - Aztec solver from Trilinos with Ifpack preconditioner ..* 5 - Aztec solver from Trilinos with ML preconditioner ..* 6 - Belos solver from Trilinos, currently no preconditioner ..* 7 - serial BiCG with second order ILU from ANI3D package
- [string] Path to matrix
- [string] Path to file with options for solvers, may be empty
- [string] Path to right hand side, may be empty. If empty right hand side is filled with ones.
##CMake tests
Will generate lots of solver_test001_* tests.
To activate testing with options file add SOLVER_TEST001_OPTIONS_FILE string with the absolute path to file.
#Status
Currently internal solver INNER_MLILUC is capable of solving 00% of the whole set on default parameters.
##Source
- Source code is adopted from examples/MatSolve
- MatrixMarket http://math.nist.gov/MatrixMarket/