linbox
solve.h File Reference

Namespaces

namespace  LinBox
 Namespace in which all linbox code resides.
 

Functions

template<class ResultVector, class Matrix, class Vector, class CategoryTag, class SolveMethod>
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const SolveMethod &m)
 Solve Ax = b, for x.
 
template<class ResultVector, class Matrix, class Vector, class SolveMethod>
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const SolveMethod &m)
 Solve dispatcher for automated category tag.
 
template<class ResultVector, class Matrix, class Vector>
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b)
 Solve dispatcher for automated solve method.
 
template<class RatVector, class RatMatrix, class Vector, class SolveMethod>
RatVector & solve (RatVector &x, const RatMatrix &A, const Vector &b, const RingCategories::RationalTag &tag, const SolveMethod &m)
 Solve specialisation on RationalTag, with a generic method.
 
template<class RatVector, class Matrix, class Vector, class SolveMethod>
std::enable_if< std::is_same< typenameSolveMethod::CategoryTag, RingCategories::IntegerTag >::value &&std::is_same< typenameFieldTraits< typenameRatVector::Field >::categoryTag, RingCategories::RationalTag >::value, RatVector & >::type solve (RatVector &x, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const SolveMethod &m)
 Solve specialisation on IntegerTag with Vector<QField> as result.
 
template<class Matrix, class Vector, class SolveMethod>
std::enable_if< std::is_same< typenameSolveMethod::CategoryTag, RingCategories::IntegerTag >::value, VectorFraction< typenameMatrix::Field > & >::type solve (VectorFraction< typename Matrix::Field > &x, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const SolveMethod &m)
 Solve specialisation on IntegerTag with VectorFraction as result.
 
template<class IntVector, class Matrix, class Vector, class CategoryTag, class SolveMethod>
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const CategoryTag &tag, const SolveMethod &m)
 Rational solve Ax = b, for x expressed as xNum/xDen.
 
template<class IntVector, class Matrix, class Vector, class SolveMethod>
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const SolveMethod &m)
 Rational solve dispatcher for unimplemented methods.
 
template<class IntVector, class Matrix, class Vector, class SolveMethod>
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const SolveMethod &m)
 Rational solve dispatcher for automated category tag.
 
template<class IntVector, class Matrix, class Vector>
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b)
 Rational solve dispatcher for automated solve method.
 
template<class ResultVector, class Matrix, class Vector, class CategoryTag, class SolveMethod>
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const CategoryTag &tag, const SolveMethod &m)
 Solve Ax = b, for x.
 
template<class ResultVector, class Matrix, class Vector, class SolveMethod>
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const SolveMethod &m)
 Solve in place dispatcher for automated category tag.
 
template<class ResultVector, class Matrix, class Vector>
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b)
 Solve in place dispatcher for automated solve method.
 
template<class IntVector, class Matrix, class Vector, class SolveMethod, class CategoryTag>
void solveInPlace (IntVector &xNum, typename IntVector::Element &xDen, Matrix &A, const Vector &b, const CategoryTag &tag, const SolveMethod &m)
 Rational solve in place Ax = b, for x expressed as xNum/xDen.
 
template<class IntVector, class Matrix, class Vector, class SolveMethod>
void solveInPlace (IntVector &xNum, typename IntVector::Element &xDen, Matrix &A, const Vector &b, const SolveMethod &m)
 Rational solve in place dispatcher for automated category tag.
 
template<class IntVector, class Matrix, class Vector>
void solveInPlace (IntVector &xNum, typename IntVector::Element &xDen, Matrix &A, const Vector &b)
 Rational solve in place dispatcher for automated solve method.