Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

RationalReconstruction Class Template Reference

#include <rational-reconstruction.h>


Detailed Description

template<class _LiftingContainer>
class LinBox::RationalReconstruction< _LiftingContainer >

Limited doc so far. Used, for instance, after LiftingContainer.


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 Member Functions

 RationalReconstruction (const LiftingContainer &lcontainer, const Ring &r=Ring(), int THRESHOLD=DEF_THRESH)
 Constructor maybe use different ring than the ring in lcontainer.

const LiftingContainergetContainer () 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> Integerdot (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


Member Typedef Documentation

typedef _LiftingContainer LiftingContainer
 

typedef LiftingContainer::Ring Ring
 

typedef Ring::Element Integer
 

typedef LiftingContainer::IVector Vector
 

typedef LiftingContainer::Field Field
 

typedef Field::Element Element
 


Constructor & Destructor Documentation

RationalReconstruction const LiftingContainer lcontainer,
const Ring r = Ring(),
int  THRESHOLD = DEF_THRESH
[inline]
 

Constructor maybe use different ring than the ring in lcontainer.


Member Function Documentation

const LiftingContainer& getContainer  )  const [inline]
 

Get the LiftingContainer.

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.

bool getRational Vector num,
Integer den
const [inline]
 

Integer& dot Integer d,
const InVect1 &  v1,
const InVect2 &  v2
const [inline]
 

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 raitonal solution (V. Pan) is implemented. Implement the certificate idea, preprint submitted to ISSAC'05.

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

void PolEval Vector y,
ConstIterator &  Pol,
size_t  deg,
Integer x
const [inline]
 

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.


Field Documentation

const LiftingContainer& _lcontainer [protected]
 

Ring _r [protected]
 

int _threshold [protected]
 


Generated on Fri Jul 8 10:29:46 2005 for linbox by doxygen 1.3.7