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, as well as University of Florida 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 100% of the whole set on default parameters.
##Source
- Source code is adopted from examples/MatSolve
- MatrixMarket http://math.nist.gov/MatrixMarket/
- University of Florida Collection http://www.cise.ufl.edu/research/sparse/matrices/