|
Public Types |
typedef _LiftingContainer | LiftingContainer |
typedef LiftingContainer::Ring | Ring |
typedef Ring::Element | Integer |
typedef LiftingContainer::IVector | Vector |
typedef LiftingContainer::Field | Field |
typedef Field::Element | Element |
Public Methods |
| RationalReconstruction (const LiftingContainer &lcontainer, const Ring &r=Ring(), int THRESHOLD=DEF_THRESH) |
| Constructor maybe use different ring than the ring in lcontainer.
|
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. 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 Vector> bool | getRational (Vector &num, Integer &den) const |
template<class InVect1, class InVect2> Integer & | dot (Integer &d, const InVect1 &v1, const InVect2 &v2) const |
template<class Vector> bool | getRational1 (Vector &num, Integer &den) const |
| 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 raitonal solution (V. Pan) is implemented. Implement the certificate idea, preprint submitted to ISSAC'05.
|
template<class Vector> bool | getRational2 (Vector &num, Integer &den) const |
| 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).
|
template<class ConstIterator> void | PolEval (Vector &y, ConstIterator &Pol, size_t deg, Integer &x) const |
template<class Vector1> bool | getRational3 (Vector1 &num, Integer &den) const |
| 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.
|
Protected Attributes |
const LiftingContainer & | _lcontainer |
Ring | _r |
int | _threshold |