edu.jas.poly
Class GenSolvablePolynomial<C extends RingElem<C>>

java.lang.Object
  extended by edu.jas.poly.GenPolynomial<C>
      extended by edu.jas.poly.GenSolvablePolynomial<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
AbelianGroupElem<GenPolynomial<C>>, Element<GenPolynomial<C>>, MonoidElem<GenPolynomial<C>>, RingElem<GenPolynomial<C>>, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<GenPolynomial<C>>, java.lang.Iterable<Monomial<C>>

public class GenSolvablePolynomial<C extends RingElem<C>>
extends GenPolynomial<C>

GenSolvablePolynomial generic solvable polynomials implementing RingElem. n-variate ordered solvable polynomials over C. Objects of this class are intended to be immutable. The implementation is based on TreeMap respectively SortedMap from exponents to coefficients by extension of GenPolybomial. Only the coefficients are modeled with generic types, the exponents are fixed to ExpVector with long entries (this will eventually be changed in the future).

Author:
Heinz Kredel
See Also:
Serialized Form

Field Summary
 GenSolvablePolynomialRing<C> ring
          The factory for the solvable polynomial ring.
 
Fields inherited from class edu.jas.poly.GenPolynomial
val
 
Constructor Summary
  GenSolvablePolynomial(GenSolvablePolynomialRing<C> r)
          Constructor for zero GenSolvablePolynomial.
  GenSolvablePolynomial(GenSolvablePolynomialRing<C> r, C c, ExpVector e)
          Constructor for zero GenSolvablePolynomial.
protected GenSolvablePolynomial(GenSolvablePolynomialRing<C> r, java.util.SortedMap<ExpVector,C> v)
          Constructor for zero GenSolvablePolynomial.
 
Method Summary
 GenSolvablePolynomial<C> clone()
          Clone this GenSolvablePolynomial.
 GenSolvablePolynomialRing<C> factory()
          Get the corresponding element factory.
 GenSolvablePolynomial<C> multiply(C b)
          GenSolvablePolynomial multiplication.
 GenSolvablePolynomial<C> multiply(C b, ExpVector e)
          GenSolvablePolynomial multiplication.
 GenSolvablePolynomial<C> multiply(ExpVector e)
          GenSolvablePolynomial multiplication.
 GenSolvablePolynomial<C> multiply(GenSolvablePolynomial<C> Bp)
          GenSolvablePolynomial multiplication.
 GenSolvablePolynomial<C> multiplyLeft(C b)
          GenSolvablePolynomial multiplication.
 GenSolvablePolynomial<C> multiplyLeft(C b, ExpVector e)
          GenSolvablePolynomial multiplication.
 GenSolvablePolynomial<C> multiplyLeft(ExpVector e)
          GenSolvablePolynomial multiplication.
 GenSolvablePolynomial<C> multiplyLeft(java.util.Map.Entry<ExpVector,C> m)
          GenSolvablePolynomial multiplication.
 
Methods inherited from class edu.jas.poly.GenPolynomial
abs, coefficient, coefficientIterator, compareTo, contract, contractCoeff, degree, degree, degreeVector, divide, divide, divideAndRemainder, doPutToMap, doPutToMap, egcd, equals, exponentIterator, extend, extendLower, extendUnivariate, gcd, getMap, hashCode, hegcd, inverse, isConstant, isONE, isUnit, isZERO, iterator, leadingBaseCoefficient, leadingExpVector, leadingMonomial, length, map, maxNorm, modInverse, monic, multiply, multiply, negate, numberOfVariables, quotientRemainder, reductum, remainder, reverse, signum, subtract, subtract, subtract, sum, sum, sum, sumNorm, toScript, toScriptFactory, toString, toString, trailingBaseCoefficient, trailingExpVector
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ring

public final GenSolvablePolynomialRing<C extends RingElem<C>> ring
The factory for the solvable polynomial ring. Hides super.ring.

Constructor Detail

GenSolvablePolynomial

public GenSolvablePolynomial(GenSolvablePolynomialRing<C> r)
Constructor for zero GenSolvablePolynomial.

Parameters:
r - solvable polynomial ring factory.

GenSolvablePolynomial

public GenSolvablePolynomial(GenSolvablePolynomialRing<C> r,
                             C c,
                             ExpVector e)
Constructor for zero GenSolvablePolynomial.

Parameters:
r - solvable polynomial ring factory.
c - coefficient.
e - exponent.

GenSolvablePolynomial

protected GenSolvablePolynomial(GenSolvablePolynomialRing<C> r,
                                java.util.SortedMap<ExpVector,C> v)
Constructor for zero GenSolvablePolynomial.

Parameters:
r - solvable polynomial ring factory.
v - the SortedMap of some other (solvable) polynomial.
Method Detail

factory

public GenSolvablePolynomialRing<C> factory()
Get the corresponding element factory.

Specified by:
factory in interface Element<GenPolynomial<C extends RingElem<C>>>
Overrides:
factory in class GenPolynomial<C extends RingElem<C>>
Returns:
factory for this Element.
See Also:
Element.factory()

clone

public GenSolvablePolynomial<C> clone()
Clone this GenSolvablePolynomial.

Overrides:
clone in class GenPolynomial<C extends RingElem<C>>
See Also:
Object.clone()

multiply

public GenSolvablePolynomial<C> multiply(GenSolvablePolynomial<C> Bp)
GenSolvablePolynomial multiplication.

Parameters:
Bp - GenSolvablePolynomial.
Returns:
this*Bp, where * denotes solvable multiplication.

multiply

public GenSolvablePolynomial<C> multiply(C b)
GenSolvablePolynomial multiplication. Product with coefficient ring element.

Overrides:
multiply in class GenPolynomial<C extends RingElem<C>>
Parameters:
b - coefficient.
Returns:
this*b, where * is usual multiplication.

multiply

public GenSolvablePolynomial<C> multiply(ExpVector e)
GenSolvablePolynomial multiplication. Product with exponent vector.

Overrides:
multiply in class GenPolynomial<C extends RingElem<C>>
Parameters:
e - exponent.
Returns:
this * xe, where * denotes solvable multiplication.

multiply

public GenSolvablePolynomial<C> multiply(C b,
                                         ExpVector e)
GenSolvablePolynomial multiplication. Product with ring element and exponent vector.

Overrides:
multiply in class GenPolynomial<C extends RingElem<C>>
Parameters:
b - coefficient.
e - exponent.
Returns:
this * b xe, where * denotes solvable multiplication.

multiplyLeft

public GenSolvablePolynomial<C> multiplyLeft(C b,
                                             ExpVector e)
GenSolvablePolynomial multiplication. Left product with ring element and exponent vector.

Parameters:
b - coefficient.
e - exponent.
Returns:
b xe * this, where * denotes solvable multiplication.

multiplyLeft

public GenSolvablePolynomial<C> multiplyLeft(ExpVector e)
GenSolvablePolynomial multiplication. Left product with exponent vector.

Parameters:
e - exponent.
Returns:
xe * this, where * denotes solvable multiplication.

multiplyLeft

public GenSolvablePolynomial<C> multiplyLeft(C b)
GenSolvablePolynomial multiplication. Left product with coefficient ring element.

Parameters:
b - coefficient.
Returns:
b*this, where * is usual multiplication.

multiplyLeft

public GenSolvablePolynomial<C> multiplyLeft(java.util.Map.Entry<ExpVector,C> m)
GenSolvablePolynomial multiplication. Left product with 'monimial'.

Parameters:
m - 'monoial'.
Returns:
m * this, where * denotes solvable multiplication.