Package cc.redberry.rings.poly.multivar
Class MultivariateResultants
- java.lang.Object
-
- cc.redberry.rings.poly.multivar.MultivariateResultants
-
public final class MultivariateResultants extends Object
Polynomial resultants.
-
-
Method Summary
Modifier and Type Method Description static <E> MultivariatePolynomial<E>
BrownResultant(MultivariatePolynomial<E> a, MultivariatePolynomial<E> b, int variable)
Brown's algorithm for resultant with dense interpolationstatic MultivariatePolynomialZp64
BrownResultant(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b, int variable)
Brown's algorithm for resultant with dense interpolationstatic <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>>
PolyClassicalResultant(Poly a, Poly b, int variable)
Computes resultant via subresultant sequencesstatic <Poly extends AMultivariatePolynomial>
PolyDiscriminant(Poly a, int variable)
Computes discriminant of polynomialstatic MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>>
ModularResultantInNumberField(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a, MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b, int variable)
Modular resultant in simple number fieldstatic MultivariatePolynomial<UnivariatePolynomial<BigInteger>>
ModularResultantInRingOfIntegersOfNumberField(MultivariatePolynomial<UnivariatePolynomial<BigInteger>> a, MultivariatePolynomial<UnivariatePolynomial<BigInteger>> b, int variable)
Modular algorithm with Zippel sparse interpolation for resultant over rings of integersstatic MultivariatePolynomial<BigInteger>
ModularResultantInZ(MultivariatePolynomial<BigInteger> a, MultivariatePolynomial<BigInteger> b, int variable)
Modular algorithm with Zippel sparse interpolation for resultant over Zstatic <Poly extends AMultivariatePolynomial>
PolyResultant(Poly a, Poly b, int variable)
Calculates polynomial resultant of two given polynomials with respect to specified variablestatic <Poly extends AMultivariatePolynomial>
PolyResultantInGF(Poly a, Poly b, int variable)
Computes polynomial resultant of two polynomials over finite fieldstatic <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>>
PolyResultantInSmallCharacteristic(Poly a, Poly b, int variable)
Resultant in small characteristicstatic MultivariatePolynomial<BigInteger>
ResultantInZ(MultivariatePolynomial<BigInteger> a, MultivariatePolynomial<BigInteger> b, int variable)
Computes polynomial resultant of two polynomials over Zstatic <E> MultivariatePolynomial<E>
ZippelResultant(MultivariatePolynomial<E> a, MultivariatePolynomial<E> b, int variable)
Zippel's algorithm for resultant with sparse interpolationstatic MultivariatePolynomialZp64
ZippelResultant(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b, int variable)
Zippel's algorithm for resultant with sparse interpolation
-
-
-
Method Detail
-
Discriminant
public static <Poly extends AMultivariatePolynomial> Poly Discriminant(Poly a, int variable)
Computes discriminant of polynomial
-
Resultant
public static <Poly extends AMultivariatePolynomial> Poly Resultant(Poly a, Poly b, int variable)
Calculates polynomial resultant of two given polynomials with respect to specified variable- Parameters:
a
- the first polyb
- the second poly- Returns:
- the resultant
-
ResultantInGF
public static <Poly extends AMultivariatePolynomial> Poly ResultantInGF(Poly a, Poly b, int variable)
Computes polynomial resultant of two polynomials over finite field
-
ResultantInZ
public static MultivariatePolynomial<BigInteger> ResultantInZ(MultivariatePolynomial<BigInteger> a, MultivariatePolynomial<BigInteger> b, int variable)
Computes polynomial resultant of two polynomials over Z
-
ClassicalResultant
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly ClassicalResultant(Poly a, Poly b, int variable)
Computes resultant via subresultant sequences
-
ResultantInSmallCharacteristic
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly ResultantInSmallCharacteristic(Poly a, Poly b, int variable)
Resultant in small characteristic
-
ModularResultantInZ
public static MultivariatePolynomial<BigInteger> ModularResultantInZ(MultivariatePolynomial<BigInteger> a, MultivariatePolynomial<BigInteger> b, int variable)
Modular algorithm with Zippel sparse interpolation for resultant over Z
-
ModularResultantInNumberField
public static MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> ModularResultantInNumberField(MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a, MultivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b, int variable)
Modular resultant in simple number field
-
ModularResultantInRingOfIntegersOfNumberField
public static MultivariatePolynomial<UnivariatePolynomial<BigInteger>> ModularResultantInRingOfIntegersOfNumberField(MultivariatePolynomial<UnivariatePolynomial<BigInteger>> a, MultivariatePolynomial<UnivariatePolynomial<BigInteger>> b, int variable)
Modular algorithm with Zippel sparse interpolation for resultant over rings of integers
-
BrownResultant
public static MultivariatePolynomialZp64 BrownResultant(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b, int variable)
Brown's algorithm for resultant with dense interpolation
-
BrownResultant
public static <E> MultivariatePolynomial<E> BrownResultant(MultivariatePolynomial<E> a, MultivariatePolynomial<E> b, int variable)
Brown's algorithm for resultant with dense interpolation
-
ZippelResultant
public static MultivariatePolynomialZp64 ZippelResultant(MultivariatePolynomialZp64 a, MultivariatePolynomialZp64 b, int variable)
Zippel's algorithm for resultant with sparse interpolation
-
ZippelResultant
public static <E> MultivariatePolynomial<E> ZippelResultant(MultivariatePolynomial<E> a, MultivariatePolynomial<E> b, int variable)
Zippel's algorithm for resultant with sparse interpolation
-
-