Feature/cg condition estimate
Support a CG estimate according to Saad. Trivially works in parallel and should be accurate enough for most applications. Performance of CG without condition estimate should not be affected.
Don't know how it could be used for complex numbers, so for now, I just convert the CG coefficients to reals to ensure it at least compiles in that case.
I also fixed the ARPACK wrapper for matrix sizes < 20x20. (Before, it always told ARPACK to construct 20 Arnoldi vectors, which obviously does not work in those cases)
@dominic As for the test, it also passes if no Arpack is found. I guess this is the correct behaviour? (The estimation code also compiles fine without arpack, it only gives a cerr output if Arpack is not present and returns -1 as condition estimate)
Merge request reports
Activity
Also, your way of handling
std::complex
is dangerous IMO: It silently pretends to do something it does not. I would much rather have it tell the user that the feature is not implemented for complex numbers.Edited by Dominic Kempf@carsten.graeser I fixed the underscore. I think the rest complies with the coding style.
@dominic I think the test should still be run (although maybe with some warning?) if Arpack is not available, as the estimate still has to compile and fail gracefully in that case. About the complex numbers, is there a way for me to check if the field type is going to work with arpack?
added 1 commit
- 080d2249 - Only support float and double as field types for CG condition estimate
mentioned in commit ab33dd18
mentioned in merge request !120 (merged)
This breaks the CI. One reason for this (std::real is not supported for simd types) is fixed in !120 (merged).
However, the multirhs test still fails for reasons that seem to be located in dune/common/simd.hh.
@carsten.graeser Uuh, I am very sorry about that, I was mislead by the previous passing of CI. @linus.seelinger and me will fix any problems arising after !120 (merged)
The error is fixed with !120 (merged). Please review and merge if this is suitable.
The other issue I mentioned seems to be unrelated and is not revealed by the CI. It already shows up in fmatrixtest in dune-common on Ubuntu 17.04. I open an issue there.
mentioned in issue #39 (closed)
mentioned in issue #40 (closed)