Project

General

Profile

Bug #1331

adj: for matrices 7x7 and bigger

Added by John Abbott over 4 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Maths Bugs
Target version:
Start date:
08 Oct 2019
Due date:
% Done:

100%

Estimated time:
1.17 h
Spent time:

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

Related to CoCoALib - Bug #15: Adjoint of a non-invertible matrixClosed2011-10-28

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 over 3 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 in matrix.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 over 3 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 over 3 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

Also available in: Atom PDF