Package edu.jas.poly
Interface PolynomialRing<C extends RingElem<C>>
-
- All Superinterfaces:
AbelianGroupFactory<Polynomial<C>>
,ElemFactory<Polynomial<C>>
,MonoidFactory<Polynomial<C>>
,RingFactory<Polynomial<C>>
,java.io.Serializable
public interface PolynomialRing<C extends RingElem<C>> extends RingFactory<Polynomial<C>>
Polynomial factory interface. Defines polynomial specific factory methods.- Author:
- Heinz Kredel
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PolynomialRing<C>
contract(int i)
Contract variables.PolynomialRing<C>
extend(int i)
Extend variables.java.lang.String[]
getVars()
Get the variable names.int
numberOfVariables()
Number of variables.Polynomial<C>
random(int k, int l, int d, float q)
Generate a random polynomial.Polynomial<C>
random(int k, int l, int d, float q, java.util.Random rnd)
Generate a random polynomial.PolynomialRing<C>
reverse()
Reverse variables.Polynomial<C>
univariate(int i)
Generate univariate polynomial in a given variable.Polynomial<C>
univariate(int i, long e)
Generate univariate polynomial in a given variable with given exponent.java.util.List<? extends Polynomial<C>>
univariateList()
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 Detail
-
numberOfVariables
int numberOfVariables()
Number of variables.- Returns:
- the number of variables.
-
getVars
java.lang.String[] getVars()
Get the variable names.- Returns:
- vars.
-
random
Polynomial<C> random(int k, int l, int d, float q)
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
Polynomial<C> random(int k, int l, int d, float q, java.util.Random rnd)
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
Polynomial<C> univariate(int i)
Generate univariate polynomial in a given variable.- Parameters:
i
- the index of the variable.- Returns:
- X_i as univariate polynomial.
-
univariate
Polynomial<C> univariate(int i, long e)
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
java.util.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
PolynomialRing<C> extend(int i)
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
PolynomialRing<C> contract(int i)
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.
-
-