CT-HYB should check Eigen3 version
Closed this issue · 5 comments
The code uses determinant()
method on a permutation matrix, which was introduced only in version 3.3.
It would be good to insert required version at https://github.com/ALPSCore/CT-HYB/blob/master/CMakeLists.txt#L55 .
Hmm, the code uses determinant() method on a general matrix (Eigen::Matrix).
The code seems to compile with Eigen3.2.10.
I have not yet tried myself, but a user reports the following error (with version 1.0.0, but the corresponding code seems to not have changed since then):
/home/soumen/soft/alps_core/CT-HYB-1.0.0/include/alps/fastupdate/./detail/util.hpp:208:54: error: ‘const PermutationQType’ has no member named ‘determinant’
results[0] *= lu.permutationP().determinant()*lu.permutationQ().determinant();
The corresponding code line calls determinant()
on the result of permutationP()
which returns a permutationPType
object which is a permutation matrix. In the latest version it does have method determinant()
but it seems it was introduced only in version 3.3.
Thank you. I will introduce a version check.
I've introduced a version check (3.3 is required).
But it seems to be too strict. I will relax it to 3.2.8.
It's now done.