linear equations over finite fields

68 views
Skip to first unread message

Martin R

unread,
Feb 28, 2024, 7:03:44 AM2/28/24
to sage-devel
Dear all,

I just discovered the following - was this a problem in earlier sage versions, too?


Best wishes,

Martin

sage: m = matrix(GF(3), [[2]])
sage: b = vector(GF(3), [1])
sage: m.solve_right(b)
(2)

sage: m = matrix(GF(3), [[2]], sparse=True)
sage: b = vector(GF(3), [1], sparse=True)
sage: m.solve_right(b)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[157], line 1
----> 1 m.solve_right(b)

File ~/sage/src/sage/matrix/matrix2.pyx:942, in sage.matrix.matrix2.Matrix.solve_right()
    940 else:
    941     try:
--> 942         X = self._solve_right_nonsingular_square(C, check_rank=True)
    943     except NotFullRankError:
    944         X = self._solve_right_general(C, check=check)

File ~/sage/src/sage/matrix/matrix_modn_sparse.pyx:948, in sage.matrix.matrix_modn_sparse.Matrix_modn_sparse._solve_right_nonsingular_square()
    946 if isinstance(B, Matrix):
    947     from sage.matrix.special import diagonal_matrix
--> 948     m, d = self._solve_matrix_linbox(B, algorithm)
    949     return m  * diagonal_matrix([QQ((1,x)) for x in d])
    950 else:

File ~/sage/src/sage/matrix/matrix_modn_sparse.pyx:1132, in sage.matrix.matrix_modn_sparse.Matrix_modn_sparse._solve_matrix_linbox()
   1130
   1131         cdef givaro.ZRing givZZ
-> 1132         cdef linbox.SparseMatrix_integer * A = new_linbox_matrix_integer_sparse(givZZ, self)
   1133         cdef linbox.DenseVector_integer * b = new linbox.DenseVector_integer(givZZ, <size_t> self._nrows)
   1134         cdef linbox.DenseVector_integer * res = new linbox.DenseVector_integer(givZZ, <size_t> self._ncols)

TypeError: Cannot convert sage.matrix.matrix_modn_sparse.Matrix_modn_sparse to sage.matrix.matrix_integer_sparse.Matrix_integer_sparse

Martin R

unread,
Feb 28, 2024, 8:35:36 AM2/28/24
to sage-devel
As it turns out after some digging, this is https://github.com/sagemath/sage/issues/28586 and set to "critical" since at least October 2019.

Martin R

unread,
Feb 28, 2024, 9:13:18 AM2/28/24
to sage-devel
Quick fix needs review.  Possibly checking for performance regressions would be good.
Reply all
Reply to author
Forward
0 new messages