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
Modifier and Type Method Description static <Poly extends IUnivariatePolynomial<Poly>>
booleanfiniteFieldIrreducibleBenOr(Poly poly)
Tests whetherpoly
is irreducible over the finite fieldstatic <Poly extends IUnivariatePolynomial<Poly>>
booleanfiniteFieldIrreducibleQ(Poly poly)
Tests whetherpoly
is irreducible over the finite fieldstatic <Poly extends IUnivariatePolynomial<Poly>>
booleanfiniteFieldIrreducibleViaModularComposition(Poly poly)
Tests whetherpoly
is irreducible over the finite fieldstatic <Poly extends IUnivariatePolynomial<Poly>>
booleanirreducibleQ(Poly poly)
Tests whetherpoly
is irreduciblestatic UnivariatePolynomialZp64
randomIrreduciblePolynomial(long modulus, int degree, org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible Zp polynomial of degreedegree
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
static <Poly extends IUnivariatePolynomial<Poly>>
PolyrandomIrreduciblePolynomial(Poly factory, int degree, org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible polynomial of degreedegree
static UnivariatePolynomial<BigInteger>
randomIrreduciblePolynomialOverZ(int degree, org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible polynomial over Z
-
Method Details
-
irreducibleQ
Tests whetherpoly
is irreducible- Parameters:
poly
- the polynomial- Returns:
- whether
poly
is an irreducible polynomial
-
finiteFieldIrreducibleQ
public static <Poly extends IUnivariatePolynomial<Poly>> boolean finiteFieldIrreducibleQ(Poly poly)Tests whetherpoly
is irreducible over the finite field- Parameters:
poly
- the polynomial over finite field- Returns:
- whether
poly
is an irreducible polynomial
-
finiteFieldIrreducibleViaModularComposition
public static <Poly extends IUnivariatePolynomial<Poly>> boolean finiteFieldIrreducibleViaModularComposition(Poly poly)Tests whetherpoly
is irreducible over the finite field- Parameters:
poly
- the polynomial over finite field- Returns:
- whether
poly
is an irreducible polynomial
-
finiteFieldIrreducibleBenOr
public static <Poly extends IUnivariatePolynomial<Poly>> boolean finiteFieldIrreducibleBenOr(Poly poly)Tests whetherpoly
is irreducible over the finite field- Parameters:
poly
- the polynomial over finite field- Returns:
- whether
poly
is 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
-