edu.jas.poly
Interface Polynomial<C extends RingElem<C>>

Type Parameters:
C - ring element type
All Superinterfaces:
AbelianGroupElem<Polynomial<C>>, java.lang.Cloneable, java.lang.Comparable<Polynomial<C>>, Element<Polynomial<C>>, MonoidElem<Polynomial<C>>, RingElem<Polynomial<C>>, java.io.Serializable

public interface Polynomial<C extends RingElem<C>>
extends RingElem<Polynomial<C>>

Polynomial interface. Adds methods specific to polynomials.

Author:
Heinz Kredel

Method Summary
 java.util.Iterator<C> coefficientIterator()
          Iterator over coefficients.
 java.util.Map<ExpVector,Polynomial<C>> contract(PolynomialRing<C> pfac)
          Contract variables.
 java.util.Iterator<ExpVector> exponentIterator()
          Iterator over exponents.
 Polynomial<C> extend(PolynomialRing<C> pfac, int j, long k)
          Extend variables.
 C leadingBaseCoefficient()
          Leading base coefficient.
 ExpVector leadingExpVector()
          Leading exponent vector.
 java.util.Map.Entry<ExpVector,C> leadingMonomial()
          Leading monomial.
 java.util.Iterator<Monomial<C>> monomialIterator()
          Iterator over monomials.
 Polynomial<C> reductum()
          Reductum.
 Polynomial<C> reverse(PolynomialRing<C> oring)
          Reverse variables.
 C trailingBaseCoefficient()
          Trailing base coefficient.
 
Methods inherited from interface edu.jas.structure.RingElem
egcd, gcd
 
Methods inherited from interface edu.jas.structure.AbelianGroupElem
abs, isZERO, negate, signum, subtract, sum
 
Methods inherited from interface edu.jas.structure.MonoidElem
divide, inverse, isONE, isUnit, multiply, remainder
 
Methods inherited from interface edu.jas.structure.Element
compareTo, equals, factory, hashCode, toScript, toScriptFactory
 

Method Detail

leadingMonomial

java.util.Map.Entry<ExpVector,C> leadingMonomial()
Leading monomial.

Returns:
first map entry.

leadingExpVector

ExpVector leadingExpVector()
Leading exponent vector.

Returns:
first exponent.

leadingBaseCoefficient

C leadingBaseCoefficient()
Leading base coefficient.

Returns:
first coefficient.

trailingBaseCoefficient

C trailingBaseCoefficient()
Trailing base coefficient.

Returns:
coefficient of constant term.

reductum

Polynomial<C> reductum()
Reductum.

Returns:
this - leading monomial.

extend

Polynomial<C> extend(PolynomialRing<C> pfac,
                     int j,
                     long k)
Extend variables. Used e.g. in module embedding. Extend all ExpVectors by i elements and multiply by x_j^k.

Parameters:
pfac - extended polynomial ring factory (by i variables).
j - index of variable to be used for multiplication.
k - exponent for x_j.
Returns:
extended polynomial.

contract

java.util.Map<ExpVector,Polynomial<C>> contract(PolynomialRing<C> pfac)
Contract variables. Used e.g. in module embedding. remove i elements of each ExpVector.

Parameters:
pfac - contracted polynomial ring factory (by i variables).
Returns:
Map of exponents and contracted polynomials. Note: could return SortedMap

reverse

Polynomial<C> reverse(PolynomialRing<C> oring)
Reverse variables. Used e.g. in opposite rings.

Returns:
polynomial with reversed variables.

coefficientIterator

java.util.Iterator<C> coefficientIterator()
Iterator over coefficients.

Returns:
val.values().iterator().

exponentIterator

java.util.Iterator<ExpVector> exponentIterator()
Iterator over exponents.

Returns:
val.keySet().iterator().

monomialIterator

java.util.Iterator<Monomial<C>> monomialIterator()
Iterator over monomials.

Returns:
a PolyIterator.