Update ConstraintSystem to use a sparse representation for entries in a row. Most rows only contain a small number of variables, so the sparse representation can result in significant speedups. For a large test case from D135915, it halves the time spent in ConstraintElimination. To ensure this returns the same results as the old implementation in all cases, I built a large set of projects with an extra assertion that it produces the same result as the old implementation.
6.7 KiB
6.7 KiB