linbox
solve-auto.h File Reference

Namespaces

namespace  LinBox
 Namespace in which all linbox code resides.
 

Functions

template<class ResultVector, class Matrix, class Vector, class CategoryTag>
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Auto &m)
 Solve specialisation for Auto.
 
template<class ResultVector, class Field, class Vector>
ResultVector & solve (ResultVector &x, const DenseMatrix< Field > &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::Auto &m)
 Solve specialisation for Auto with DenseMatrix and ModularTag.
 
template<class ResultVector, class... MatrixArgs, class Vector>
ResultVector & solve (ResultVector &x, const SparseMatrix< MatrixArgs... > &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::Auto &m)
 Solve specialisation for Auto with SparseMatrix and ModularTag.
 
template<class ResultVector, class Matrix, class Vector>
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Auto &m)
 Solve specialisation for Auto and IntegerTag.
 
template<class ResultVector, class Matrix, class Vector>
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const RingCategories::RationalTag &tag, const Method::Auto &m)
 Solve specialisation for Auto and RationalTag.
 
template<class IntVector, class Matrix, class Vector>
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Auto &m)
 Solve specialization for Auto and IntegerTag.
 
template<class ResultVector, class Matrix, class Vector, class CategoryTag>
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Auto &m)
 Solve in place specialisation for Auto.
 
template<class ResultVector, class Matrix, class Vector>
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Auto &m)
 Solve in place specialisation for Auto and IntegerTag.
 
template<class ResultVector, class Field, class Vector, class CategoryTag>
std::enable_if<!std::is_same< CategoryTag, RingCategories::IntegerTag >::value, ResultVector & >::type solveInPlace (ResultVector &x, DenseMatrix< Field > &A, const Vector &b, const CategoryTag &tag, const Method::Auto &m)
 Solve in place specialisation for Auto with DenseMatrix and non-IntegerTag.
 
template<class ResultVector, class... MatrixArgs, class Vector, class CategoryTag>
std::enable_if<!std::is_same< CategoryTag, RingCategories::IntegerTag >::value, ResultVector & >::type solveInPlace (ResultVector &x, SparseMatrix< MatrixArgs... > &A, const Vector &b, const CategoryTag &tag, const Method::Auto &m)
 Solve in place specialisation for Auto with SparseMatrix and non-IntegerTag.
 
template<class Matrix, class Vector>
void solveInPlace (Vector &xNum, typename Vector::Element &xDen, Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Auto &m)
 Solve in place specialization for Auto and IntegerTag.