Package | Description |
---|---|
cc.redberry.rings | |
cc.redberry.rings.bigint |
Provides classes for performing arbitrary-precision integer
arithmetic (
BigInteger ) and arbitrary-precision decimal
arithmetic (BigDecimal ). |
cc.redberry.rings.poly | |
cc.redberry.rings.poly.multivar | |
cc.redberry.rings.poly.univar | |
cc.redberry.rings.primes | |
cc.redberry.rings.util |
Modifier and Type | Field and Description |
---|---|
BigInteger |
IntegersZp.modulus
The modulus.
|
Modifier and Type | Field and Description |
---|---|
static Rationals<BigInteger> |
Rings.Q
Ring of rationals (Q)
|
static UnivariateRing<UnivariatePolynomial<Rational<BigInteger>>> |
Rings.UnivariateRingQ
Ring of univariate polynomials over rationals (Q[x])
|
static UnivariateRing<UnivariatePolynomial<BigInteger>> |
Rings.UnivariateRingZ
Ring of univariate polynomials over integers (Z[x])
|
Modifier and Type | Method and Description |
---|---|
BigInteger |
Integers.abs(BigInteger el) |
BigInteger |
IntegersZp.add(BigInteger a,
BigInteger b) |
BigInteger |
Integers.add(BigInteger a,
BigInteger b) |
BigInteger |
IntegersZp.cardinality() |
BigInteger |
AQuotientRing.cardinality() |
BigInteger |
ImageRing.cardinality() |
BigInteger |
Integers.cardinality() |
BigInteger |
Ring.cardinality()
Returns the number of elements in this ring (cardinality) or null if ring is infinite
|
BigInteger |
Rationals.cardinality() |
BigInteger |
IntegersZp.characteristic() |
BigInteger |
AQuotientRing.characteristic() |
BigInteger |
ImageRing.characteristic() |
BigInteger |
Integers.characteristic() |
BigInteger |
Ring.characteristic()
Returns characteristic of this ring
|
BigInteger |
Rationals.characteristic() |
static BigInteger |
ChineseRemainders.ChineseRemainders(BigInteger[] primes,
BigInteger[] remainders)
Runs Chinese Remainders algorithm
|
static BigInteger |
ChineseRemainders.ChineseRemainders(BigInteger prime1,
BigInteger prime2,
BigInteger remainder1,
BigInteger remainder2)
Runs Chinese Remainders algorithm
|
BigInteger |
IntegersZp.divide(BigInteger a,
BigInteger b) |
BigInteger[] |
IntegersZp.divideAndRemainder(BigInteger a,
BigInteger b) |
BigInteger[] |
Integers.divideAndRemainder(BigInteger a,
BigInteger b) |
BigInteger |
Integers.gcd(BigInteger a,
BigInteger b) |
BigInteger |
Integers.getNegativeOne() |
BigInteger |
IntegersZp.modulus(BigInteger val)
Returns
val mod this.modulus |
BigInteger |
IntegersZp.multiply(BigInteger a,
BigInteger b) |
BigInteger |
Integers.multiply(BigInteger a,
BigInteger b) |
BigInteger |
IntegersZp.negate(BigInteger element) |
BigInteger |
Integers.negate(BigInteger element) |
BigInteger |
AQuotientRing.perfectPowerBase() |
BigInteger |
ARing.perfectPowerBase() |
BigInteger |
ImageRing.perfectPowerBase() |
BigInteger |
Ring.perfectPowerBase()
Returns
base so that cardinality == base^exponent or null if cardinality is not finite |
BigInteger |
Rationals.perfectPowerBase() |
BigInteger |
AQuotientRing.perfectPowerExponent() |
BigInteger |
ARing.perfectPowerExponent() |
BigInteger |
ImageRing.perfectPowerExponent() |
BigInteger |
Ring.perfectPowerExponent()
Returns
exponent so that cardinality == base^exponent or null if cardinality is not finite |
BigInteger |
Rationals.perfectPowerExponent() |
BigInteger |
Integers.pow(BigInteger base,
BigInteger exponent) |
BigInteger |
Integers.pow(BigInteger base,
int exponent) |
BigInteger |
Integers.pow(BigInteger base,
long exponent) |
BigInteger |
IntegersZp.randomElement(org.apache.commons.math3.random.RandomGenerator rnd) |
BigInteger |
IntegersZp.reciprocal(BigInteger element) |
BigInteger |
Integers.reciprocal(BigInteger element) |
static BigInteger[] |
RationalReconstruction.reconstruct(BigInteger n,
BigInteger modulus,
BigInteger numeratorBound,
BigInteger denominatorBound)
Performs a rational number reconstruction.
|
static BigInteger[] |
RationalReconstruction.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[] |
RationalReconstruction.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
|
BigInteger |
IntegersZp.remainder(BigInteger a,
BigInteger b) |
BigInteger |
Integers.remainder(BigInteger a,
BigInteger b) |
BigInteger |
IntegersZp.subtract(BigInteger a,
BigInteger b) |
BigInteger |
Integers.subtract(BigInteger a,
BigInteger b) |
BigInteger |
IntegersZp.symmetricForm(BigInteger value)
Converts
value to a symmetric representation of Zp |
BigInteger |
IntegersZp.valueOf(BigInteger val) |
BigInteger |
Integers.valueOf(BigInteger val) |
BigInteger |
IntegersZp.valueOf(long val) |
BigInteger |
Integers.valueOf(long val) |
Modifier and Type | Method and Description |
---|---|
FactorDecomposition<BigInteger> |
IntegersZp.factor(BigInteger element) |
FactorDecomposition<BigInteger> |
Integers.factor(BigInteger element) |
FactorDecomposition<BigInteger> |
IntegersZp.factorSquareFree(BigInteger element) |
FactorDecomposition<BigInteger> |
Integers.factorSquareFree(BigInteger element) |
static FiniteField<UnivariatePolynomial<BigInteger>> |
Rings.GF(BigInteger prime,
int exponent)
Galois field with the cardinality
prime ^ exponent for arbitrary large prime |
Iterator<BigInteger> |
IntegersZp.iterator() |
Iterator<BigInteger> |
Integers.iterator() |
static MultivariateRing<MultivariatePolynomial<Rational<BigInteger>>> |
Rings.MultivariateRingQ(int nVariables)
Ring of multivariate polynomials over rationals (Q[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomial<BigInteger>> |
Rings.MultivariateRingZ(int nVariables)
Ring of multivariate polynomials over integers (Z[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomial<BigInteger>> |
Rings.MultivariateRingZp(int nVariables,
BigInteger modulus)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...]) with arbitrary large modulus
|
static UnivariateRing<UnivariatePolynomial<BigInteger>> |
Rings.UnivariateRingZp(BigInteger modulus)
Ring of univariate polynomials over Zp integers (Zp[x]) with arbitrary large modulus
|
Modifier and Type | Method and Description |
---|---|
BigInteger |
Integers.abs(BigInteger el) |
BigInteger |
IntegersZp.add(BigInteger a,
BigInteger b) |
BigInteger |
Integers.add(BigInteger a,
BigInteger b) |
static BigInteger |
ChineseRemainders.ChineseRemainders(BigInteger[] primes,
BigInteger[] remainders)
Runs Chinese Remainders algorithm
|
static BigInteger |
ChineseRemainders.ChineseRemainders(BigInteger[] primes,
BigInteger[] remainders)
Runs Chinese Remainders algorithm
|
static BigInteger |
ChineseRemainders.ChineseRemainders(BigInteger prime1,
BigInteger prime2,
BigInteger remainder1,
BigInteger remainder2)
Runs Chinese Remainders algorithm
|
BigInteger |
IntegersZp.divide(BigInteger a,
BigInteger b) |
BigInteger[] |
IntegersZp.divideAndRemainder(BigInteger a,
BigInteger b) |
BigInteger[] |
Integers.divideAndRemainder(BigInteger a,
BigInteger b) |
FactorDecomposition<BigInteger> |
IntegersZp.factor(BigInteger element) |
FactorDecomposition<BigInteger> |
Integers.factor(BigInteger element) |
FactorDecomposition<BigInteger> |
IntegersZp.factorSquareFree(BigInteger element) |
FactorDecomposition<BigInteger> |
Integers.factorSquareFree(BigInteger element) |
BigInteger |
Integers.gcd(BigInteger a,
BigInteger b) |
static FiniteField<UnivariatePolynomial<BigInteger>> |
Rings.GF(BigInteger prime,
int exponent)
Galois field with the cardinality
prime ^ exponent for arbitrary large prime |
boolean |
Integers.isMinusOne(BigInteger bigInteger) |
boolean |
IntegersZp.isUnit(BigInteger element) |
boolean |
Integers.isUnit(BigInteger element) |
BigInteger |
IntegersZp.modulus(BigInteger val)
Returns
val mod this.modulus |
long |
IntegersZp64.modulus(BigInteger val)
Returns
val % this.modulus |
BigInteger |
IntegersZp.multiply(BigInteger a,
BigInteger b) |
BigInteger |
Integers.multiply(BigInteger a,
BigInteger b) |
static MultivariateRing<MultivariatePolynomial<BigInteger>> |
Rings.MultivariateRingZp(int nVariables,
BigInteger modulus)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...]) with arbitrary large modulus
|
BigInteger |
IntegersZp.negate(BigInteger element) |
BigInteger |
Integers.negate(BigInteger element) |
Rational<E> |
Rational.pow(BigInteger exponent)
Raise this in a power
exponent |
BigInteger |
Integers.pow(BigInteger base,
BigInteger exponent) |
BigInteger |
Integers.pow(BigInteger base,
int exponent) |
BigInteger |
Integers.pow(BigInteger base,
long exponent) |
default E |
Ring.pow(E base,
BigInteger exponent)
Returns
base in a power of exponent (non negative) |
I |
ImageRing.pow(I base,
BigInteger exponent) |
BigInteger |
IntegersZp.reciprocal(BigInteger element) |
BigInteger |
Integers.reciprocal(BigInteger element) |
static BigInteger[] |
RationalReconstruction.reconstruct(BigInteger n,
BigInteger modulus,
BigInteger numeratorBound,
BigInteger denominatorBound)
Performs a rational number reconstruction.
|
static BigInteger[] |
RationalReconstruction.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[] |
RationalReconstruction.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
|
BigInteger |
IntegersZp.remainder(BigInteger a,
BigInteger b) |
BigInteger |
Integers.remainder(BigInteger a,
BigInteger b) |
int |
Integers.signum(BigInteger element) |
BigInteger |
IntegersZp.subtract(BigInteger a,
BigInteger b) |
BigInteger |
Integers.subtract(BigInteger a,
BigInteger b) |
BigInteger |
IntegersZp.symmetricForm(BigInteger value)
Converts
value to a symmetric representation of Zp |
static UnivariateRing<UnivariatePolynomial<BigInteger>> |
Rings.UnivariateRingZp(BigInteger modulus)
Ring of univariate polynomials over Zp integers (Zp[x]) with arbitrary large modulus
|
BigInteger |
IntegersZp.valueOf(BigInteger val) |
BigInteger |
Integers.valueOf(BigInteger val) |
E |
AQuotientRing.valueOfBigInteger(BigInteger val) |
I |
ImageRing.valueOfBigInteger(BigInteger val) |
E |
Ring.valueOfBigInteger(BigInteger val)
Returns ring element associated with specified integer
|
Rational<E> |
Rationals.valueOfBigInteger(BigInteger val) |
static IntegersZp |
Rings.Zp(BigInteger modulus)
Ring of integers modulo
modulus (arbitrary large modulus) |
Constructor and Description |
---|
IntegersZp(BigInteger modulus)
Creates Zp ring for specified modulus.
|
Modifier and Type | Field and Description |
---|---|
static BigInteger |
BigInteger.FIVE
The BigInteger constant five.
|
static BigInteger |
BigInteger.FOUR
The BigInteger constant four.
|
static BigInteger |
BigInteger.INT_MAX_VALUE
The BigInteger constant Int.MAX_VALUE.
|
static BigInteger |
BigInteger.LONG_MAX_VALUE
The BigInteger constant Long.MAX_VALUE.
|
static BigInteger |
BigInteger.NEGATIVE_ONE
The BigInteger constant -1.
|
static BigInteger |
BigInteger.NEGATIVE_TWO
The BigInteger constant negative two.
|
static BigInteger |
BigInteger.ONE
The BigInteger constant one.
|
static BigInteger |
BigInteger.SEVEN
The BigInteger constant seven.
|
static BigInteger |
BigInteger.SHORT_MAX_VALUE
The BigInteger constant Int.MAX_VALUE.
|
static BigInteger |
BigInteger.SIX
The BigInteger constant six.
|
static BigInteger |
BigInteger.TEN
The BigInteger constant ten.
|
static BigInteger |
BigInteger.THREE
The BigInteger constant three.
|
static BigInteger |
BigInteger.TWO
The BigInteger constant two.
|
static BigInteger |
BigInteger.ZERO
The BigInteger constant zero.
|
Modifier and Type | Method and Description |
---|---|
BigInteger |
BigInteger.abs()
Returns a BigInteger whose value is the absolute value of this
BigInteger.
|
static BigInteger |
BigIntegerUtil.abs(BigInteger a) |
BigInteger |
BigInteger.add(BigInteger val)
Returns a BigInteger whose value is
(this + val) . |
BigInteger |
BigInteger.and(BigInteger val)
Returns a BigInteger whose value is
(this & val) . |
BigInteger |
BigInteger.andNot(BigInteger val)
Returns a BigInteger whose value is
(this & ~val) . |
static BigInteger |
BigIntegerUtil.binomial(int n,
int k)
Binomial coefficient
|
BigInteger |
BigInteger.clearBit(int n)
Returns a BigInteger whose value is equivalent to this BigInteger
with the designated bit cleared.
|
BigInteger |
BigInteger.decrement() |
BigInteger |
BigInteger.divide(BigInteger val)
Returns a BigInteger whose value is
(this / val) . |
BigInteger |
BigInteger.divide(BigInteger val,
int numThreads)
Returns a BigInteger whose value is
(this / val) ,
using multiple threads if the numbers are sufficiently large. |
BigInteger[] |
BigInteger.divideAndRemainder(BigInteger val)
Returns an array of two BigIntegers containing
(this / val)
followed by (this % val) . |
BigInteger[] |
BigInteger.divideAndRemainder(BigInteger val,
int numThreads)
Returns an array of two BigIntegers containing
(this / val)
followed by (this % val) .Uses a specified number of threads if the inputs are sufficiently large. |
BigInteger[] |
BigInteger.divideAndRemainderParallel(BigInteger val)
Returns an array of two BigIntegers containing
(this / val)
followed by (this % val) .Uses multiple threads if the numbers are sufficiently large. |
BigInteger |
BigInteger.divideExact(BigInteger val)
Returns a BigInteger whose value is
(this / val) . |
BigInteger |
BigInteger.divideParallel(BigInteger val)
Returns a BigInteger whose value is
(this / val) ,
using multiple threads if the numbers are sufficiently large. |
static BigInteger |
BigIntegerUtil.factorial(int number)
Factorial of a number
|
BigInteger |
BigInteger.flipBit(int n)
Returns a BigInteger whose value is equivalent to this BigInteger
with the designated bit flipped.
|
BigInteger |
BigInteger.gcd(BigInteger val)
Returns a BigInteger whose value is the greatest common divisor of
abs(this) and abs(val) . |
static BigInteger |
BigIntegerUtil.gcd(BigInteger[] integers,
int from,
int to)
Returns the greatest common an array of longs
|
static BigInteger |
BigIntegerUtil.gcd(BigInteger a,
BigInteger b) |
BigInteger |
BigInteger.increment() |
BigInteger |
BigInteger.max(BigInteger val)
Returns the maximum of this BigInteger and
val . |
static BigInteger |
BigIntegerUtil.max(BigInteger a,
BigInteger b) |
BigInteger |
BigInteger.min(BigInteger val)
Returns the minimum of this BigInteger and
val . |
BigInteger |
BigInteger.mod(BigInteger m)
Returns a BigInteger whose value is
(this mod m ). |
BigInteger |
BigInteger.modInverse(BigInteger m)
Returns a BigInteger whose value is
(this -1 mod m) . |
BigInteger |
BigInteger.modPow(BigInteger exponent,
BigInteger m)
Returns a BigInteger whose value is
(thisexponent mod m).
|
BigInteger |
BigInteger.multiply(BigInteger val)
Returns a BigInteger whose value is
(this * val) . |
BigInteger |
BigInteger.multiply(BigInteger val,
int numThreads)
Multiplies
this number by another using a specified number of
threads if the inputs are sufficiently large. |
BigInteger |
BigInteger.multiplyParallel(BigInteger val)
Multiplies
this number by another using multiple threads if the
numbers are sufficiently large. |
BigInteger |
BigInteger.negate()
Returns a BigInteger whose value is
(-this) . |
BigInteger |
BigInteger.nextProbablePrime()
Returns the first integer greater than this
BigInteger that
is probably prime. |
BigInteger |
BigInteger.not()
Returns a BigInteger whose value is
(~this) . |
BigInteger |
BigInteger.or(BigInteger val)
Returns a BigInteger whose value is
(this | val) . |
static BigInteger[] |
BigIntegerUtil.perfectPowerDecomposition(BigInteger n)
Tests whether
n is a perfect power n == a^b and returns {a, b} if so and null
otherwise |
static BigInteger |
BigIntegerUtil.pow(BigInteger base,
BigInteger exponent)
Returns
base in a power of e (non negative) |
static BigInteger |
BigIntegerUtil.pow(BigInteger base,
int exponent)
Returns
base in a power of e (non negative) |
static BigInteger |
BigIntegerUtil.pow(BigInteger base,
long exponent)
Returns
base in a power of e (non negative) |
BigInteger |
BigInteger.pow(int exponent)
Returns a BigInteger whose value is (thisexponent).
|
static BigInteger |
BigIntegerUtil.pow(long base,
long exponent)
Returns
base in a power of e (non negative) |
static BigInteger |
BigInteger.probablePrime(int bitLength,
Random rnd)
Returns a positive BigInteger that is probably prime, with the
specified bitLength.
|
BigInteger |
BigInteger.remainder(BigInteger val)
Returns a BigInteger whose value is
(this % val) . |
BigInteger |
BigInteger.remainder(BigInteger val,
int numThreads)
Returns a BigInteger whose value is
(this % val) using a
specified number of threads if the inputs are sufficiently large. |
BigInteger |
BigInteger.remainderParallel(BigInteger val)
Returns a BigInteger whose value is
(this % val) ,
using multiple threads if the inputs are sufficiently large. |
BigInteger |
BigInteger.setBit(int n)
Returns a BigInteger whose value is equivalent to this BigInteger
with the designated bit set.
|
BigInteger |
BigInteger.shiftLeft(int n)
Returns a BigInteger whose value is
(this << n) . |
BigInteger |
BigInteger.shiftRight(int n)
Returns a BigInteger whose value is
(this >> n) . |
static BigInteger |
BigIntegerUtil.sqrtCeil(BigInteger val)
Returns ceil square root of
val |
static BigInteger |
BigIntegerUtil.sqrtFloor(BigInteger val)
Returns floor square root of
val |
BigInteger |
BigInteger.subtract(BigInteger val)
Returns a BigInteger whose value is
(this - val) . |
BigInteger |
BigDecimal.toBigInteger()
Converts this
BigDecimal to a BigInteger . |
BigInteger |
BigDecimal.toBigIntegerExact()
Converts this
BigDecimal to a BigInteger ,
checking for lost information. |
BigInteger |
BigDecimal.unscaledValue()
Returns a
BigInteger whose value is the unscaled
value of this BigDecimal . |
static BigInteger |
BigInteger.valueOf(int val)
Returns a BigInteger whose value is equal to that of the
specified
long . |
static BigInteger |
BigInteger.valueOf(long val)
Returns a BigInteger whose value is equal to that of the
specified
long . |
static BigInteger |
BigInteger.valueOfSigned(long bits)
Converts signed long to BigInteger
|
static BigInteger |
BigInteger.valueOfUnsigned(long bits)
Converts unsigned long to BigInteger
|
BigInteger |
BigInteger.xor(BigInteger val)
Returns a BigInteger whose value is
(this ^ val) . |
Modifier and Type | Method and Description |
---|---|
static BigInteger |
BigIntegerUtil.abs(BigInteger a) |
BigInteger |
BigInteger.add(BigInteger val)
Returns a BigInteger whose value is
(this + val) . |
BigInteger |
BigInteger.and(BigInteger val)
Returns a BigInteger whose value is
(this & val) . |
BigInteger |
BigInteger.andNot(BigInteger val)
Returns a BigInteger whose value is
(this & ~val) . |
int |
BigInteger.compareTo(BigInteger val)
Compares this BigInteger with the specified BigInteger.
|
BigInteger |
BigInteger.divide(BigInteger val)
Returns a BigInteger whose value is
(this / val) . |
BigInteger |
BigInteger.divide(BigInteger val,
int numThreads)
Returns a BigInteger whose value is
(this / val) ,
using multiple threads if the numbers are sufficiently large. |
BigInteger[] |
BigInteger.divideAndRemainder(BigInteger val)
Returns an array of two BigIntegers containing
(this / val)
followed by (this % val) . |
BigInteger[] |
BigInteger.divideAndRemainder(BigInteger val,
int numThreads)
Returns an array of two BigIntegers containing
(this / val)
followed by (this % val) .Uses a specified number of threads if the inputs are sufficiently large. |
BigInteger[] |
BigInteger.divideAndRemainderParallel(BigInteger val)
Returns an array of two BigIntegers containing
(this / val)
followed by (this % val) .Uses multiple threads if the numbers are sufficiently large. |
BigInteger |
BigInteger.divideExact(BigInteger val)
Returns a BigInteger whose value is
(this / val) . |
BigInteger |
BigInteger.divideParallel(BigInteger val)
Returns a BigInteger whose value is
(this / val) ,
using multiple threads if the numbers are sufficiently large. |
BigInteger |
BigInteger.gcd(BigInteger val)
Returns a BigInteger whose value is the greatest common divisor of
abs(this) and abs(val) . |
static BigInteger |
BigIntegerUtil.gcd(BigInteger[] integers,
int from,
int to)
Returns the greatest common an array of longs
|
static BigInteger |
BigIntegerUtil.gcd(BigInteger a,
BigInteger b) |
BigInteger |
BigInteger.max(BigInteger val)
Returns the maximum of this BigInteger and
val . |
static BigInteger |
BigIntegerUtil.max(BigInteger a,
BigInteger b) |
BigInteger |
BigInteger.min(BigInteger val)
Returns the minimum of this BigInteger and
val . |
BigInteger |
BigInteger.mod(BigInteger m)
Returns a BigInteger whose value is
(this mod m ). |
BigInteger |
BigInteger.modInverse(BigInteger m)
Returns a BigInteger whose value is
(this -1 mod m) . |
BigInteger |
BigInteger.modPow(BigInteger exponent,
BigInteger m)
Returns a BigInteger whose value is
(thisexponent mod m).
|
BigInteger |
BigInteger.multiply(BigInteger val)
Returns a BigInteger whose value is
(this * val) . |
BigInteger |
BigInteger.multiply(BigInteger val,
int numThreads)
Multiplies
this number by another using a specified number of
threads if the inputs are sufficiently large. |
BigInteger |
BigInteger.multiplyParallel(BigInteger val)
Multiplies
this number by another using multiple threads if the
numbers are sufficiently large. |
BigInteger |
BigInteger.or(BigInteger val)
Returns a BigInteger whose value is
(this | val) . |
static BigInteger[] |
BigIntegerUtil.perfectPowerDecomposition(BigInteger n)
Tests whether
n is a perfect power n == a^b and returns {a, b} if so and null
otherwise |
static BigInteger |
BigIntegerUtil.pow(BigInteger base,
BigInteger exponent)
Returns
base in a power of e (non negative) |
static BigInteger |
BigIntegerUtil.pow(BigInteger base,
int exponent)
Returns
base in a power of e (non negative) |
static BigInteger |
BigIntegerUtil.pow(BigInteger base,
long exponent)
Returns
base in a power of e (non negative) |
BigInteger |
BigInteger.remainder(BigInteger val)
Returns a BigInteger whose value is
(this % val) . |
BigInteger |
BigInteger.remainder(BigInteger val,
int numThreads)
Returns a BigInteger whose value is
(this % val) using a
specified number of threads if the inputs are sufficiently large. |
BigInteger |
BigInteger.remainderParallel(BigInteger val)
Returns a BigInteger whose value is
(this % val) ,
using multiple threads if the inputs are sufficiently large. |
static BigInteger |
BigIntegerUtil.sqrtCeil(BigInteger val)
Returns ceil square root of
val |
static BigInteger |
BigIntegerUtil.sqrtFloor(BigInteger val)
Returns floor square root of
val |
BigInteger |
BigInteger.subtract(BigInteger val)
Returns a BigInteger whose value is
(this - val) . |
BigInteger |
BigInteger.xor(BigInteger val)
Returns a BigInteger whose value is
(this ^ val) . |
Constructor and Description |
---|
BigDecimal(BigInteger val)
Translates a
BigInteger into a BigDecimal . |
BigDecimal(BigInteger unscaledVal,
int scale)
Translates a
BigInteger unscaled value and an
int scale into a BigDecimal . |
BigDecimal(BigInteger unscaledVal,
int scale,
MathContext mc)
Translates a
BigInteger unscaled value and an
int scale into a BigDecimal , with rounding
according to the context settings. |
BigDecimal(BigInteger val,
MathContext mc)
Translates a
BigInteger into a BigDecimal
rounding according to the context settings. |
Modifier and Type | Field and Description |
---|---|
static BigInteger |
MachineArithmetic.b_MAX_SUPPORTED_MODULUS
Max supported modulus
|
Modifier and Type | Method and Description |
---|---|
BigInteger |
FiniteField.cardinality() |
BigInteger |
FiniteField.characteristic() |
BigInteger |
IPolynomial.coefficientRingCardinality()
Returns cardinality of the coefficient ring of this poly
|
BigInteger |
IPolynomial.coefficientRingCharacteristic()
Returns characteristic of the coefficient ring of this poly
|
BigInteger |
IPolynomial.coefficientRingPerfectPowerBase()
Returns
base so that coefficientRingCardinality() == base^exponent or null if cardinality is not
finite |
BigInteger |
IPolynomial.coefficientRingPerfectPowerExponent()
Returns
exponent so that coefficientRingCardinality() == base^exponent or null if cardinality is
not finite |
Modifier and Type | Method and Description |
---|---|
Poly |
IPolynomial.multiplyByBigInteger(BigInteger factor)
Multiplies this by
factor |
static <T extends IPolynomial<T>> |
PolynomialMethods.polyPow(T base,
BigInteger exponent)
Returns
base in a power of non-negative exponent |
static <T extends IPolynomial<T>> |
PolynomialMethods.polyPow(T base,
BigInteger exponent,
boolean copy)
Returns
base in a power of non-negative exponent . |
Poly |
FiniteField.valueOfBigInteger(BigInteger val) |
Modifier and Type | Field and Description |
---|---|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBasis.HilbertSeries.initialNumerator
Initial numerator (numerator and denominator may have nontrivial GCD)
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBasis.HilbertSeries.numerator
Reduced numerator (GCD is cancelled)
|
Modifier and Type | Method and Description |
---|---|
BigInteger |
MultivariatePolynomial.coefficientRingCardinality() |
BigInteger |
MultivariatePolynomialZp64.coefficientRingCardinality() |
BigInteger |
MultivariatePolynomial.coefficientRingCharacteristic() |
BigInteger |
MultivariatePolynomialZp64.coefficientRingCharacteristic() |
BigInteger |
MultivariatePolynomial.coefficientRingPerfectPowerBase() |
BigInteger |
MultivariatePolynomialZp64.coefficientRingPerfectPowerBase() |
BigInteger |
MultivariatePolynomial.coefficientRingPerfectPowerExponent() |
BigInteger |
MultivariatePolynomialZp64.coefficientRingPerfectPowerExponent() |
Modifier and Type | Method and Description |
---|---|
MultivariatePolynomial<BigInteger> |
MultivariatePolynomialZp64.asPolyZ()
Returns polynomial over Z formed from the coefficients of this
|
static MultivariatePolynomial<BigInteger> |
MultivariatePolynomial.asPolyZ(MultivariatePolynomial<BigInteger> poly,
boolean copy)
Returns Z[X] polynomial formed from the coefficients of the poly.
|
MultivariatePolynomial<BigInteger> |
MultivariatePolynomialZp64.asPolyZSymmetric()
Returns polynomial over Z formed from the coefficients of this represented in symmetric modular form (
-modulus/2 <= cfx <= modulus/2 ). |
static MultivariatePolynomial<BigInteger> |
MultivariatePolynomial.asPolyZSymmetric(MultivariatePolynomial<BigInteger> poly)
Converts Zp[x] polynomial to Z[x] polynomial formed from the coefficients of this represented in symmetric
modular form (
-modulus/2 <= cfx <= modulus/2 ). |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.cyclic(int n) |
static PolynomialFactorDecomposition<MultivariatePolynomial<BigInteger>> |
MultivariateFactorization.FactorInZ(MultivariatePolynomial<BigInteger> polynomial)
Factors multivariate polynomial over Z
|
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasis.GroebnerBasisInQ(List<MultivariatePolynomial<Rational<BigInteger>>> generators,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean tryModular)
Computes Groebner basis (minimized and reduced) of a given ideal over Q represented by a list of generators.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.GroebnerBasisInZ(List<MultivariatePolynomial<BigInteger>> generators,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean tryModular)
Computes Groebner basis (minimized and reduced) of a given ideal over Z represented by a list of generators.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.GroebnerBasisInZ(List<MultivariatePolynomial<BigInteger>> generators,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean tryModular)
Computes Groebner basis (minimized and reduced) of a given ideal over Z represented by a list of generators.
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBasis.HilbertSeries.hilbertPolynomial()
Hilbert polynomial
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBasis.HilbertSeries.hilbertPolynomialZ()
Integral Hilbert polynomial (i.e.
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBasis.HilbertSeries.integralPart()
Integral part I(t) of HPS(t): HPS(t) = I(t) + Q(t)/(1-t)^m
|
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura(int i) |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura10() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura11() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura12() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura13() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura14() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura2() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura3() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura4() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura5() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura6() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura7() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura8() |
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasisData.katsura9() |
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
cc.redberry.rings.poly.multivar.GroebnerBasis.GroebnerAlgorithm modularAlgorithm,
cc.redberry.rings.poly.multivar.GroebnerBasis.GroebnerAlgorithm defaultAlgorithm,
BigInteger firstPrime,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean trySparse)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
cc.redberry.rings.poly.multivar.GroebnerBasis.GroebnerAlgorithm modularAlgorithm,
cc.redberry.rings.poly.multivar.GroebnerBasis.GroebnerAlgorithm defaultAlgorithm,
BigInteger firstPrime,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean trySparse)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean trySparse)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean trySparse)
Modular Groebner basis algorithm.
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.ModularGCDInZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b,
BiFunction<MultivariatePolynomialZp64,MultivariatePolynomialZp64,MultivariatePolynomialZp64> gcdInZp)
Modular GCD algorithm for polynomials over Z.
|
static MultivariatePolynomial<BigInteger> |
MultivariatePolynomial.parse(String string,
Comparator<DegreeVector> ordering,
String... variables)
Parse multivariate Z[X] polynomial from string.
|
static MultivariatePolynomial<BigInteger> |
MultivariatePolynomial.parse(String string,
String... variables)
Parse multivariate Z[X] polynomial from string.
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.PolynomialGCDinZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b)
Calculates greatest common divisor of two multivariate polynomials over Z
|
static MultivariatePolynomial<BigInteger> |
RandomMultivariatePolynomials.randomPolynomial(int nVars,
int degree,
int size,
BigInteger bound,
Comparator<DegreeVector> ordering,
org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Z[X] polynomial with coefficients bounded by
bound |
static MultivariatePolynomial<BigInteger> |
RandomMultivariatePolynomials.randomPolynomial(int nVars,
int degree,
int size,
org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Z[X] polynomial
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBasis.HilbertSeries.remainderNumerator()
Remainder part R(t) of HPS(t): HPS(t) = I(t) + R(t)/(1-t)^m
|
Monomial<BigInteger> |
MonomialZp64.toBigMonomial() |
MultivariatePolynomial<BigInteger> |
MultivariatePolynomialZp64.toBigPoly()
Returns polynomial over Z formed from the coefficients of this
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.ZippelGCDInZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b)
Sparse modular GCD algorithm for polynomials over Z.
|
Modifier and Type | Method and Description |
---|---|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
cc.redberry.rings.poly.multivar.GroebnerBasis.GroebnerAlgorithm modularAlgorithm,
cc.redberry.rings.poly.multivar.GroebnerBasis.GroebnerAlgorithm defaultAlgorithm,
BigInteger firstPrime,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean trySparse)
Modular Groebner basis algorithm.
|
MultivariatePolynomial<E> |
MultivariatePolynomial.multiplyByBigInteger(BigInteger factor) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.multiplyByBigInteger(BigInteger factor) |
static MultivariatePolynomial<BigInteger> |
RandomMultivariatePolynomials.randomPolynomial(int nVars,
int degree,
int size,
BigInteger bound,
Comparator<DegreeVector> ordering,
org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Z[X] polynomial with coefficients bounded by
bound |
Modifier and Type | Method and Description |
---|---|
static MultivariatePolynomialZp64 |
MultivariatePolynomial.asOverZp64(MultivariatePolynomial<BigInteger> poly)
Converts multivariate polynomial over BigIntegers to multivariate polynomial over machine modular integers
|
static MultivariatePolynomial<BigInteger> |
MultivariatePolynomial.asPolyZ(MultivariatePolynomial<BigInteger> poly,
boolean copy)
Returns Z[X] polynomial formed from the coefficients of the poly.
|
static MultivariatePolynomial<BigInteger> |
MultivariatePolynomial.asPolyZSymmetric(MultivariatePolynomial<BigInteger> poly)
Converts Zp[x] polynomial to Z[x] polynomial formed from the coefficients of this represented in symmetric
modular form (
-modulus/2 <= cfx <= modulus/2 ). |
static PolynomialFactorDecomposition<MultivariatePolynomial<BigInteger>> |
MultivariateFactorization.FactorInZ(MultivariatePolynomial<BigInteger> polynomial)
Factors multivariate polynomial over Z
|
static List<MultivariatePolynomial<Rational<BigInteger>>> |
GroebnerBasis.GroebnerBasisInQ(List<MultivariatePolynomial<Rational<BigInteger>>> generators,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean tryModular)
Computes Groebner basis (minimized and reduced) of a given ideal over Q represented by a list of generators.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.GroebnerBasisInZ(List<MultivariatePolynomial<BigInteger>> generators,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean tryModular)
Computes Groebner basis (minimized and reduced) of a given ideal over Z represented by a list of generators.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
cc.redberry.rings.poly.multivar.GroebnerBasis.GroebnerAlgorithm modularAlgorithm,
cc.redberry.rings.poly.multivar.GroebnerBasis.GroebnerAlgorithm defaultAlgorithm,
BigInteger firstPrime,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean trySparse)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries)
Modular Groebner basis algorithm.
|
static cc.redberry.rings.poly.multivar.GroebnerBasis.GBResult<Monomial<BigInteger>,MultivariatePolynomial<BigInteger>> |
GroebnerBasis.ModularGB(List<MultivariatePolynomial<BigInteger>> ideal,
Comparator<DegreeVector> monomialOrder,
GroebnerBasis.HilbertSeries hilbertSeries,
boolean trySparse)
Modular Groebner basis algorithm.
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.ModularGCDInZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b,
BiFunction<MultivariatePolynomialZp64,MultivariatePolynomialZp64,MultivariatePolynomialZp64> gcdInZp)
Modular GCD algorithm for polynomials over Z.
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.ModularGCDInZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b,
BiFunction<MultivariatePolynomialZp64,MultivariatePolynomialZp64,MultivariatePolynomialZp64> gcdInZp)
Modular GCD algorithm for polynomials over Z.
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.PolynomialGCDinZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b)
Calculates greatest common divisor of two multivariate polynomials over Z
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.PolynomialGCDinZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b)
Calculates greatest common divisor of two multivariate polynomials over Z
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.ZippelGCDInZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b)
Sparse modular GCD algorithm for polynomials over Z.
|
static MultivariatePolynomial<BigInteger> |
MultivariateGCD.ZippelGCDInZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b)
Sparse modular GCD algorithm for polynomials over Z.
|
Modifier and Type | Field and Description |
---|---|
UnivariatePolynomial<BigInteger> |
HenselLifting.bQuadraticLift.base
Initial Z[x] poly
|
Modifier and Type | Method and Description |
---|---|
BigInteger |
UnivariatePolynomialZp64.coefficientRingCardinality() |
BigInteger |
UnivariatePolynomial.coefficientRingCardinality() |
BigInteger |
UnivariatePolynomialZ64.coefficientRingCardinality() |
BigInteger |
UnivariatePolynomialZp64.coefficientRingCharacteristic() |
BigInteger |
UnivariatePolynomial.coefficientRingCharacteristic() |
BigInteger |
UnivariatePolynomialZ64.coefficientRingCharacteristic() |
BigInteger |
UnivariatePolynomialZp64.coefficientRingPerfectPowerBase() |
BigInteger |
UnivariatePolynomial.coefficientRingPerfectPowerBase() |
BigInteger |
UnivariatePolynomialZ64.coefficientRingPerfectPowerBase() |
BigInteger |
UnivariatePolynomialZp64.coefficientRingPerfectPowerExponent() |
BigInteger |
UnivariatePolynomial.coefficientRingPerfectPowerExponent() |
BigInteger |
UnivariatePolynomialZ64.coefficientRingPerfectPowerExponent() |
static BigInteger |
UnivariatePolynomial.mignotteBound(UnivariatePolynomial<BigInteger> poly)
Returns Mignotte's bound (sqrt(n+1) * 2^n max |this|) of the poly
|
static BigInteger |
UnivariatePolynomial.norm1(UnivariatePolynomial<BigInteger> poly)
Returns L1 norm of the polynomial, i.e.
|
static BigInteger |
UnivariatePolynomial.norm2(UnivariatePolynomial<BigInteger> poly)
Returns L2 norm of the polynomial, i.e.
|
static BigInteger[] |
RandomUnivariatePolynomials.randomBigArray(int degree,
BigInteger bound,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random array of length
degree + 1 with elements bounded by bound (by absolute value). |
Modifier and Type | Method and Description |
---|---|
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.aCoFactorMod() |
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.aFactorMod() |
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.asPolyZSymmetric(UnivariatePolynomial<BigInteger> poly)
Converts Zp[x] polynomial to Z[x] polynomial formed from the coefficients of this represented in symmetric
modular form (
-modulus/2 <= cfx <= modulus/2 ). |
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.bCoFactorMod() |
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.bFactorMod() |
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.create(long... data)
Creates new univariate Z[x] polynomial
|
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.create(Ring<BigInteger> ring,
long... data)
Creates univariate polynomial over specified ring (with integer elements) with the specified coefficients
|
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorization(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomialZp64> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound . |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorization(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomialZp64> modularFactors,
boolean quadratic)
Lifts modular factorization until
modulus will overcome desiredBound . |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorizationQuadratic(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomial<BigInteger>> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound . |
static UnivariatePolynomial<BigInteger> |
UnivariateGCD.ModularGCD(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular GCD algorithm for polynomials over Z.
|
UnivariatePolynomial<BigInteger> |
HenselLifting.bQuadraticLift.polyMod() |
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.polyMod() |
static UnivariatePolynomial<BigInteger> |
IrreduciblePolynomials.randomIrreduciblePolynomialOverZ(int degree,
org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible polynomial over Z
|
static UnivariatePolynomial<BigInteger> |
RandomUnivariatePolynomials.randomMonicPoly(int degree,
BigInteger modulus,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree . |
static UnivariatePolynomial<BigInteger> |
RandomUnivariatePolynomials.randomPoly(int degree,
BigInteger bound,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree with elements bounded by bound (by absolute
value). |
UnivariatePolynomial<BigInteger> |
UnivariatePolynomialZp64.toBigPoly()
Converts this to a polynomial over BigIntegers
|
UnivariatePolynomial<BigInteger> |
UnivariatePolynomialZ64.toBigPoly()
Converts this to a polynomial over BigIntegers
|
Modifier and Type | Method and Description |
---|---|
static HenselLifting.bLinearLift |
HenselLifting.createLinearLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates linear Hensel lift.
|
static HenselLifting.lLinearLift |
HenselLifting.createLinearLift(BigInteger modulus,
UnivariatePolynomialZ64 poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates linear Hensel lift.
|
static <T extends IUnivariatePolynomial<T>> |
UnivariatePolynomialArithmetic.createMonomialMod(BigInteger exponent,
T polyModulus,
UnivariateDivision.InverseModMonomial<T> invMod)
Creates
x^exponent mod polyModulus . |
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomial<BigInteger> aFactor,
UnivariatePolynomial<BigInteger> bFactor)
Creates quadratic Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates quadratic Hensel lift.
|
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorization(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomialZp64> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound . |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorization(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomialZp64> modularFactors,
boolean quadratic)
Lifts modular factorization until
modulus will overcome desiredBound . |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorizationQuadratic(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomial<BigInteger>> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound . |
UnivariatePolynomialZp64 |
UnivariatePolynomialZp64.multiplyByBigInteger(BigInteger factor) |
UnivariatePolynomial<E> |
UnivariatePolynomial.multiplyByBigInteger(BigInteger factor) |
UnivariatePolynomialZ64 |
UnivariatePolynomialZ64.multiplyByBigInteger(BigInteger factor) |
static <T extends IUnivariatePolynomial<T>> |
UnivariatePolynomialArithmetic.polyPowMod(T base,
BigInteger exponent,
T polyModulus,
boolean copy)
Returns
base in a power of non-negative exponent modulo polyModulus |
static <T extends IUnivariatePolynomial<T>> |
UnivariatePolynomialArithmetic.polyPowMod(T base,
BigInteger exponent,
T polyModulus,
UnivariateDivision.InverseModMonomial<T> invMod,
boolean copy)
Returns
base in a power of non-negative exponent modulo polyModulus |
static BigInteger[] |
RandomUnivariatePolynomials.randomBigArray(int degree,
BigInteger bound,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random array of length
degree + 1 with elements bounded by bound (by absolute value). |
static UnivariatePolynomial<BigInteger> |
RandomUnivariatePolynomials.randomMonicPoly(int degree,
BigInteger modulus,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree . |
static UnivariatePolynomial<BigInteger> |
RandomUnivariatePolynomials.randomPoly(int degree,
BigInteger bound,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree with elements bounded by bound (by absolute
value). |
Modifier and Type | Method and Description |
---|---|
static UnivariatePolynomialZ64 |
UnivariatePolynomial.asOverZ64(UnivariatePolynomial<BigInteger> poly)
Converts poly over BigIntegers to machine-sized polynomial in Z
|
static UnivariatePolynomialZp64 |
UnivariatePolynomial.asOverZp64(UnivariatePolynomial<BigInteger> poly)
Converts Zp[x] poly over BigIntegers to machine-sized polynomial in Zp
|
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.asPolyZSymmetric(UnivariatePolynomial<BigInteger> poly)
Converts Zp[x] polynomial to Z[x] polynomial formed from the coefficients of this represented in symmetric
modular form (
-modulus/2 <= cfx <= modulus/2 ). |
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.create(Ring<BigInteger> ring,
long... data)
Creates univariate polynomial over specified ring (with integer elements) with the specified coefficients
|
static HenselLifting.bLinearLift |
HenselLifting.createLinearLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates linear Hensel lift.
|
static HenselLifting.bLinearLift |
HenselLifting.createLinearLift(long modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates linear Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomial<BigInteger> aFactor,
UnivariatePolynomial<BigInteger> bFactor)
Creates quadratic Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomial<BigInteger> aFactor,
UnivariatePolynomial<BigInteger> bFactor)
Creates quadratic Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomial<BigInteger> aFactor,
UnivariatePolynomial<BigInteger> bFactor)
Creates quadratic Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates quadratic Hensel lift.
|
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorization(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomialZp64> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound . |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorization(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomialZp64> modularFactors,
boolean quadratic)
Lifts modular factorization until
modulus will overcome desiredBound . |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorizationQuadratic(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomial<BigInteger>> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound . |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorizationQuadratic(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomial<BigInteger>> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound . |
static BigInteger |
UnivariatePolynomial.mignotteBound(UnivariatePolynomial<BigInteger> poly)
Returns Mignotte's bound (sqrt(n+1) * 2^n max |this|) of the poly
|
static UnivariatePolynomial<Rational<BigInteger>>[] |
UnivariateGCD.ModularExtendedGCD(UnivariatePolynomial<Rational<BigInteger>> a,
UnivariatePolynomial<Rational<BigInteger>> b)
Modular GCD algorithm for polynomials over Z.
|
static UnivariatePolynomial<Rational<BigInteger>>[] |
UnivariateGCD.ModularExtendedGCD(UnivariatePolynomial<Rational<BigInteger>> a,
UnivariatePolynomial<Rational<BigInteger>> b)
Modular GCD algorithm for polynomials over Z.
|
static UnivariatePolynomial<BigInteger> |
UnivariateGCD.ModularGCD(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular GCD algorithm for polynomials over Z.
|
static UnivariatePolynomial<BigInteger> |
UnivariateGCD.ModularGCD(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular GCD algorithm for polynomials over Z.
|
static BigInteger |
UnivariatePolynomial.norm1(UnivariatePolynomial<BigInteger> poly)
Returns L1 norm of the polynomial, i.e.
|
static BigInteger |
UnivariatePolynomial.norm2(UnivariatePolynomial<BigInteger> poly)
Returns L2 norm of the polynomial, i.e.
|
static double |
UnivariatePolynomial.norm2Double(UnivariatePolynomial<BigInteger> poly)
Returns L2 norm of the poly, i.e.
|
Constructor and Description |
---|
bQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> base,
UnivariatePolynomial<BigInteger> aFactor,
UnivariatePolynomial<BigInteger> bFactor,
UnivariatePolynomial<BigInteger> aCoFactor,
UnivariatePolynomial<BigInteger> bCoFactor) |
Modifier and Type | Method and Description |
---|---|
static BigInteger |
BigPrimes.fermat(BigInteger n,
long upperBound)
Fermat's factoring algorithm works like trial division, but walks in the opposite direction.
|
BigInteger |
SieveOfAtkin.getLimitAsBigInteger() |
static BigInteger |
BigPrimes.nextPrime(BigInteger n)
Return the smallest prime greater than or equal to n.
|
static BigInteger |
BigPrimes.PollardP1(BigInteger n,
long upperBound)
Pollards's p-1 algorithm.
|
static BigInteger |
BigPrimes.PollardRho(BigInteger n,
int attempts,
org.apache.commons.math3.random.RandomGenerator rn)
Pollards's rho algorithm (random search version).
|
static BigInteger |
BigPrimes.PollardRho(BigInteger n,
long upperBound)
Pollards's rho algorithm.
|
static BigInteger |
BigPrimes.QuadraticSieve(BigInteger n,
int bound) |
Modifier and Type | Method and Description |
---|---|
static List<BigInteger> |
BigPrimes.primeFactors(BigInteger num)
Prime factors decomposition.
|
Modifier and Type | Method and Description |
---|---|
static SieveOfAtkin |
SieveOfAtkin.createSieve(BigInteger limit) |
static BigInteger |
BigPrimes.fermat(BigInteger n,
long upperBound)
Fermat's factoring algorithm works like trial division, but walks in the opposite direction.
|
static boolean |
BigPrimes.isPrime(BigInteger n)
Strong primality test.
|
static boolean |
BigPrimes.LucasPrimalityTest(BigInteger n,
int k,
org.apache.commons.math3.random.RandomGenerator rnd) |
static BigInteger |
BigPrimes.nextPrime(BigInteger n)
Return the smallest prime greater than or equal to n.
|
static BigInteger |
BigPrimes.PollardP1(BigInteger n,
long upperBound)
Pollards's p-1 algorithm.
|
static BigInteger |
BigPrimes.PollardRho(BigInteger n,
int attempts,
org.apache.commons.math3.random.RandomGenerator rn)
Pollards's rho algorithm (random search version).
|
static BigInteger |
BigPrimes.PollardRho(BigInteger n,
long upperBound)
Pollards's rho algorithm.
|
static List<BigInteger> |
BigPrimes.primeFactors(BigInteger num)
Prime factors decomposition.
|
static BigInteger |
BigPrimes.QuadraticSieve(BigInteger n,
int bound) |
Modifier and Type | Method and Description |
---|---|
static BigInteger[] |
ArraysUtil.getSortedDistinct(BigInteger[] values)
Sort array & return array with removed repetitive values.
|
static BigInteger[] |
ArraysUtil.negate(BigInteger[] arr) |
static BigInteger[] |
RandomUtil.randomBigIntegerArray(int length,
BigInteger min,
BigInteger max,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random array of length
degree + 1 with elements bounded by bound (by absolute value). |
static BigInteger |
RandomUtil.randomInt(BigInteger bound,
org.apache.commons.math3.random.RandomGenerator rnd)
Returns random integer in range
[0, bound) . |
Modifier and Type | Method and Description |
---|---|
static BigInteger[] |
ArraysUtil.getSortedDistinct(BigInteger[] values)
Sort array & return array with removed repetitive values.
|
static BigInteger[] |
ArraysUtil.negate(BigInteger[] arr) |
static BigInteger[] |
RandomUtil.randomBigIntegerArray(int length,
BigInteger min,
BigInteger max,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random array of length
degree + 1 with elements bounded by bound (by absolute value). |
static BigInteger |
RandomUtil.randomInt(BigInteger bound,
org.apache.commons.math3.random.RandomGenerator rnd)
Returns random integer in range
[0, bound) . |
Copyright © 2018. All rights reserved.