Bug #1331
adj: for matrices 7x7 and bigger
Description
adj
(previously adjoint
) gives a misleading and unnecessary error mesg if given a square matrix of dimension at least 7 over ZZ/(n)
where n
is not prime.
It should not give error because the adjoint exists, and can be computed.
Related issues
History
#1 Updated by John Abbott over 4 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
Here is a simple failing case:
ZZ25 ::= ZZ/(25); adj(IdentityMat(ZZ25,6)); --> this works adj(IdentityMat(ZZ25,7)); --> error ring is not SparsePolyRing!
#2 Updated by John Abbott over 4 years ago
- Related to Bug #15: Adjoint of a non-invertible matrix added
#3 Updated by John Abbott almost 4 years ago
- Status changed from In Progress to Resolved
- % Done changed from 10 to 80
There were two problems:
- (A) the dispatch function
ConstMatrixViewBase::myDet
inmatrix.C
was rather crude - (B) the impl of
DetDirect
required needlessly that the ring be a polyring (now fixed).
I have tried to improve myDet()
.
#4 Updated by John Abbott almost 4 years ago
- Assignee set to John Abbott
Now I have split DetDirect
into two fns: one generic and one for sparsepolyrings (where I can use geobuckets)
#5 Updated by John Abbott almost 4 years ago
I have added a test to test-bug1.C
#6 Updated by John Abbott over 3 years ago
- Status changed from Resolved to Closed
- % Done changed from 80 to 100
- Estimated time set to 1.17 h