ALPSCore / CT-HYB

ALPS Hybridization Expansion Matrix Code
GNU General Public License v2.0
16 stars 13 forks source link

CT-HYB should check Eigen3 version #6

Closed galexv closed 7 years ago

galexv commented 7 years ago

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 .

shinaoka commented 7 years ago

Hmm, the code uses determinant() method on a general matrix (Eigen::Matrix). The code seems to compile with Eigen3.2.10.

galexv commented 7 years ago

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.

shinaoka commented 7 years ago

Thank you. I will introduce a version check.

shinaoka commented 7 years ago

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.

shinaoka commented 7 years ago

It's now done.