Skip to content

Commit a249a44

Browse files
Merge pull request #2144 from fredrik-johansson/rref
Improve algorithm selection in fmpz_mat_rref
2 parents c9c581c + 8b0b8cf commit a249a44

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/fmpz_mat/rref.c

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright (C) 2011-2012 Fredrik Johansson
2+
Copyright (C) 2011-2012, 2025 Fredrik Johansson
33
Copyright (C) 2014 Alex J. Best
44
55
This file is part of FLINT.
@@ -15,9 +15,10 @@
1515
slong
1616
fmpz_mat_rref(fmpz_mat_t R, fmpz_t den, const fmpz_mat_t A)
1717
{
18-
if (FLINT_MIN(A->c, A->r) <= 20)
19-
return fmpz_mat_rref_fflu(R, den, A);
20-
else if (A->r <= 105 && A->c >= 1.4 * A->r)
18+
slong r = A->r;
19+
slong c = A->c;
20+
21+
if (r <= 3 || c <= 2 || (r <= 20 && c > r) || (r > 20 && r <= 100 && c > r + (r - 20) / 80.0 * r))
2122
return fmpz_mat_rref_fflu(R, den, A);
2223
else
2324
return fmpz_mat_rref_mul(R, den, A);

0 commit comments

Comments
 (0)