Closed lzcohen closed 2 months ago
Confirmed.
Since #24829, .zero_matrix()
passes the zero of the base ring of the matrix space into MatrixArgs
, but MatrixArgs
tries to call ._matrix_()
on it before even checking whether it's an appropriate scalar
S(A.one())
is still broken after that for the same reason.I've fixed that now too.
Steps To Reproduce
G = CyclicPermutationGroup(7); R = GF(2); A = G.algebra(R); S = MatrixSpace(A, 3, 3); S.zero_matrix()
Expected Behavior
This should return the matrix [[0,0,0],[0,0,0],[0,0,0]]
Actual Behavior
ValueError Traceback (most recent call last) Cell In[11], line 1 ----> 1 S.zero_matrix()
File /private/var/tmp/sage-10.3-current/local/var/lib/sage/venv-python3.11.8/lib/python3.11/site-packages/sage/misc/cachefunc.pyx:2329, in sage.misc.cachefunc.CachedMethodCallerNoArgs.call (build/cythonized/sage/misc/cachefunc.c:16253)() 2327 if self.cache is None: 2328 f = self.f -> 2329 self.cache = f(self._instance) 2330 return self.cache 2331
File /private/var/tmp/sage-10.3-current/local/var/lib/sage/venv-python3.11.8/lib/python3.11/site-packages/sage/matrix/matrix_space.py:1999, in MatrixSpace.zero_matrix(self) 1971 """ 1972 Return the zero matrix in
self
. 1973 (...) 1996 False 1997 """ 1998 zero = self.base_ring().zero() -> 1999 res = self.element_class(self, zero, False, False) 2000 res.set_immutable() 2001 return resFile /private/var/tmp/sage-10.3-current/local/var/lib/sage/venv-python3.11.8/lib/python3.11/site-packages/sage/matrix/matrix_generic_dense.pyx:81, in sage.matrix.matrix_generic_dense.Matrix_generic_dense.init (build/cythonized/sage/matrix/matrix_generic_dense.c:5528)() 79 [x y] 80 """ ---> 81 ma = MatrixArgs_init(parent, entries) 82 self._entries = ma.list(coerce) 83
File /private/var/tmp/sage-10.3-current/local/var/lib/sage/venv-python3.11.8/lib/python3.11/site-packages/sage/matrix/args.pyx:1390, in sage.matrix.args.MatrixArgs_init (build/cythonized/sage/matrix/args.c:21785)() 1388 ret.entries = entries 1389 ret.set_space(space) -> 1390 ret.finalize() 1391 return ret
File /private/var/tmp/sage-10.3-current/local/var/lib/sage/venv-python3.11.8/lib/python3.11/site-packages/sage/matrix/args.pyx:930, in sage.matrix.args.MatrixArgs.finalize (build/cythonized/sage/matrix/args.c:15152)() 928 if self.typ == MA_ENTRIES_MATRIX: 929 m =self.entries
--> 930 self.set_nrows(m._nrows)
931 self.set_ncols(m._ncols)
932 self.setdefault_base(m._parent._base)
File /private/var/tmp/sage-10.3-current/local/var/lib/sage/venv-python3.11.8/lib/python3.11/site-packages/sage/matrix/args.pxd:104, in sage.matrix.args.MatrixArgs.set_nrows (build/cythonized/sage/matrix/args.c:6653)() 102 cdef long p = self.nrows 103 if p != -1 and p != n: --> 104 raise ValueError(f"inconsistent number of rows: should be {p} but got {n}") 105 self.nrows = n 106
ValueError: inconsistent number of rows: should be 3 but got 7
Additional Information
No response
Environment
Checklist