linbox
|
Interface for the different specialization of p-adic lifting based solvers. More...
#include <rational-solver.h>
Public Member Functions | |
template<class IMatrix , class Vector1 , class Vector2 > | |
SolverReturnStatus | solve (Vector1 &num, Integer &den, const IMatrix &A, const Vector2 &b, const bool side, int maxPrimes=5) const |
Solve a linear system Ax=b over quotient field of a ring giving a random solution if the system is singular and consistent, giving the unique solution if the system is non-singular. More... | |
template<class IMatrix , class Vector1 , class Vector2 > | |
SolverReturnStatus | solveNonsingular (Vector1 &num, Integer &den, const IMatrix &A, const Vector2 &b, int maxPrimes=5) const |
Solve a nonsingular linear system Ax=b over quotient field of a ring, giving the unique solution of the system. More... | |
template<class IMatrix , class Vector1 , class Vector2 > | |
SolverReturnStatus | solveSingular (Vector1 &num, Integer &den, const IMatrix &A, const Vector2 &b, int maxPrimes=5) const |
brief Solve a singular linear system Ax=b over quotient field of a ring, giving a random solution if the system is singular and consistent. More... | |
Interface for the different specialization of p-adic lifting based solvers.
The following type are abstract in the implementation and can be change during the instanciation of the class:
SolverReturnStatus solve | ( | Vector1 & | num, |
Integer & | den, | ||
const IMatrix & | A, | ||
const Vector2 & | b, | ||
const bool | side, | ||
int | maxPrimes = 5 |
||
) | const |
Solve a linear system Ax=b
over quotient field of a ring giving a random solution if the system is singular and consistent, giving the unique solution if the system is non-singular.
num | Vector of numerators of the solution |
den | The common denominator. 1/den * num is the rational solution of Ax=b . |
A | Matrix of linear system |
b | Right-hand side of system |
maxPrimes | maximum number of moduli to try |
side |
SolverReturnStatus solveNonsingular | ( | Vector1 & | num, |
Integer & | den, | ||
const IMatrix & | A, | ||
const Vector2 & | b, | ||
int | maxPrimes = 5 |
||
) | const |
Solve a nonsingular linear system Ax=b
over quotient field of a ring, giving the unique solution of the system.
num | Vector of numerators of the solution |
den | The common denominator. 1/den * num is the rational solution of Ax=b . |
A | Matrix of linear system |
b | Right-hand side of system |
maxPrimes | maximum number of moduli to try |
SolverReturnStatus solveSingular | ( | Vector1 & | num, |
Integer & | den, | ||
const IMatrix & | A, | ||
const Vector2 & | b, | ||
int | maxPrimes = 5 |
||
) | const |
brief Solve a singular linear system Ax=b
over quotient field of a ring, giving a random solution if the system is singular and consistent.
num | Vector of numerators of the solution |
den | The common denominator. 1/den * num is the rational solution of Ax=b . |
A | Matrix of linear system |
b | Right-hand side of system |
maxPrimes | maximum number of moduli to try |