Package cc.redberry.rings
Class RationalReconstruction
- java.lang.Object
-
- cc.redberry.rings.RationalReconstruction
-
public final class RationalReconstruction extends Object
- Since:
- 2.3
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long[]reconstruct(long n, long modulus, long numeratorBound, long denominatorBound)Performs a rational number reconstruction.static BigInteger[]reconstruct(BigInteger n, BigInteger modulus, BigInteger numeratorBound, BigInteger denominatorBound)Performs a rational number reconstruction.static <Poly extends IUnivariatePolynomial<Poly>>
Poly[]reconstruct(Poly n, Poly modulus, int numeratorBound, int denominatorBound)Performs a rational number reconstruction.static BigInteger[]reconstructFarey(BigInteger n, BigInteger modulus)Performs a rational number reconstruction via Farey images, that is reconstructuction with bound B = sqrt(N/2 - 1/2)static BigInteger[]reconstructFareyErrorTolerant(BigInteger n, BigInteger modulus)Performs a error tolerant rational number reconstruction as described in Algorithm 5 of Janko Boehm, Wolfram Decker, Claus Fieker, Gerhard Pfister, "The use of Bad Primes in Rational Reconstruction", https://arxiv.org/abs/1207.1651v2
-
-
-
Method Detail
-
reconstruct
public static long[] reconstruct(long n, long modulus, long numeratorBound, long denominatorBound)Performs a rational number reconstruction. If the answer is not unique,nullis returned.- Parameters:
n- num * den^(-1) mod modulusmodulus- the modulusnumeratorBound- numerator bounddenominatorBound- denominator bound
-
reconstruct
public static BigInteger[] reconstruct(BigInteger n, BigInteger modulus, BigInteger numeratorBound, BigInteger denominatorBound)
Performs a rational number reconstruction. If the answer is not unique,nullis returned.
-
reconstructFarey
public static BigInteger[] reconstructFarey(BigInteger n, BigInteger modulus)
Performs a rational number reconstruction via Farey images, that is reconstructuction with bound B = sqrt(N/2 - 1/2)
-
reconstructFareyErrorTolerant
public static BigInteger[] reconstructFareyErrorTolerant(BigInteger n, BigInteger modulus)
Performs a error tolerant rational number reconstruction as described in Algorithm 5 of Janko Boehm, Wolfram Decker, Claus Fieker, Gerhard Pfister, "The use of Bad Primes in Rational Reconstruction", https://arxiv.org/abs/1207.1651v2
-
reconstruct
public static <Poly extends IUnivariatePolynomial<Poly>> Poly[] reconstruct(Poly n, Poly modulus, int numeratorBound, int denominatorBound)
Performs a rational number reconstruction. If the answer is not unique,nullis returned.- Parameters:
n- num * den^(-1) mod modulusmodulus- the modulusnumeratorBound- numerator bounddenominatorBound- denominator bound
-
-