Skip to content

sparseqr test fails with seed of 1

Submitted by Philipp Schrader

Assigned to Nobody

Link to original bugzilla bug (#1719)
Version: 3.3 (current stable)
Platform: x86 - 64-bit

Description

In our test infrastructure we happen to be using a random seed of 1 for eigen tests.

I'm trying to upgrade to 3.3.7 (latest stable AFAICT), but am running into the following failure.

Everything else appears to work fine:

$ rm -f split_test_helper.h

$ for i in $(seq 1 999); do cat <<END >> split_test_helper.h

#define CALL_SUBTEST_${i}(FUNC) CALL_SUBTEST(FUNC)

#define EIGEN_TEST_PART_${i}

END

done

$ g++ -o foo -isystem. test/sparseqr.cpp -DEIGEN_TEST_FUNC=sparseqr

$ ./foo

Initializing random number generator with seed 1558638101

Repeating each test 10 times

$ EIGEN_SEED=1 ./foo

Initializing random number generator with seed 1

Repeating each test 10 times

Difference too large wrt tolerance 1e-06, relative error is: 8701.87

Test test_sparseqr_scalar<std::complex<double> >() failed in test/sparseqr.cpp (95)

verifyIsApprox(A * x, b)  

Stack:

  • test_sparseqr_scalar<std::complex<double> >()

  • sparseqr

  • Seed: 1

Aborted

$

I am not familiar enough with matrix operations to figure out if this is just an issue with the randomness generation or an actual bug.

I've switched our random seed to 100 and everything appears happy once again.

Blocking

#1608