haskell-numerics / hmatrix

Linear algebra and numerical computation
381 stars 104 forks source link

Falsifiable pinv (linearSolveSVD) in hmatrix_tests 0.6.0.0 running against hmatrix-0.18.2.0 #275

Open blackgnezdo opened 6 years ago

blackgnezdo commented 6 years ago

I hit this more than once, here are the two most recent cases: ------ index +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ mult Double +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ sub-trans +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ ctrans +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ lu +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ inv (linearSolve) +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ luSolve +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ ldlSolve +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ cholSolve +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ luSolveLS +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests (5% trivial). +++ OK, passed 100 tests (5% trivial). ------ pinv (linearSolveSVD) *** Failed! Falsifiable (after 28 tests and 60 shrinks): (3><6) [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 6460095.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 1.5181503907759895 ]


------ index +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ mult Double +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ sub-trans +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ ctrans +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ lu +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ inv (linearSolve) +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ luSolve +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ ldlSolve +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ cholSolve +++ OK, passed 100 tests. +++ OK, passed 100 tests. ------ luSolveLS +++ OK, passed 100 tests. +++ OK, passed 100 tests. +++ OK, passed 100 tests (5% trivial). +++ OK, passed 100 tests (5% trivial). ------ pinv (linearSolveSVD) *** Failed! Falsifiable (after 13 tests and 499 shrinks): (10><8) [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.11302374887844432, 0.0, 0.0, 0.0, 0.0 , 0.0, 131.0, 0.0, 0.0, -24.0, 0.0, 0.0, 17.0 , 51.0, 0.0, 7.117319371983917, 0.0, -5.970717623000171, 0.0, -1.4878252909616483, -3.370199042384268 , -13.682617514169939, 0.0, 1.1111271381872156, 0.0, -44.0, -519.0679312249047, 38.502859993471425, 9.264377326948962 , -4.753260004044824, 0.0, -38.82582530332154, 0.0, 3.856491069595274, 27.51576787836445, -13.408033099886538, -20.58340955531684 , 0.0, 0.0, 9.318110596440784, 0.0, -11.691411541804765, 0.0, 4.0, 16.763376093099154 , -9.987971013835143, 12.0, -3.7671257541473593, 0.0, -4.298314947127785, 18.557575911648033, 116.40551706489872, 26.9456068738804 , 0.0, 0.0, 0.0, 94.0, -19.0, 0.0, 1.0, 18.516320018635504 , 5.661717279701737, 19.254972425308193, -4.333230577083135, -1.7075196892256788, 0.2918773409823073, 39.39638922249758, -28.799635474361274, -6.410197152646321 ]

idontgetoutmuch commented 6 years ago

Almost certainly a malformed test case.