|
| | RationalReconstruction (const LiftingContainer &lcontainer, const Ring &r=Ring(), int THRESHOLD=50) |
| | Constructor.
|
| |
| const LiftingContainer & | getContainer () const |
| | Get the LiftingContainer.
|
| |
| template<class Vector> |
| bool | getRational (Vector &num, Integer &den, int switcher) const |
| | Handler to switch between different rational reconstruction strategy.
|
| |
| template<class Vector> |
| bool | getRational (Vector &num, Integer &den) const |
| | no doc.
|
| |
| template<class InVect1, class InVect2> |
| Integer & | dot (Integer &d, const InVect1 &v1, const InVect2 &v2) const |
| | No doc.
|
| |
| template<class Vector> |
| bool | getRational1 (Vector &num, Integer &den) const |
| | Reconstruct a vector of rational numbers from p-adic digit vector sequence.
|
| |
| template<class Vector> |
| bool | getRational2 (Vector &num, Integer &den) const |
| | Reconstruct a vector of rational numbers from p-adic digit vector sequence.
|
| |
| template<class ConstIterator> |
| void | PolEval (Vector &y, ConstIterator &Pol, size_t deg, Integer &x) const |
| | NO DOC.
|
| |
| template<class Vector1> |
| bool | getRational3 (Vector1 &num, Integer &den) const |
| | Reconstruct a vector of rational numbers from p-adic digit vector sequence.
|
| |
| template<class Vector1> |
| bool | getRationalET (Vector1 &num, Integer &den, const Integer &den_app=1) const |
| | early terminated analog of getRational3.
|
| |
template<class _LiftingContainer, class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
class LinBox::RationalReconstruction< _LiftingContainer, RatRecon >
Limited doc so far.
Used, for instance, after LiftingContainer.
template<class _LiftingContainer, class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
| bool getRational |
( |
Vector & | num, |
|
|
Integer & | den, |
|
|
int | switcher ) const |
|
inline |
Handler to switch between different rational reconstruction strategy.
Allow early termination and direct fast method Switch is made by using a threshold as the third argument (default is set to that of constructor THRESHOLD
- \(0\) -> direct method
- \(>0\) -> early termination with
template<class _LiftingContainer, class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
Reconstruct a vector of rational numbers from p-adic digit vector sequence.
An early termination technique is used. Answer is a pair (numerator, common denominator) The trick to reconstruct the rational solution (V. Pan) is implemented. Implement the certificate idea, preprint submitted to ISSAC'05
template<class _LiftingContainer, class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
Reconstruct a vector of rational numbers from p-adic digit vector sequence.
An early termination technique is used. Answer is a vector of pair (num, den)
- Note
- this may fail: generically, the probability of failure should be 1/p^n where n is the number of elements being constructed since p is usually quite large this should be ok.
template<class _LiftingContainer, class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
template<class Vector1>
| bool getRational3 |
( |
Vector1 & | num, |
|
|
Integer & | den ) const |
|
inline |
Reconstruct a vector of rational numbers from p-adic digit vector sequence.
compute all digits and reconstruct rationals only once Result is a vector of numerators and one common denominator