I compiled the latest version of the Eigen codebase for x64 with SSE3 enabled. ./umeyama_5 s1392390306 fails as follow:
Initializing random number generator with seed 1392390306
Repeating each test 10 times
Test (run_fixed_size_test<float, 4>(num_elements)) failed in /usr/local/google/home/bsteiner/EigenLatest/eigen/test/umeyama.cpp (154)
error < Scalar(10)*std::numeric_limits<Scalar>::epsilon()
- (run_fixed_size_test<float, 4>(num_elements))
- Seed: 1392390306
Aborted (core dumped)
I just tried this on Visual Studio 2013 and cannot reproduce the issue. Which compiler did you use?
I used gcc4.8 running on Ubuntu.
I can confirm this on Ubuntu with gcc4.6.3. Moreover, with 10000 repetitions it fails almost every time -- with 1000 repetitions ca 1 out of 5 times.
I assume these are merely false negatives and we should just slightly reduce the precision (maybe 16*eps instead of 10*eps).
Another problem was that the problem got ill-posed if the scaling factor was very small compared to the translation part.
I relaxed the test-case here:
-- GitLab Migration Automatic Message --
This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/744.