|
| template<class Param> |
| | RationalChineseRemainderVarPrec (const Param &b, const RatRecon &RR=RatRecon()) |
| |
| | RationalChineseRemainderVarPrec (RatCRABase b, const RatRecon &RR=RatRecon()) |
| |
| template<class Function, class RandPrimeIterator> |
| Integer & | operator() (Integer &num, Integer &den, Function &Iteration, RandPrimeIterator &genprime) |
| | The Rational CRA loop.
|
| |
| template<class Function, class RandPrimeIterator> |
| bool | operator() (const int k, Integer &num, Integer &den, Function &Iteration, RandPrimeIterator &genprime) |
| |
| template<template< class, class > class Vect, template< class > class Alloc, class Function, class RandPrimeIterator> |
| Vect< Integer, Alloc< Integer > > & | operator() (Vect< Integer, Alloc< Integer > > &num, Integer &den, Function &Iteration, RandPrimeIterator &genprime) |
| |
| template<class Function, class RandPrimeIterator> |
| BlasVector< Givaro::ZRing< Integer > > & | operator() (BlasVector< Givaro::ZRing< Integer > > &num, Integer &den, Function &Iteration, RandPrimeIterator &genprime) |
| |
| template<template< class, class > class Vect, template< class > class Alloc, class Function, class RandPrimeIterator> |
| bool | operator() (const int k, Vect< Integer, Alloc< Integer > > &num, Integer &den, Function &Iteration, RandPrimeIterator &genprime) |
| |
| template<class Function, class RandPrimeIterator> |
| bool | operator() (const int k, BlasVector< Givaro::ZRing< Integer > > &num, Integer &den, Function &Iteration, RandPrimeIterator &genprime) |
| |
template<class RatCRABase, class RatRecon = RReconstruction<Givaro::ZRing<Integer>, ClassicMaxQRationalReconstruction<Givaro::ZRing<Integer> > >>
struct LinBox::RationalChineseRemainderVarPrec< RatCRABase, RatRecon >
Chinese remainder of vector of rationals.
VarPrec: Variable preconditioner = lift random combination of residues
Compute the reconstruction of rational numbers Either by Early Termination see [Dumas, Saunder, Villard, JSC 32 (1/2), pp 71-99, 2001], Or via a bound on the size of the Integers.
template<class RatCRABase, class RatRecon = RReconstruction<Givaro::ZRing<Integer>, ClassicMaxQRationalReconstruction<Givaro::ZRing<Integer> > >>
template<class Function, class RandPrimeIterator>
| Integer & operator() |
( |
Integer & | num, |
|
|
Integer & | den, |
|
|
Function & | Iteration, |
|
|
RandPrimeIterator & | genprime ) |
|
inline |
The Rational CRA loop.
Given a function to generate residues mod a single prime, this loop produces the residues resulting from the Chinese remainder process on sufficiently many primes to meet the termination condition.
- Parameters
-
| Iteration | Function object of two arguments, Iteration(r,
p), given prime p it outputs residue(s) r. This loop may be parallelized. Iteration must be reentrant, thread safe. For example, Iteration may be returning the coefficients of the minimal polynomial of a matrix mod p. |
- Warning
- We won't detect bad primes.
- Parameters
-
| genprime | RandIter object for generating primes. |
| [out] | num | the rational numerator |
| [out] | den | the rational denominator |
template<class RatCRABase, class RatRecon = RReconstruction<Givaro::ZRing<Integer>, ClassicMaxQRationalReconstruction<Givaro::ZRing<Integer> > >>
template<template< class, class > class Vect, template< class > class Alloc, class Function, class RandPrimeIterator>
| bool operator() |
( |
const int | k, |
|
|
Vect< Integer, Alloc< Integer > > & | num, |
|
|
Integer & | den, |
|
|
Function & | Iteration, |
|
|
RandPrimeIterator & | genprime ) |
|
inline |