Open videlec opened 6 years ago
test-regression now shows it for the 1x3 matrix. with -D DEBUG there are at least: sparse elim: explicit catching of non square matrix within nonsingular solve blas elim: ERROR (at next in ../linbox/algorithms/lifting-container.h:461): Precondition not met:digit.size() == _lc._matA.rowdim()
Also: ERROR (at operator() in ../linbox/matrix/matrixdomain/blas-matrix-domain.inl:1190): Precondition not met:A.size() == B.getOrder()
also with sparse elim: ERROR (at LiftingContainerBase in ../linbox/algorithms/lifting-container.h:383): Precondition not met:m == n
With BLAS Elimination inconsistency is well catched.
There remains 2 Isolated problems: 1/ Solve on integer system with Wiedemann, never calls solve wiedemann but switches to BLAS or SparseLU 2/ SparseDixon does not handle inconsistent systems. One should be able to use the same code used for BLAS (QLUP factorization is there for both)
Similar to #56 I have troubles with solving modular sparse systems over GF(p). More precisely when using the function
solve
with the following field, matrix and vector classesI encountered these problems trying to do better integration within SageMath (see ticket 24544).
The default
solve
(without method specification) andBlasElimination
writesSystem is inconsistent
on the stdout (or stderr I am not sure) when the system has no solution.Wiedemann
andBlackbox
do not always find solution for rectangular system (this randomly might fail or not). Example tested in SageA = [[0,1,2]]
and vectorb = [1]
.A = [[1,1,1],[0,1,2]]
and vectorb = [0, 1]
.SparseElimination
finds solution when there is none. Tested withA = [[0]]
and vectorb = [1]
Wiedemann
andBlackbox
segfaults withA
the zero matrix andb
the zero vector (tested on 2x2 matrices)