linbox-team / linbox

LinBox - C++ library for exact, high-performance linear algebra
https://linbox-team.github.io/linbox
GNU Lesser General Public License v2.1
81 stars 28 forks source link

Full CRA charpoly and minpoly #211

Closed ClementPernet closed 5 years ago

ClementPernet commented 5 years ago

Currently the charpoly and minpoly over ZZ use early terminated Chinese Remainder, with a fixed number of stabilization checks. This is a heuristic algorithm and has caused user test-cases to fail ( see https://trac.sagemath.org/ticket/21579 and https://trac.sagemath.org/ticket/15535) In the previous release, we made the decision to leave the heuristic variant as a default, claiming we would adress the problem. We therefore patched LinBox in sage, and other packagers had to also patch the library. See https://trac.sagemath.org/ticket/24214#comment:17 and following comments We still did not address the problem, and I suggest the following changes implemented in this PR: