Package cc.redberry.rings.poly.multivar
Class RandomMultivariatePolynomials
java.lang.Object
cc.redberry.rings.poly.multivar.RandomMultivariatePolynomials
public final class RandomMultivariatePolynomials extends Object
Methods to generate random multivariate polynomials.
- Since:
- 1.0
-
Method Summary
Modifier and Type Method Description static <E> MultivariatePolynomial<E>
randomPolynomial(int nVars, int minDegree, int maxDegree, int size, Ring<E> ring, Comparator<DegreeVector> ordering, Function<org.apache.commons.math3.random.RandomGenerator,E> method, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random polynomialstatic MultivariatePolynomial<BigInteger>
randomPolynomial(int nVars, int degree, int size, BigInteger bound, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Z[X] polynomial with coefficients bounded bybound
static MultivariatePolynomialZp64
randomPolynomial(int nVars, int degree, int size, IntegersZp64 ring, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Zp[X] polynomial over machine integersstatic MultivariatePolynomialZp64
randomPolynomial(int nVars, int degree, int size, IntegersZp64 ring, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Zp[X] polynomial over machine integersstatic <E> MultivariatePolynomial<E>
randomPolynomial(int nVars, int degree, int size, Ring<E> ring, Comparator<DegreeVector> ordering, Function<org.apache.commons.math3.random.RandomGenerator,E> method, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random polynomialstatic <E> MultivariatePolynomial<E>
randomPolynomial(int nVars, int degree, int size, Ring<E> ring, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random polynomialstatic MultivariatePolynomial<BigInteger>
randomPolynomial(int nVars, int degree, int size, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Z[X] polynomialstatic <Term extends AMonomial<Term>, Poly extends AMultivariatePolynomial<Term, Poly>>
PolyrandomPolynomial(Poly factory, int degree, int size, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random multivariate polynomialstatic MultivariatePolynomialZp64
randomSharpPolynomial(int nVars, int degree, int size, IntegersZp64 ring, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Zp[X] polynomial over machine integersstatic <E> MultivariatePolynomial<E>
randomSharpPolynomial(int nVars, int degree, int size, Ring<E> ring, Comparator<DegreeVector> ordering, Function<org.apache.commons.math3.random.RandomGenerator,E> rndCoefficients, org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Zp[X] polynomial over machine integers
-
Method Details
-
randomPolynomial
public static MultivariatePolynomial<BigInteger> randomPolynomial(int nVars, int degree, int size, BigInteger bound, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)Generates random Z[X] polynomial with coefficients bounded bybound
- Parameters:
nVars
- number of variablesdegree
- maximal degree of the resultsize
- number of elements in the resultbound
- coefficient boundordering
- monomial orderrnd
- random source- Returns:
- random Z[X] polynomial
-
randomPolynomial
public static MultivariatePolynomial<BigInteger> randomPolynomial(int nVars, int degree, int size, org.apache.commons.math3.random.RandomGenerator rnd)Generates random Z[X] polynomial- Parameters:
nVars
- number of variablesdegree
- maximal degree of the resultsize
- number of elements in the resultrnd
- random source- Returns:
- random polynomial
-
randomPolynomial
public static <E> MultivariatePolynomial<E> randomPolynomial(int nVars, int degree, int size, Ring<E> ring, Comparator<DegreeVector> ordering, Function<org.apache.commons.math3.random.RandomGenerator,E> method, org.apache.commons.math3.random.RandomGenerator rnd)Generates random polynomial- Parameters:
nVars
- number of variablesdegree
- maximal degree of the resultsize
- number of elements in the resultring
- the coefficient ringordering
- monomial ordermethod
- method for generating random coefficientsrnd
- random source- Returns:
- random polynomial
-
randomPolynomial
public static <E> MultivariatePolynomial<E> randomPolynomial(int nVars, int minDegree, int maxDegree, int size, Ring<E> ring, Comparator<DegreeVector> ordering, Function<org.apache.commons.math3.random.RandomGenerator,E> method, org.apache.commons.math3.random.RandomGenerator rnd)Generates random polynomial- Parameters:
nVars
- number of variablesminDegree
- minimal exponentmaxDegree
- maximalexponentsize
- number of elements in the resultring
- the coefficient ringordering
- monomial ordermethod
- method for generating random coefficientsrnd
- random source- Returns:
- random polynomial
-
randomPolynomial
public static <E> MultivariatePolynomial<E> randomPolynomial(int nVars, int degree, int size, Ring<E> ring, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)Generates random polynomial- Parameters:
nVars
- number of variablesdegree
- maximal degree of the resultsize
- number of elements in the resultring
- the coefficient ringordering
- monomial orderrnd
- random source- Returns:
- random polynomial
-
randomPolynomial
public static MultivariatePolynomialZp64 randomPolynomial(int nVars, int degree, int size, IntegersZp64 ring, org.apache.commons.math3.random.RandomGenerator rnd)Generates random Zp[X] polynomial over machine integers- Parameters:
nVars
- number of variablesdegree
- maximal degree of the resultsize
- number of elements in the resultring
- the coefficient ringrnd
- random source- Returns:
- random polynomial
-
randomPolynomial
public static MultivariatePolynomialZp64 randomPolynomial(int nVars, int degree, int size, IntegersZp64 ring, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)Generates random Zp[X] polynomial over machine integers- Parameters:
nVars
- number of variablesdegree
- maximal degree of the resultsize
- number of elements in the resultring
- the coefficient ringordering
- monomial orderrnd
- random source- Returns:
- random polynomial
-
randomSharpPolynomial
public static MultivariatePolynomialZp64 randomSharpPolynomial(int nVars, int degree, int size, IntegersZp64 ring, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)Generates random Zp[X] polynomial over machine integers- Parameters:
nVars
- number of variablesdegree
- maximal degree of the resultsize
- number of elements in the resultring
- the coefficient ringordering
- monomial orderrnd
- random source- Returns:
- random polynomial
-
randomSharpPolynomial
public static <E> MultivariatePolynomial<E> randomSharpPolynomial(int nVars, int degree, int size, Ring<E> ring, Comparator<DegreeVector> ordering, Function<org.apache.commons.math3.random.RandomGenerator,E> rndCoefficients, org.apache.commons.math3.random.RandomGenerator rnd)Generates random Zp[X] polynomial over machine integers- Parameters:
nVars
- number of variablesdegree
- maximal degree of the resultsize
- number of elements in the resultring
- the coefficient ringordering
- monomial orderrnd
- random source- Returns:
- random polynomial
-
randomPolynomial
public static <Term extends AMonomial<Term>, Poly extends AMultivariatePolynomial<Term, Poly>> Poly randomPolynomial(Poly factory, int degree, int size, org.apache.commons.math3.random.RandomGenerator rnd)Generates random multivariate polynomial- Parameters:
factory
- factory polynomialdegree
- maximal degree of the resultsize
- number of elements in the resultrnd
- random source- Returns:
- random polynomial
-