Package edu.jas.gbufd

Class MultiplicativeSet<C extends GcdRingElem<C>>

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

public class MultiplicativeSet<C extends GcdRingElem<C>> extends Object implements Serializable
Multiplicative set of polynomials. a, b in M implies a*b in M, 1 in M.
See Also:
  • Field Details

  • Constructor Details

    • 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, List<GenPolynomial<C>> ms)
      MultiplicativeSet constructor.
      Parameters:
      ring - polynomial ring factory for coefficients.
      ms - a list of non-zero polynomials.
  • Method Details

    • toString

      public String toString()
      toString.
      Overrides:
      toString in class Object
      See Also:
    • equals

      public boolean equals(Object ob)
      Equals.
      Overrides:
      equals in class 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 Object
      See Also:
    • 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(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(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 List<GenPolynomial<C>> removeFactors(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.