public final class MultivariateGCD extends Object
Modifier and Type | Method and Description |
---|---|
static <E> MultivariatePolynomial<E> |
BrownGCD(MultivariatePolynomial<E> a,
MultivariatePolynomial<E> b)
Calculates GCD of two multivariate polynomials over Zp using Brown's algorithm with dense interpolation.
|
static MultivariatePolynomialZp64 |
BrownGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using Brown's algorithm with dense interpolation.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
EEZGCD(Poly a,
Poly b)
Calculates GCD of two multivariate polynomials over Zp using enhanced EZ algorithm
|
static MultivariatePolynomialZp64 |
EZGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using EZ algorithm
|
static <E> MultivariatePolynomial<E> |
KaltofenMonaganEEZModularGCDInGF(MultivariatePolynomial<E> a,
MultivariatePolynomial<E> b)
Modular GCD algorithm for polynomials over finite fields of small cardinality.
|
static MultivariatePolynomialZp64 |
KaltofenMonaganEEZModularGCDInGF(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Modular GCD algorithm for polynomials over finite fields of small cardinality.
|
static MultivariatePolynomialZp64 |
KaltofenMonaganModularGCDInGF(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b,
cc.redberry.rings.poly.multivar.MultivariateGCD.KaltofenMonaganAlgorithm algorithm)
Modular GCD algorithm for polynomials over finite fields of small cardinality.
|
static <E> MultivariatePolynomial<E> |
KaltofenMonaganSparseModularGCDInGF(MultivariatePolynomial<E> a,
MultivariatePolynomial<E> b)
Modular GCD algorithm for polynomials over finite fields of small cardinality.
|
static MultivariatePolynomialZp64 |
KaltofenMonaganSparseModularGCDInGF(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Modular GCD algorithm for polynomials over finite fields of small cardinality.
|
static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> |
ModularGCDInNumberFieldViaLangemyrMcCallum(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b,
BiFunction<MultivariatePolynomial<UnivariatePolynomialZp64>,MultivariatePolynomial<UnivariatePolynomialZp64>,MultivariatePolynomial<UnivariatePolynomialZp64>> modularAlgorithm)
Zippel's sparse modular interpolation algorithm for polynomials over simple field extensions with the use of
Langemyr & McCallum approach to avoid rational reconstruction
|
static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> |
ModularGCDInNumberFieldViaRationalReconstruction(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b,
BiFunction<MultivariatePolynomial<UnivariatePolynomialZp64>,MultivariatePolynomial<UnivariatePolynomialZp64>,MultivariatePolynomial<UnivariatePolynomialZp64>> modularAlgorithm)
Modular interpolation algorithm for polynomials over simple field extensions with the use of Langemyr & McCallum
approach to avoid rational reconstruction
|
static MultivariatePolynomial<BigInteger> |
ModularGCDInZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b,
BiFunction<MultivariatePolynomialZp64,MultivariatePolynomialZp64,MultivariatePolynomialZp64> gcdInZp)
Modular GCD algorithm for polynomials over Z.
|
static <Poly extends AMultivariatePolynomial> |
PolynomialGCD(Iterable<Poly> arr)
Calculates greatest common divisor of the array of polynomials
|
static <Poly extends AMultivariatePolynomial> |
PolynomialGCD(Poly... arr)
Calculates greatest common divisor of the array of polynomials
|
static <Poly extends AMultivariatePolynomial> |
PolynomialGCD(Poly a,
Poly b)
Calculates greatest common divisor of two multivariate polynomials
|
static <Poly extends AMultivariatePolynomial> |
PolynomialGCDinGF(Poly a,
Poly b)
Calculates greatest common divisor of two multivariate polynomials over finite fields
|
static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> |
PolynomialGCDinNumberField(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Calculates greatest common divisor of two multivariate polynomials over Z
|
static MultivariatePolynomial<UnivariatePolynomial<BigInteger>> |
PolynomialGCDinRingOfIntegersOfNumberField(MultivariatePolynomial<UnivariatePolynomial<BigInteger>> a,
MultivariatePolynomial<UnivariatePolynomial<BigInteger>> b)
Calculates greatest common divisor of two multivariate polynomials over Z
|
static MultivariatePolynomial<BigInteger> |
PolynomialGCDinZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b)
Calculates greatest common divisor of two multivariate polynomials over Z
|
static <E> MultivariatePolynomial<E> |
ZippelGCD(MultivariatePolynomial<E> a,
MultivariatePolynomial<E> b)
Calculates GCD of two multivariate polynomials over Zp using Zippel's algorithm with sparse interpolation.
|
static MultivariatePolynomialZp64 |
ZippelGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using Zippel's algorithm with sparse interpolation.
|
static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> |
ZippelGCDInNumberFieldViaLangemyrMcCallum(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Zippel's sparse modular interpolation algorithm for computing GCD associate for polynomials over simple field
extensions with the use of Langemyr & McCallum approach to avoid rational reconstruction
|
static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> |
ZippelGCDInNumberFieldViaRationalReconstruction(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Zippel's sparse modular interpolation algorithm for polynomials over simple field extensions with the use of
rational reconstruction to reconstruct the result
|
static MultivariatePolynomial<BigInteger> |
ZippelGCDInZ(MultivariatePolynomial<BigInteger> a,
MultivariatePolynomial<BigInteger> b)
Sparse modular GCD algorithm for polynomials over Z.
|
public static <Poly extends AMultivariatePolynomial> Poly PolynomialGCD(Poly... arr)
arr
- set of polynomialspublic static <Poly extends AMultivariatePolynomial> Poly PolynomialGCD(Iterable<Poly> arr)
arr
- set of polynomialspublic static <Poly extends AMultivariatePolynomial> Poly PolynomialGCD(Poly a, Poly b)
a
- the first polyb
- the second polypublic static <Poly extends AMultivariatePolynomial> Poly PolynomialGCDinGF(Poly a, Poly b)
a
- the first polyb
- the second polypublic static MultivariatePolynomial<BigInteger> PolynomialGCDinZ(MultivariatePolynomial<BigInteger> a, MultivariatePolynomial<BigInteger> b)
a
- the first polyb
- the second polypublic static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> PolynomialGCDinNumberField(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a, MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
a
- the first polyb
- the second polypublic static MultivariatePolynomial<UnivariatePolynomial<BigInteger>> PolynomialGCDinRingOfIntegersOfNumberField(MultivariatePolynomial<UnivariatePolynomial<BigInteger>> a, MultivariatePolynomial<UnivariatePolynomial<BigInteger>> b)
a
- the first polyb
- the second polypublic static MultivariatePolynomial<BigInteger> ZippelGCDInZ(MultivariatePolynomial<BigInteger> a, MultivariatePolynomial<BigInteger> b)
a
- the first polynomialb
- the second polynomialpublic static MultivariatePolynomial<BigInteger> ModularGCDInZ(MultivariatePolynomial<BigInteger> a, MultivariatePolynomial<BigInteger> b, BiFunction<MultivariatePolynomialZp64,MultivariatePolynomialZp64,MultivariatePolynomialZp64> gcdInZp)
a
- the first polynomialb
- the second polynomialgcdInZp
- algorithm for gcd in Zppublic static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> ZippelGCDInNumberFieldViaRationalReconstruction(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a, MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
public static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> ZippelGCDInNumberFieldViaLangemyrMcCallum(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a, MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
public static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> ModularGCDInNumberFieldViaRationalReconstruction(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a, MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b, BiFunction<MultivariatePolynomial<UnivariatePolynomialZp64>,MultivariatePolynomial<UnivariatePolynomialZp64>,MultivariatePolynomial<UnivariatePolynomialZp64>> modularAlgorithm)
public static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> ModularGCDInNumberFieldViaLangemyrMcCallum(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a, MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b, BiFunction<MultivariatePolynomial<UnivariatePolynomialZp64>,MultivariatePolynomial<UnivariatePolynomialZp64>,MultivariatePolynomial<UnivariatePolynomialZp64>> modularAlgorithm)
public static <E> MultivariatePolynomial<E> KaltofenMonaganSparseModularGCDInGF(MultivariatePolynomial<E> a, MultivariatePolynomial<E> b)
a
- the first polynomialb
- the second polynomialpublic static <E> MultivariatePolynomial<E> KaltofenMonaganEEZModularGCDInGF(MultivariatePolynomial<E> a, MultivariatePolynomial<E> b)
a
- the first polynomialb
- the second polynomialpublic static MultivariatePolynomialZp64 KaltofenMonaganSparseModularGCDInGF(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b)
a
- the first polynomialb
- the second polynomialpublic static MultivariatePolynomialZp64 KaltofenMonaganEEZModularGCDInGF(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b)
a
- the first polynomialb
- the second polynomialpublic static MultivariatePolynomialZp64 KaltofenMonaganModularGCDInGF(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b, cc.redberry.rings.poly.multivar.MultivariateGCD.KaltofenMonaganAlgorithm algorithm)
a
- the first polynomialb
- the second polynomialalgorithm
- the actual algorithmpublic static <E> MultivariatePolynomial<E> BrownGCD(MultivariatePolynomial<E> a, MultivariatePolynomial<E> b)
a
- the first multivariate polynomialb
- the second multivariate polynomiala
and b
public static <E> MultivariatePolynomial<E> ZippelGCD(MultivariatePolynomial<E> a, MultivariatePolynomial<E> b)
a
- the first multivariate polynomialb
- the second multivariate polynomiala
and b
public static MultivariatePolynomialZp64 BrownGCD(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b)
a
- the first multivariate polynomialb
- the second multivariate polynomiala
and b
public static MultivariatePolynomialZp64 ZippelGCD(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b)
a
- the first multivariate polynomialb
- the second multivariate polynomiala
and b
public static MultivariatePolynomialZp64 EZGCD(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b)
a
- the first multivariate polynomialb
- the second multivariate polynomiala
and b
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly EEZGCD(Poly a, Poly b)
a
- the first multivariate polynomialb
- the second multivariate polynomiala
and b
Copyright © 2018. All rights reserved.