Package cc.redberry.rings.poly.univar
Class IrreduciblePolynomials
- java.lang.Object
-
- cc.redberry.rings.poly.univar.IrreduciblePolynomials
-
public final class IrreduciblePolynomials extends Object
Irreducibility tests and generators for random irreducible polynomials.- Since:
- 1.0
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <Poly extends IUnivariatePolynomial<Poly>>
booleanfiniteFieldIrreducibleBenOr(Poly poly)Tests whetherpolyis irreducible over the finite fieldstatic <Poly extends IUnivariatePolynomial<Poly>>
booleanfiniteFieldIrreducibleQ(Poly poly)Tests whetherpolyis irreducible over the finite fieldstatic <Poly extends IUnivariatePolynomial<Poly>>
booleanfiniteFieldIrreducibleViaModularComposition(Poly poly)Tests whetherpolyis irreducible over the finite fieldstatic <Poly extends IUnivariatePolynomial<Poly>>
booleanirreducibleQ(Poly poly)Tests whetherpolyis irreduciblestatic UnivariatePolynomialZp64randomIrreduciblePolynomial(long modulus, int degree, org.apache.commons.math3.random.RandomGenerator rnd)Generated random irreducible Zp polynomial of degreedegreestatic <E> UnivariatePolynomial<E>randomIrreduciblePolynomial(Ring<E> ring, int degree, org.apache.commons.math3.random.RandomGenerator rnd)Generated random irreducible polynomial over specified ring of degreedegreestatic <Poly extends IUnivariatePolynomial<Poly>>
PolyrandomIrreduciblePolynomial(Poly factory, int degree, org.apache.commons.math3.random.RandomGenerator rnd)Generated random irreducible polynomial of degreedegreestatic UnivariatePolynomial<BigInteger>randomIrreduciblePolynomialOverZ(int degree, org.apache.commons.math3.random.RandomGenerator rnd)Generated random irreducible polynomial over Z
-
-
-
Method Detail
-
irreducibleQ
public static <Poly extends IUnivariatePolynomial<Poly>> boolean irreducibleQ(Poly poly)
Tests whetherpolyis irreducible- Parameters:
poly- the polynomial- Returns:
- whether
polyis an irreducible polynomial
-
finiteFieldIrreducibleQ
public static <Poly extends IUnivariatePolynomial<Poly>> boolean finiteFieldIrreducibleQ(Poly poly)
Tests whetherpolyis irreducible over the finite field- Parameters:
poly- the polynomial over finite field- Returns:
- whether
polyis an irreducible polynomial
-
finiteFieldIrreducibleViaModularComposition
public static <Poly extends IUnivariatePolynomial<Poly>> boolean finiteFieldIrreducibleViaModularComposition(Poly poly)
Tests whetherpolyis irreducible over the finite field- Parameters:
poly- the polynomial over finite field- Returns:
- whether
polyis an irreducible polynomial
-
finiteFieldIrreducibleBenOr
public static <Poly extends IUnivariatePolynomial<Poly>> boolean finiteFieldIrreducibleBenOr(Poly poly)
Tests whetherpolyis irreducible over the finite field- Parameters:
poly- the polynomial over finite field- Returns:
- whether
polyis an irreducible polynomial
-
randomIrreduciblePolynomial
public static UnivariatePolynomialZp64 randomIrreduciblePolynomial(long modulus, int degree, org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible Zp polynomial of degreedegree- Parameters:
modulus- the modulusdegree- the degreernd- random source- Returns:
- irreducible polynomial
-
randomIrreduciblePolynomial
public static <E> UnivariatePolynomial<E> randomIrreduciblePolynomial(Ring<E> ring, int degree, org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible polynomial over specified ring of degreedegree- Parameters:
ring- coefficient ringdegree- the degreernd- random source- Returns:
- irreducible polynomial
-
randomIrreduciblePolynomialOverZ
public static UnivariatePolynomial<BigInteger> randomIrreduciblePolynomialOverZ(int degree, org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible polynomial over Z- Parameters:
degree- the degreernd- random source- Returns:
- irreducible polynomial over Z
-
randomIrreduciblePolynomial
public static <Poly extends IUnivariatePolynomial<Poly>> Poly randomIrreduciblePolynomial(Poly factory, int degree, org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible polynomial of degreedegree- Parameters:
factory- type markerdegree- the degreernd- random source- Returns:
- irreducible polynomial
-
-