-
-
Notifications
You must be signed in to change notification settings - Fork 654
Closed
Description
I have a particular matrix on which computing .right_kernel() by Sage 9.4 results in "SignalError: Illegal instruction". Sage 9.4 is installed from sage-9.4-Ubuntu_20.04-x86_64.tar.bz2
I see the same problem in Sage 9.3, but not in Sage 9.2. The screenlog from Sage 9.4 is quoted below. The file bug_illegal_kernel.sage and the output of lscpu are attached.
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.4, Release Date: 2021-08-22 │
│ Using Python 3.9.5. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
sage: load("bug_illegal_kernel.sage")
---------------------------------------------------------------------------
SignalError Traceback (most recent call last)
<ipython-input-1-5e05d00e2706> in <module>
----> 1 load("bug_illegal_kernel.sage")
/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/misc/persist.pyx in sage.misc.persist.load (build/cythonized/sage/misc/persist.c:2563)()
171
172 if sage.repl.load.is_loadable_filename(filename):
--> 173 sage.repl.load.load(filename, globals())
174 return
175
/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/repl/load.py in load(filename, globals, attach)
270 add_attached_file(fpath)
271 with open(fpath) as f:
--> 272 exec(preparse_file(f.read()) + "\n", globals)
273 elif ext == '.spyx' or ext == '.pyx':
274 if attach:
<string> in <module>
/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/matrix/matrix2.pyx in sage.matrix.matrix2.Matrix.right_kernel (build/cythonized/sage/matrix/matrix2.c:31019)()
4715
4716 # Go get the kernel matrix, this is where it all happens
-> 4717 M = self.right_kernel_matrix(*args, **kwds)
4718
4719 ambient = R**self.ncols()
/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/matrix/matrix2.pyx in sage.matrix.matrix2.Matrix.right_kernel_matrix (build/cythonized/sage/matrix/matrix2.c:29656)()
4316 if M is None:
4317 try:
-> 4318 format, M = self._right_kernel_matrix(algorithm=algorithm, proof=proof)
4319 except AttributeError:
4320 pass
/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/matrix/matrix_integer_dense.pyx in sage.matrix.matrix_integer_dense.Matrix_integer_dense._right_kernel_matrix (build/cythonized/sage/matrix/matrix_integer_dense.cpp:22522)()
2694 proof = kwds.pop('proof', None)
2695 proof = get_proof_flag(proof, "linear_algebra")
-> 2696 K = self._rational_kernel_iml().transpose().saturation(proof=proof)
2697 format = 'computed-iml-int'
2698 else:
/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/matrix/matrix_integer_dense.pyx in sage.matrix.matrix_integer_dense.Matrix_integer_dense._rational_kernel_iml (build/cythonized/sage/matrix/matrix_integer_dense.cpp:32421)()
3882 time = verbose('computing null space of %s x %s matrix using IML'%(self._nrows, self._ncols))
3883 cdef mpz_t * m = fmpz_mat_to_mpz_array(self._matrix)
-> 3884 sig_on()
3885 dim = nullspaceMP(self._nrows, self._ncols, m, &mp_N)
3886 sig_off()
SignalError: Illegal instruction
Also reported on this aks question
Component: linear algebra
Reviewer: Michael Orlitzky
Issue created by migration from https://trac.sagemath.org/ticket/32447