Limited doc so far.
More...
#include <rational-reconstruction.h>
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.
Examples examples/rr.C .
◆ RationalReconstruction()
template<class _LiftingContainer , class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
Constructor.
Todo: maybe use different ring than the ring in lcontainer
Parameters
lcontainer NO DOC
r NO DOC
THRESHOLD NO DOC
Examples examples/rr.C .
◆ getRational()
template<class _LiftingContainer , class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
template<class Vector >
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
-> direct method
-> early termination with
◆ dot()
template<class _LiftingContainer , class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
template<class InVect1 , class InVect2 >
Integer & dot
(
Integer &
d ,
const InVect1 &
v1 ,
const InVect2 &
v2
)
const
inline
No doc.
Todo: WHY a dot product here ?
◆ getRational1()
template<class _LiftingContainer , class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
template<class Vector >
bool getRational1
(
Vector &
num ,
Integer &
den
)
const
inline
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
◆ getRational2()
template<class _LiftingContainer , class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
template<class Vector >
bool getRational2
(
Vector &
num ,
Integer &
den
)
const
inline
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.
◆ PolEval()
template<class _LiftingContainer , class RatRecon = RReconstruction<typename _LiftingContainer::Ring, ClassicMaxQRationalReconstruction<typename _LiftingContainer::Ring> >>
template<class ConstIterator >
void PolEval
(
Vector &
y ,
ConstIterator &
Pol ,
size_t
deg ,
Integer &
x
)
const
inline
◆ getRational3()
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
The documentation for this class was generated from the following file: