linbox
Public Member Functions
RationalSolver< Ring, Field, RandomPrime, MethodTraits > Class Template Reference

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

Detailed Description

template<class Ring, class Field, class RandomPrime, class MethodTraits = Method::Dixon>
class LinBox::RationalSolver< Ring, Field, RandomPrime, MethodTraits >

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:

Member Function Documentation

◆ solve()

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.

Parameters
numVector of numerators of the solution
denThe common denominator. 1/den * num is the rational solution of Ax=b.
AMatrix of linear system
bRight-hand side of system
maxPrimesmaximum number of moduli to try
side
Returns
status of solution

◆ solveNonsingular()

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.

Parameters
numVector of numerators of the solution
denThe common denominator. 1/den * num is the rational solution of Ax=b.
AMatrix of linear system
bRight-hand side of system
maxPrimesmaximum number of moduli to try
Returns
status of solution

◆ solveSingular()

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.

Parameters
numVector of numerators of the solution
denThe common denominator. 1/den * num is the rational solution of Ax=b.
AMatrix of linear system
bRight-hand side of system
maxPrimesmaximum number of moduli to try
Returns
status of solution

The documentation for this class was generated from the following file: