public final class PolynomialMethods extends Object
| Modifier and Type | Method and Description |
|---|---|
static <Poly extends IPolynomial<Poly>> |
coprimeQ(Iterable<Poly> polynomials)
Returns whether specified polynomials are coprime.
|
static <Poly extends IPolynomial<Poly>> |
coprimeQ(Poly... polynomials)
Returns whether specified polynomials are coprime.
|
static <Poly extends IPolynomial<Poly>> |
divideAndRemainder(Poly a,
Poly b)
Returns quotient and remainder of a and b.
|
static <Poly extends IPolynomial<Poly>> |
divideExact(Poly a,
Poly b)
Returns the quotient of a and b or throws
ArithmeticException if exact division is not possible |
static <Poly extends IPolynomial<Poly>> |
divideOrNull(Poly a,
Poly b)
Returns the quotient of a and b or throws
ArithmeticException if exact division is not possible |
static <Poly extends IPolynomial<Poly>> |
Factor(Poly poly)
Factor polynomial.
|
static <Poly extends IPolynomial<Poly>> |
FactorSquareFree(Poly poly)
Square-free factorization of polynomial.
|
static <Poly extends IPolynomial<Poly>> |
irreducibleQ(Poly poly)
Returns whether specified polynomial is irreducible
|
static <T extends IUnivariatePolynomial<T>> |
PolynomialExtendedGCD(T a,
T b)
Computes
[gcd(a,b), s, t] such that s * a + t * b = gcd(a, b). |
static <Poly extends IPolynomial<Poly>> |
PolynomialGCD(Iterable<Poly> array)
Compute GCD of collection of polynomials.
|
static <Poly extends IPolynomial<Poly>> |
PolynomialGCD(Poly... array)
Compute GCD of array of polynomials.
|
static <Poly extends IPolynomial<Poly>> |
PolynomialGCD(Poly a,
Poly b)
Compute GCD of two polynomials.
|
static <T extends IPolynomial<T>> |
polyPow(T base,
BigInteger exponent)
Returns
base in a power of non-negative exponent |
static <T extends IPolynomial<T>> |
polyPow(T base,
BigInteger exponent,
boolean copy)
Returns
base in a power of non-negative exponent. |
static <T extends IPolynomial<T>> |
polyPow(T base,
int exponent,
boolean copy,
gnu.trove.map.hash.TIntObjectHashMap<T> cache)
Returns
base in a power of non-negative exponent |
static <T extends IPolynomial<T>> |
polyPow(T base,
long exponent)
Returns
base in a power of non-negative exponent |
static <T extends IPolynomial<T>> |
polyPow(T base,
long exponent,
boolean copy)
Returns
base in a power of non-negative exponent |
static <Poly extends IPolynomial<Poly>> |
remainder(Poly a,
Poly b)
Returns quotient and remainder of a and b.
|
public static <Poly extends IPolynomial<Poly>> PolynomialFactorDecomposition<Poly> Factor(Poly poly)
poly - the polynomialpublic static <Poly extends IPolynomial<Poly>> PolynomialFactorDecomposition<Poly> FactorSquareFree(Poly poly)
poly - the polynomialpublic static <Poly extends IPolynomial<Poly>> Poly PolynomialGCD(Poly a, Poly b)
a - the polynomialb - the polynomialpublic static <Poly extends IPolynomial<Poly>> Poly PolynomialGCD(Poly... array)
array - the polynomialspublic static <Poly extends IPolynomial<Poly>> Poly PolynomialGCD(Iterable<Poly> array)
array - the polynomialspublic static <T extends IUnivariatePolynomial<T>> T[] PolynomialExtendedGCD(T a, T b)
[gcd(a,b), s, t] such that s * a + t * b = gcd(a, b). Half-GCD algorithm is used.a - the univariate polynomialb - the univariate polynomial[gcd(a,b), s, t] such that s * a + t * b = gcd(a, b) (gcd is monic)UnivariateGCD.PolynomialExtendedGCD(IUnivariatePolynomial, IUnivariatePolynomial)public static <Poly extends IPolynomial<Poly>> Poly[] divideAndRemainder(Poly a, Poly b)
a - the dividendb - the dividerpublic static <Poly extends IPolynomial<Poly>> Poly remainder(Poly a, Poly b)
a - the dividendb - the dividerpublic static <Poly extends IPolynomial<Poly>> Poly divideOrNull(Poly a, Poly b)
ArithmeticException if exact division is not possiblea - the dividendb - the dividerArithmeticException - if exact division is not possiblepublic static <Poly extends IPolynomial<Poly>> Poly divideExact(Poly a, Poly b)
ArithmeticException if exact division is not possiblea - the dividendb - the dividerArithmeticException - if exact division is not possiblepublic static <Poly extends IPolynomial<Poly>> boolean coprimeQ(Poly... polynomials)
polynomials - the polynomialspublic static <Poly extends IPolynomial<Poly>> boolean coprimeQ(Iterable<Poly> polynomials)
polynomials - the polynomialspublic static <Poly extends IPolynomial<Poly>> boolean irreducibleQ(Poly poly)
public static <T extends IPolynomial<T>> T polyPow(T base, BigInteger exponent, boolean copy)
base in a power of non-negative exponent.base - the baseexponent - the non-negative exponentcopy - whether to clone base; if not the data of base will be lostbase in a power of epublic static <T extends IPolynomial<T>> T polyPow(T base, long exponent)
base in a power of non-negative exponentbase - the baseexponent - the non-negative exponentbase in a power of epublic static <T extends IPolynomial<T>> T polyPow(T base, BigInteger exponent)
base in a power of non-negative exponentbase - the baseexponent - the non-negative exponentbase in a power of epublic static <T extends IPolynomial<T>> T polyPow(T base, long exponent, boolean copy)
base in a power of non-negative exponentbase - the baseexponent - the non-negative exponentcopy - whether to clone base; if not the data of base will be lostbase in a power of epublic static <T extends IPolynomial<T>> T polyPow(T base, int exponent, boolean copy, gnu.trove.map.hash.TIntObjectHashMap<T> cache)
base in a power of non-negative exponentbase - the baseexponent - the non-negative exponentcopy - whether to clone base; if not the data of base will be lostcache - cache to store all intermediate powersbase in a power of eCopyright © 2022. All rights reserved.