Package edu.jas.poly

Class IndexFactory

  • All Implemented Interfaces:
    ElemFactory<IndexList>, MonoidFactory<IndexList>, java.io.Serializable

    public class IndexFactory
    extends java.lang.Object
    implements MonoidFactory<IndexList>
    IndexList factory implements a factory for index lists for exterior polynomials. Objects of this class are intended to be immutable. If in doubt use valueOf to get a conformant index list.
    Author:
    Heinz Kredel
    See Also:
    "masnc.DIPE.mi#ILEXPR from SAC2/MAS", Serialized Form
    • Field Detail

      • imaxlength

        public final int imaxlength
        The maximal length index list for this factory.
      • vname

        public final java.lang.String vname
        The coordinate variable name.
      • imax

        public final IndexList imax
        The maximal index list for this factory.
      • ONE

        public final IndexList ONE
        The one element index list.
    • Constructor Detail

      • IndexFactory

        public IndexFactory()
        Constructor for IndexFactory. No argument constructor .
      • IndexFactory

        public IndexFactory​(int r)
        Constructor for IndexFactory.
        Parameters:
        r - length of index lists, starting with index 1.
      • IndexFactory

        public IndexFactory​(int r,
                            boolean w)
        Constructor for IndexFactory.
        Parameters:
        r - length of index lists, starting with index 1.
        w - termorder for index lists: true for weak, false for strong.
      • IndexFactory

        public IndexFactory​(int r,
                            java.lang.String v)
        Constructor for IndexFactory.
        Parameters:
        r - length of index lists, starting with index 1.
        v - coordinate vname.
      • IndexFactory

        public IndexFactory​(int r,
                            java.lang.String v,
                            boolean w)
        Constructor for IndexFactory.
        Parameters:
        r - length of index lists, starting with index 1.
        v - coordinate vname.
        w - termorder for index lists: true for weak, false for strong.
      • IndexFactory

        public IndexFactory​(int s,
                            int t)
        Constructor for IndexFactory.
        Parameters:
        s - start index.
        t - length of index lists.
      • IndexFactory

        public IndexFactory​(int s,
                            int t,
                            java.lang.String v,
                            boolean w)
        Constructor for IndexFactory.
        Parameters:
        s - start index.
        t - length of index lists.
        v - coordinate vname.
        w - termorder for index lists: true for weak, false for strong.
    • Method Detail

      • valueOf

        public IndexList valueOf​(ExpVector e)
        Value of other.
        Parameters:
        e - other ExpVector.
        Returns:
        value as IndexList.
      • valueOf

        public IndexList valueOf​(java.util.Collection<java.lang.Integer> e)
        Value of other.
        Parameters:
        e - other Collection of Integer indexes.
        Returns:
        value as IndexList.
      • valueOf

        public IndexList valueOf​(int[] e)
        Value of other.
        Parameters:
        e - other int[] of indexes, may not be conform to IndexList specification.
        Returns:
        value as IndexList.
      • valueOf

        public IndexList valueOf​(IndexList e)
        Value of other.
        Parameters:
        e - other IndexList, may not be conform to IndexList specification.
        Returns:
        value as IndexList.
      • length

        public int length()
        Get the maximal length of index lists of this factory.
        Returns:
        imaxlength.
      • toString

        public java.lang.String toString()
        Get the string representation.
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • parse

        public IndexList parse​(java.lang.String s)
                        throws java.lang.NumberFormatException
        Parser for IndexList. Converts a String representation to an IndexList. Accepted format = E(1,2,3,4,5,6,7).
        Specified by:
        parse in interface ElemFactory<IndexList>
        Parameters:
        s - String representation.
        Returns:
        parsed IndexList
        Throws:
        java.lang.NumberFormatException
      • parse

        public IndexList parse​(java.io.Reader r)
        Parse from Reader. White space is delimiter for index list.
        Specified by:
        parse in interface ElemFactory<IndexList>
        Parameters:
        r - Reader.
        Returns:
        the next Element found on r.
      • equals

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

        public int hashCode()
        hashCode. Optimized for small indexes, i.e. ≤ 24 and small number of variables, i.e. ≤ 8.
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • getZERO

        public IndexList getZERO()
        Get IndexList zero.
        Returns:
        0 IndexList.
      • random

        public final IndexList random​(int r)
        Generate a random IndexList.
        Specified by:
        random in interface ElemFactory<IndexList>
        Parameters:
        r - length of new IndexList.
        Returns:
        random IndexList.
      • random

        public final IndexList random​(int r,
                                      java.util.Random rnd)
        Generate a random IndexList.
        Specified by:
        random in interface ElemFactory<IndexList>
        Parameters:
        r - length of new IndexList.
        rnd - is a source for random bits.
        Returns:
        random IndexList.
      • random

        public final IndexList random​(int r,
                                      float q)
        Generate a random IndexList.
        Parameters:
        r - length of new IndexList.
        q - density of nozero indexes.
        Returns:
        random IndexList.
      • random

        public final IndexList random​(int r,
                                      float q,
                                      java.util.Random rnd)
        Generate a random IndexList.
        Parameters:
        r - length of new IndexList.
        q - density of nozero indexes.
        rnd - is a source for random bits.
        Returns:
        random IndexList.
      • sequence

        public final IndexList sequence​(int s,
                                        int r)
        Generate a sequence IndexList.
        Parameters:
        s - starting index.
        r - length of new IndexList.
        Returns:
        sequence (s, s+1, ..., s+r-1) IndexList.
      • sequenceArray

        public static int[] sequenceArray​(int s,
                                          int r)
        Generate a sequence array.
        Parameters:
        s - starting index.
        r - length of array.
        Returns:
        sequence (s, s+1, ..., s+r-1) array.