edu.jas.gbufd
Class MultiplicativeSet<C extends GcdRingElem<C>>

java.lang.Object
  extended by edu.jas.gbufd.MultiplicativeSet<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
MultiplicativeSetCoPrime, MultiplicativeSetFactors, MultiplicativeSetSquarefree

public class MultiplicativeSet<C extends GcdRingElem<C>>
extends java.lang.Object
implements java.io.Serializable

Multiplicative set of polynomials. a, b in M implies a*b in M, 1 in M.

Author:
Heinz Kredel.
See Also:
Serialized Form

Field Summary
 java.util.List<GenPolynomial<C>> mset
          Data structure.
 GenPolynomialRing<C> ring
          Polynomial ring factory.
 
Constructor Summary
  MultiplicativeSet(GenPolynomialRing<C> ring)
          MultiplicativeSet constructor.
protected MultiplicativeSet(GenPolynomialRing<C> ring, java.util.List<GenPolynomial<C>> ms)
          MultiplicativeSet constructor.
 
Method Summary
 MultiplicativeSet<C> add(GenPolynomial<C> cc)
          Add polynomial to mset.
 boolean contains(GenPolynomial<C> c)
          Test if a polynomial is contained in this multiplicative set.
 boolean contains(java.util.List<GenPolynomial<C>> L)
          Test if a list of polynomials is contained in multiplicative set.
 boolean equals(java.lang.Object ob)
          Equals.
 int hashCode()
          Hash code for this condition.
 boolean isEmpty()
          Is set.
 GenPolynomial<C> removeFactors(GenPolynomial<C> cc)
          Remove factors by mset factors division.
 java.util.List<GenPolynomial<C>> removeFactors(java.util.List<GenPolynomial<C>> L)
          Remove factors by mset factors division.
 MultiplicativeSet<C> replace(java.util.List<GenPolynomial<C>> L)
          Replace polynomial list of mset.
 java.lang.String toString()
          toString.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

mset

public final java.util.List<GenPolynomial<C extends GcdRingElem<C>>> mset
Data structure.


ring

public final GenPolynomialRing<C extends GcdRingElem<C>> ring
Polynomial ring factory.

Constructor Detail

MultiplicativeSet

public MultiplicativeSet(GenPolynomialRing<C> ring)
MultiplicativeSet constructor. Constructs an empty multiplicative set.

Parameters:
ring - polynomial ring factory for coefficients.

MultiplicativeSet

protected MultiplicativeSet(GenPolynomialRing<C> ring,
                            java.util.List<GenPolynomial<C>> ms)
MultiplicativeSet constructor.

Parameters:
ring - polynomial ring factory for coefficients.
ms - a list of non-zero polynomials.
Method Detail

toString

public java.lang.String toString()
toString.

Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

equals

public boolean equals(java.lang.Object ob)
Equals.

Overrides:
equals in class java.lang.Object
Parameters:
ob - an Object.
Returns:
true if this is equal to o, else false.

hashCode

public int hashCode()
Hash code for this condition.

Overrides:
hashCode in class java.lang.Object
See Also:
Object.hashCode()

isEmpty

public boolean isEmpty()
Is set.

Returns:
true if this is the empty set, else false.

contains

public boolean contains(GenPolynomial<C> c)
Test if a polynomial is contained in this multiplicative set.

Parameters:
c - polynomial searched in mset.
Returns:
true, if c = prod_{m in mset} m, else false

contains

public boolean contains(java.util.List<GenPolynomial<C>> L)
Test if a list of polynomials is contained in multiplicative set.

Parameters:
L - list of polynomials to be searched in mset.
Returns:
true, if all c in L are in mset, else false

add

public MultiplicativeSet<C> add(GenPolynomial<C> cc)
Add polynomial to mset.

Parameters:
cc - polynomial to be added to mset.
Returns:
new multiplicative set. Note: must be overridden in sub-classes.

replace

public MultiplicativeSet<C> replace(java.util.List<GenPolynomial<C>> L)
Replace polynomial list of mset.

Parameters:
L - polynomial list to replace mset.
Returns:
new multiplicative set. Note: must be overridden in sub-classes.

removeFactors

public GenPolynomial<C> removeFactors(GenPolynomial<C> cc)
Remove factors by mset factors division.

Parameters:
cc - polynomial to be removed factors from mset.
Returns:
quotient polynomial.

removeFactors

public java.util.List<GenPolynomial<C>> removeFactors(java.util.List<GenPolynomial<C>> L)
Remove factors by mset factors division.

Parameters:
L - list of polynomial to be removed factors from mset.
Returns:
quotient polynomial list.