Open JensWehner opened 4 years ago
We can use TEMPLATE_TEST_CASE (or even fancier, depending on catch2 version) to quickly enable support for various types in our tests : https://github.com/catchorg/Catch2/blob/master/docs/test-cases-and-sections.md#type-parametrised-test-cases
Within the Catch2 framework we need small testcases for the Symmetric Davidson case.
They have to cover the following aspects:
datatypes: float, double, std::complex, std::complex
selection rules: min and max
and the following error conditions: number of iterations exceeded without convergence, input of the already diagonlized matrix, some sort of numerically unstable problem(degeneracy)
and validation of input parameters: too large searchspace too many eigenvalues requested.
it has to cover restarts/deflation
reference values can be obtained from the Eigen solvers for dense matrices.
one test case should include a user defined matrixproduct.