Project

General

Profile

Feature #1277

Gaussian row reduction

Added by John Abbott almost 5 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
New Function
Target version:
Start date:
30 Apr 2019
Due date:
% Done:

100%

Estimated time:
1.99 h
Spent time:

Description

Julian Danner (Passau) would like CoCoA to offer matrix row reduction via gaussian elimination.

Discuss, design, implement.

History

#1 Updated by John Abbott almost 5 years ago

The request seems reasonable to me.

Not yet sure what the best design might be, but I suggest the following as a start:
  • assume input matrix is over a field (so we may divide by any non-zero)
  • output could be a triple: row-permutation, column-permutation, and "echelon" matrix

The interpretation is that we apply the permutations to the rows and cols of the input matrix, then we do gaussian row reduction (from left to right, and always using the element in position (k,k) as pivot, unless this element is zero in which case the rest of the matrix is zero).

Perhaps I'll look to see what NTL offers...

#2 Updated by John Abbott almost 5 years ago

NTL's doc shows just one fn gauss which accepts 2 args: matrix M and an optional integer w (default is number of rows in M); it computes row reduction on the first w rows of M.

Mmm, maybe my design is too complicated? :-/

#3 Updated by John Abbott over 4 years ago

  • Status changed from New to In Progress
  • Assignee set to John Abbott
  • % Done changed from 0 to 30

I have a prototype which seems to work.
It is very simple: accepts a matrix, and returns a matrix. No smarts inside; works by columns from left to right.
A couple of quick tests worked.

No doc; no official tests (yet).

#4 Updated by John Abbott about 4 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 30 to 90

Now documented. CoCoALib and CoCoA-5.
Do we really need a test?

#5 Updated by John Abbott about 4 years ago

  • Status changed from Feedback to Closed
  • % Done changed from 90 to 100
  • Estimated time set to 1.99 h

I have added a test to test-matrix2.C.

Also available in: Atom PDF