|
Public Types |
typedef _Field | Field |
typedef Field::Element | Element |
Public Methods |
| GaussDomain (const Field &F) |
| The field parameter is the domain over which to perform computations.
|
| GaussDomain (const GaussDomain &M) |
const Field & | field () |
template<class Matrix> unsigned long & | rankinLinearPivoting (unsigned long &rank, Matrix &A, unsigned long Ni, unsigned long Nj, bool storrows=false) |
| Sparse in place Gaussian elimination with reordering to reduce fill-in. @doc pivots are chosen in sparsest column of sparsest row. This runs in linear overhead. It is similar in spirit but different from Markovitz' approach.
|
template<class Matrix> unsigned long & | rankinNoReordering (unsigned long &rank, Matrix &LigneA, unsigned long Ni, unsigned long Nj) |
| Sparse Gaussian elimination without reordering. @doc Gaussian elimination is done on a copy of the matrix. Using : SparseFindPivot eliminate.
|
template<class Matrix> unsigned long & | LUin (unsigned long &rank, Matrix &A) |
| Dense in place LU factorization without reordering @doc Using : FindPivot and LU.
|
template<class Matrix> unsigned long & | upperin (unsigned long &rank, Matrix &A) |
| Dense in place Gaussian elimination without reordering @doc Using : FindPivot and LU.
|
|
Callers of the different rank routines\ -/ The "in" suffix indicates in place computation\ -/ Without Ni, Nj, the Matrix parameter must be a vector of sparse row vectors.\ -/ Calls rankinLinearPivoting (by default) or rankinNoReordering
|
template<class Matrix> unsigned long & | rankin (unsigned long &rank, Matrix &A, SparseEliminationTraits::PivotStrategy reord=SparseEliminationTraits::PIVOT_LINEAR, bool storrows=false) |
template<class Matrix> unsigned long & | rankin (unsigned long &rank, Matrix &A, unsigned long Ni, unsigned long Nj, SparseEliminationTraits::PivotStrategy reord=SparseEliminationTraits::PIVOT_LINEAR, bool storrows=false) |
template<class Matrix> unsigned long & | rank (unsigned long &rank, const Matrix &A, SparseEliminationTraits::PivotStrategy reord=SparseEliminationTraits::PIVOT_LINEAR, bool storrows=false) |
template<class Matrix> unsigned long & | rank (unsigned long &rank, const Matrix &A, unsigned long Ni, unsigned long Nj, SparseEliminationTraits::PivotStrategy reord=SparseEliminationTraits::PIVOT_LINEAR, bool storrows=false) |
Protected Methods |
template<class Vector, class D> void | eliminate (Vector &lignecourante, const Vector &lignepivot, const unsigned long &indcol, const unsigned long &indpermut, D &columns) |
template<class Vector> void | eliminate (Vector &lignecourante, const Vector &lignepivot, const unsigned long &indcol, const unsigned long &indpermut) |
template<class Vector> void | Upper (Vector &lignecur, const Vector &lignepivot, unsigned long indcol, unsigned long indpermut) |
template<class Vector> void | LU (Vector &lignecur, const Vector &lignepivot, unsigned long indcol, unsigned long indpermut) |
template<class Vector, class D> void | SparseFindPivot (Vector &lignepivot, unsigned long &indcol, unsigned long &indpermut, D &columns) |
template<class Vector> void | SparseFindPivot (Vector &lignepivot, unsigned long &indcol, unsigned long &indpermut) |
template<class Vector> void | FindPivot (Vector &lignepivot, unsigned long &k, unsigned long &indpermut) |