Compute the rank of an integer matrix in place over a finite field by Gaussian elimination.
More...
#include <matrix-rank.h>
|
typedef _Ring | Ring |
| Ring ?
|
|
typedef _Field | Field |
| Field ?
|
|
|
| MatrixRank (const Ring &_r=Ring(), const _RandomPrime &_rp=_RandomPrime()) |
| Constructor. More...
|
|
template<class IMatrix > |
long | rank (const IMatrix &A) const |
| compute the integer matrix A by modulo a random prime, Monto-Carlo. More...
|
|
template<class IRing > |
long | rank (const BlasMatrix< IRing > &A) const |
| Specialisation for BlasMatrix. More...
|
|
template<class Row > |
long | rank (const SparseMatrix< Ring, Row > &A) const |
| Specialisation for SparseMatrix Computation done by mapping to a random modular matrix. More...
|
|
long | rankIn (BlasMatrix< Field > &Ap) const |
| Specialisation for BlasMatrix (in place). More...
|
|
template<class Field , class Row > |
long | rankIn (SparseMatrix< Field, Row > &A) const |
| Specialisation for SparseMatrix, in place. More...
|
|
|
Ring | r |
| Ring ?
|
|
_RandomPrime | rp |
| Holds the random prime for Monte-Carlo rank.
|
|
template<class _Ring, class _Field, class _RandomPrime = PrimeIterator<>>
class LinBox::MatrixRank< _Ring, _Field, _RandomPrime >
Compute the rank of an integer matrix in place over a finite field by Gaussian elimination.
- Bug:
- there is no generic
rankIn
method.
◆ MatrixRank()
Constructor.
- Parameters
-
_r | ring (default is Ring) |
_rp | random prime generator (default is template provided) |
◆ rank() [1/3]
long rank |
( |
const IMatrix & |
A | ) |
const |
|
inline |
compute the integer matrix A by modulo a random prime, Monto-Carlo.
This is the generic method (mapping to a random modular matrix).
- Parameters
-
- Returns
- the rank of A.
◆ rank() [2/3]
Specialisation for BlasMatrix.
Computation done by mapping to a random modular matrix.
- Parameters
-
- Returns
- the rank of A.
- Bug:
- we suppose we can map IRing to Field...
bug the following should work :
◆ rank() [3/3]
long rank |
( |
const SparseMatrix< Ring, Row > & |
A | ) |
const |
|
inline |
Specialisation for SparseMatrix Computation done by mapping to a random modular matrix.
- Parameters
-
- Returns
- the rank of A.
- Bug:
- we suppose we can map IRing to Field...
◆ rankIn() [1/2]
Specialisation for BlasMatrix (in place).
Generic (slow) elimination code.
- Parameters
-
- Returns
- its rank
- Warning
- The matrix is on the Field !!!!!!!
◆ rankIn() [2/2]
long rankIn |
( |
SparseMatrix< Field, Row > & |
A | ) |
const |
|
inline |
Specialisation for SparseMatrix, in place.
solution rank is called. (is Elimination guaranteed as the doc says above ?)
- Parameters
-
- Returns
- its rank
The documentation for this class was generated from the following file: