Package edu.jas.poly
Interface PolynomialRing<C extends RingElem<C>>
- All Superinterfaces:
AbelianGroupFactory<Polynomial<C>>
,ElemFactory<Polynomial<C>>
,MonoidFactory<Polynomial<C>>
,RingFactory<Polynomial<C>>
,Serializable
Polynomial factory interface.
Defines polynomial specific factory methods.
-
Method Summary
Modifier and TypeMethodDescriptioncontract
(int i) Contract variables.extend
(int i) Extend variables.String[]
getVars()
Get the variable names.int
Number of variables.random
(int k, int l, int d, float q) Generate a random polynomial.Generate a random polynomial.reverse()
Reverse variables.univariate
(int i) Generate univariate polynomial in a given variable.univariate
(int i, long e) Generate univariate polynomial in a given variable with given exponent.List
<? extends Polynomial<C>> Generate list of univariate polynomials in all variables.Methods inherited from interface edu.jas.structure.AbelianGroupFactory
getZERO
Methods inherited from interface edu.jas.structure.ElemFactory
copy, fromInteger, fromInteger, generators, isFinite, parse, parse, random, random, toScript, valueOf
Methods inherited from interface edu.jas.structure.MonoidFactory
getONE, isAssociative, isCommutative
Methods inherited from interface edu.jas.structure.RingFactory
characteristic, isField
-
Method Details
-
numberOfVariables
int numberOfVariables()Number of variables.- Returns:
- the number of variables.
-
getVars
String[] getVars()Get the variable names.- Returns:
- vars.
-
random
Generate a random polynomial.- Parameters:
k
- bitsize of random coefficients.l
- number of terms.d
- maximal degree in each variable.q
- density of nozero exponents.- Returns:
- a random polynomial.
-
random
Generate a random polynomial.- Parameters:
k
- bitsize of random coefficients.l
- number of terms.d
- maximal degree in each variable.q
- density of nozero exponents.rnd
- is a source for random bits.- Returns:
- a random polynomial.
-
univariate
Generate univariate polynomial in a given variable.- Parameters:
i
- the index of the variable.- Returns:
- X_i as univariate polynomial.
-
univariate
Generate univariate polynomial in a given variable with given exponent.- Parameters:
i
- the index of the variable.e
- the exponent of the variable.- Returns:
- X_i^e as univariate polynomial.
-
univariateList
List<? extends Polynomial<C>> univariateList()Generate list of univariate polynomials in all variables.- Returns:
- List(X_1,...,X_n) a list of univariate polynomials.
-
extend
Extend variables. Used e.g. in module embedding. Extend number of variables by i.- Parameters:
i
- number of variables to extend.- Returns:
- extended polynomial ring factory.
-
contract
Contract variables. Used e.g. in module embedding. Contract number of variables by i.- Parameters:
i
- number of variables to remove.- Returns:
- contracted polynomial ring factory.
-
reverse
PolynomialRing<C> reverse()Reverse variables. Used e.g. in opposite rings.- Returns:
- polynomial ring factory with reversed variables.
-