|
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 |
1.8.13