Package cc.redberry.rings.poly
Class Util
- java.lang.Object
-
- cc.redberry.rings.poly.Util
-
public final class Util extends Object
- Since:
- 1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Util.Tuple2<A,B>
-
Method Summary
Modifier and Type Method Description static <E> MultivariatePolynomial<Rational<E>>
asOverRationals(Ring<Rational<E>> field, MultivariatePolynomial<E> poly)
static <E> UnivariatePolynomial<Rational<E>>
asOverRationals(Ring<Rational<E>> field, UnivariatePolynomial<E> poly)
static boolean
canConvertToZp64(IPolynomial poly)
Test whether poly is over Zp with modulus less then 2^63static <E> E
commonDenominator(MultivariatePolynomial<Rational<E>> poly)
Returns a common denominator of given polystatic <E> E
commonDenominator(UnivariatePolynomial<Rational<E>> poly)
Returns a common denominator of given polystatic <E> MultivariatePolynomial<Rational<E>>
divideOverRationals(Ring<Rational<E>> field, MultivariatePolynomial<E> poly, E denominator)
static <E> UnivariatePolynomial<Rational<E>>
divideOverRationals(Ring<Rational<E>> field, UnivariatePolynomial<E> poly, E denominator)
static void
ensureOverField(IPolynomial... polys)
static void
ensureOverFiniteField(IPolynomial... polys)
static void
ensureOverZ(IPolynomial... polys)
static <T extends IPolynomial<T>>
booleanisOverMultipleFieldExtension(T poly)
Whether coefficient domain is F(alpha1, alpha2, ...)static <T extends IPolynomial<T>>
booleanisOverQ(T poly)
Whether coefficient domain is Qstatic <T extends IPolynomial<T>>
booleanisOverRationals(T poly)
Whether coefficient domain is rationalsstatic <T extends IPolynomial<T>>
booleanisOverRingOfIntegersOfSimpleNumberField(T poly)
Whether coefficient domain is Q(alpha)static <T extends IPolynomial<T>>
booleanisOverSimpleFieldExtension(T poly)
Whether coefficient domain is F(alpha)static <T extends IPolynomial<T>>
booleanisOverSimpleNumberField(T poly)
Whether coefficient domain is Q(alpha)static <T extends IPolynomial<T>>
booleanisOverZ(T poly)
Whether coefficient domain is Zstatic <E> Util.Tuple2<MultivariatePolynomial<E>,E>
toCommonDenominator(MultivariatePolynomial<Rational<E>> poly)
Brings polynomial with rational coefficients to common denominatorstatic <E> Util.Tuple2<UnivariatePolynomial<E>,E>
toCommonDenominator(UnivariatePolynomial<Rational<E>> poly)
Brings polynomial with rational coefficients to common denominator
-
-
-
Method Detail
-
ensureOverFiniteField
public static void ensureOverFiniteField(IPolynomial... polys)
-
ensureOverField
public static void ensureOverField(IPolynomial... polys)
-
ensureOverZ
public static void ensureOverZ(IPolynomial... polys)
-
canConvertToZp64
public static boolean canConvertToZp64(IPolynomial poly)
Test whether poly is over Zp with modulus less then 2^63
-
isOverRationals
public static <T extends IPolynomial<T>> boolean isOverRationals(T poly)
Whether coefficient domain is rationals
-
isOverSimpleFieldExtension
public static <T extends IPolynomial<T>> boolean isOverSimpleFieldExtension(T poly)
Whether coefficient domain is F(alpha)
-
isOverMultipleFieldExtension
public static <T extends IPolynomial<T>> boolean isOverMultipleFieldExtension(T poly)
Whether coefficient domain is F(alpha1, alpha2, ...)
-
isOverSimpleNumberField
public static <T extends IPolynomial<T>> boolean isOverSimpleNumberField(T poly)
Whether coefficient domain is Q(alpha)
-
isOverRingOfIntegersOfSimpleNumberField
public static <T extends IPolynomial<T>> boolean isOverRingOfIntegersOfSimpleNumberField(T poly)
Whether coefficient domain is Q(alpha)
-
isOverQ
public static <T extends IPolynomial<T>> boolean isOverQ(T poly)
Whether coefficient domain is Q
-
isOverZ
public static <T extends IPolynomial<T>> boolean isOverZ(T poly)
Whether coefficient domain is Z
-
toCommonDenominator
public static <E> Util.Tuple2<UnivariatePolynomial<E>,E> toCommonDenominator(UnivariatePolynomial<Rational<E>> poly)
Brings polynomial with rational coefficients to common denominator- Parameters:
poly
- the polynomial- Returns:
- (reduced poly, common denominator)
-
commonDenominator
public static <E> E commonDenominator(UnivariatePolynomial<Rational<E>> poly)
Returns a common denominator of given poly
-
commonDenominator
public static <E> E commonDenominator(MultivariatePolynomial<Rational<E>> poly)
Returns a common denominator of given poly
-
toCommonDenominator
public static <E> Util.Tuple2<MultivariatePolynomial<E>,E> toCommonDenominator(MultivariatePolynomial<Rational<E>> poly)
Brings polynomial with rational coefficients to common denominator- Parameters:
poly
- the polynomial- Returns:
- (reduced poly, common denominator)
-
asOverRationals
public static <E> UnivariatePolynomial<Rational<E>> asOverRationals(Ring<Rational<E>> field, UnivariatePolynomial<E> poly)
-
asOverRationals
public static <E> MultivariatePolynomial<Rational<E>> asOverRationals(Ring<Rational<E>> field, MultivariatePolynomial<E> poly)
-
divideOverRationals
public static <E> UnivariatePolynomial<Rational<E>> divideOverRationals(Ring<Rational<E>> field, UnivariatePolynomial<E> poly, E denominator)
-
divideOverRationals
public static <E> MultivariatePolynomial<Rational<E>> divideOverRationals(Ring<Rational<E>> field, MultivariatePolynomial<E> poly, E denominator)
-
-