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 Details
-
Discriminant
Computes discriminant of polynomial -
Resultant
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
-