Package edu.jas.poly

Class ModuleList<C extends RingElem<C>>

java.lang.Object
edu.jas.poly.ModuleList<C>
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
OptimizedModuleList, OrderedModuleList

public class ModuleList<C extends RingElem<C>> extends Object implements Serializable
List of vectors of polynomials. Mainly for storage and printing / toString and conversions to other representations.
See Also:
  • Field Details

    • ring

      public final GenPolynomialRing<C extends RingElem<C>> ring
      The factory for the solvable polynomial ring.
    • list

      public final List<List<GenPolynomial<C extends RingElem<C>>>> list
      The data structure is a List of Lists of polynomials.
    • rows

      public final int rows
      Number of rows in the data structure.
    • cols

      public final int cols
      Number of columns in the data structure.
    • logger

      private static final org.apache.logging.log4j.Logger logger
  • Constructor Details

  • Method Details

    • equals

      public boolean equals(Object m)
      Comparison with any other object.
      Overrides:
      equals in class Object
      See Also:
    • hashCode

      public int hashCode()
      Hash code for this module list.
      Overrides:
      hashCode in class Object
      See Also:
    • isEmpty

      public boolean isEmpty()
      Test if list is empty.
      Returns:
      true if this is empty, else false.
    • isZERO

      public boolean isZERO()
      Test all elements are zero.
      Returns:
      true if all elements are zero, else false.
    • toString

      public String toString()
      String representation of the module list.
      Overrides:
      toString in class Object
      See Also:
    • toScript

      public String toScript()
      Get a scripting compatible string representation.
      Returns:
      script compatible representation for this ModuleList.
    • padCols

      public static <C extends RingElem<C>> List<List<GenPolynomial<C>>> padCols(GenPolynomialRing<C> ring, List<List<GenPolynomial<C>>> l)
      Pad columns and remove zero rows. Make all rows have the same number of columns.
      Parameters:
      ring - polynomial ring factory.
      l - list of list of polynomials.
      Returns:
      list of list of polynomials with same number of columns.
    • getPolynomialList

      public PolynomialList<C> getPolynomialList()
      Get PolynomialList. Embed module in a polynomial ring.
      Returns:
      polynomial list corresponding to this.
      See Also:
    • getPolynomialList

      public PolynomialList<C> getPolynomialList(boolean top)
      Get PolynomialList. Embed module in a polynomial ring.
      Parameters:
      top - true for TOP term order, false for POT term order.
      Returns:
      polynomial list corresponding to this.
      See Also:
    • getPolynomialList

      public PolynomialList<C> getPolynomialList(GenPolynomialRing<C> pfac)
      Get PolynomialList. Embed module in a polynomial ring.
      Parameters:
      pfac - polynomial ring.
      Returns:
      polynomial list corresponding to pfac and this.
      See Also:
    • castToSolvableList

      public List<List<GenSolvablePolynomial<C>>> castToSolvableList()
      Get list as List of GenSolvablePolynomials. Required because no List casts allowed. Equivalent to cast (List<List<GenSolvablePolynomial<C>>>) list.
      Returns:
      list of solvable polynomial lists from this.
    • castToList

      public static <C extends RingElem<C>> List<List<GenPolynomial<C>>> castToList(List<List<GenSolvablePolynomial<C>>> slist)
      Get a solvable polynomials list as List of GenPolynomials. Required because no List casts allowed. Equivalent to cast (List<List<GenPolynomial<C>>>) list.
      Parameters:
      slist - list of solvable polynomial lists.
      Returns:
      list of polynomial lists from slist.
    • vecToList

      public static <C extends RingElem<C>> List<List<GenPolynomial<C>>> vecToList(List<GenVector<GenPolynomial<C>>> vlist)
      Get a list of vectors as List of list of GenPolynomials.
      Parameters:
      vlist - list of vectors of polynomials.
      Returns:
      list of polynomial lists from vlist.