Package edu.jas.poly

Class GenWordPolynomialRing<C extends RingElem<C>>

    • Constructor Detail

      • GenWordPolynomialRing

        public GenWordPolynomialRing​(RingFactory<C> cf,
                                     WordFactory wf)
        The constructor creates a polynomial factory object with the default term order.
        Parameters:
        cf - factory for coefficients of type C.
        wf - factory for strings.
      • GenWordPolynomialRing

        public GenWordPolynomialRing​(RingFactory<C> cf,
                                     java.lang.String[] s)
        The constructor creates a polynomial factory object.
        Parameters:
        cf - factory for coefficients of type C.
        s - array of variable names.
      • GenWordPolynomialRing

        public GenWordPolynomialRing​(RingFactory<C> cf,
                                     java.lang.String s)
        The constructor creates a polynomial factory object.
        Parameters:
        cf - factory for coefficients of type C.
        s - string of single letter variable names.
    • Method Detail

      • toString

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

        public GenWordPolynomialRing<Cextend​(int i)
        Extend variables. Used e.g. in module embedding. Extend number of variables by i.
        Parameters:
        i - number of variables to extend.
        Returns:
        extended word polynomial ring factory.
      • extend

        public GenWordPolynomialRing<Cextend​(java.lang.String[] vn)
        Extend variables. Extend number of variables by length(vn).
        Parameters:
        vn - names for extended variables.
        Returns:
        extended polynomial ring factory.
      • equals

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

        public int hashCode()
        Hash code for this polynomial ring.
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • getVars

        public java.lang.String[] getVars()
        Get the variable names.
        Returns:
        vars.
      • getZEROCoefficient

        public C getZEROCoefficient()
        Get the zero element from the coefficients.
        Returns:
        0 as C.
      • getONECoefficient

        public C getONECoefficient()
        Get the one element from the coefficients.
        Returns:
        1 as C.
      • valueOf

        public GenWordPolynomial<CvalueOf​(C a)
        Get a (constant) GenWordPolynomial<C> element from a coefficient value.
        Parameters:
        a - coefficient.
        Returns:
        a GenWordPolynomial<C>.
      • valueOf

        public GenWordPolynomial<CvalueOf​(Word e)
        Get a GenWordPolynomial<C> element from a word.
        Parameters:
        e - word.
        Returns:
        a GenWordPolynomial<C>.
      • valueOf

        public GenWordPolynomial<CvalueOf​(ExpVector e)
        Get a GenWordPolynomial<C> element from an ExpVector.
        Parameters:
        e - exponent vector.
        Returns:
        a GenWordPolynomial<C>.
      • valueOf

        public GenWordPolynomial<CvalueOf​(C a,
                                            Word e)
        Get a GenWordPolynomial<C> element from a coefficient and a word.
        Parameters:
        a - coefficient.
        e - word.
        Returns:
        a GenWordPolynomial<C>.
      • valueOf

        public GenWordPolynomial<CvalueOf​(C a,
                                            ExpVector e)
        Get a GenWordPolynomial<C> element from a coefficient and an ExpVector.
        Parameters:
        a - coefficient.
        e - exponent vector.
        Returns:
        a GenWordPolynomial<C>.
      • valueOf

        public GenWordPolynomial<CvalueOf​(GenPolynomial<C> a)
        Get a GenWordPolynomial<C> element from a GenPolynomial<C>.
        Parameters:
        a - GenPolynomial.
        Returns:
        a GenWordPolynomial<C>.
      • valueOf

        public java.util.List<GenWordPolynomial<C>> valueOf​(java.util.List<GenPolynomial<C>> A)
        Get a list of GenWordPolynomial<C> element from a list of GenPolynomial<C>.
        Parameters:
        A - GenPolynomial list.
        Returns:
        a GenWordPolynomial<C> list.
      • random

        public GenWordPolynomial<Crandom​(int n,
                                           java.util.Random rnd)
        Random polynomial. Generates a random polynomial with k = 5, l = n, d = 3.
        Specified by:
        random in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        n - number of terms.
        rnd - is a source for random bits.
        Returns:
        a random polynomial.
      • random

        public GenWordPolynomial<Crandom​(int k,
                                           int l,
                                           int d)
        Generate a random polynomial.
        Parameters:
        k - bitsize of random coefficients.
        l - number of terms.
        d - maximal length of a random word.
        Returns:
        a random polynomial.
      • random

        public GenWordPolynomial<Crandom​(int k,
                                           int l,
                                           int d,
                                           java.util.Random rnd)
        Generate a random polynomial.
        Parameters:
        k - bitsize of random coefficients.
        l - number of terms.
        d - maximal length of a random word.
        rnd - is a source for random bits.
        Returns:
        a random polynomial.
      • parse

        public GenWordPolynomial<Cparse​(java.lang.String s)
        Parse a polynomial with the use of GenWordPolynomialTokenizer.
        Specified by:
        parse in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        s - String.
        Returns:
        GenWordPolynomial from s.
      • parse

        public GenWordPolynomial<Cparse​(java.io.Reader r)
        Parse a polynomial with the use of GenWordPolynomialTokenizer.
        Specified by:
        parse in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        r - Reader.
        Returns:
        next GenWordPolynomial from r.
      • univariate

        public GenWordPolynomial<Cunivariate​(int i)
        Generate univariate polynomial in a given variable.
        Parameters:
        i - the index of the variable.
        Returns:
        X_i as univariate polynomial.
      • commute

        public GenWordPolynomial<Ccommute​(int i,
                                            int j)
        Generate commute polynomial in two variables.
        Parameters:
        i - the index of the first variable.
        j - the index of the second variable.
        Returns:
        X_i * x_j - X_j * X_i as polynomial.
      • commute

        public java.util.List<GenWordPolynomial<C>> commute​(int i)
        Generate commute polynomials for given variable.
        Parameters:
        i - the index of the variable.
        Returns:
        [X_i * x_j - X_j * X_i, i != j] as list of polynomials.
      • commute

        public java.util.List<GenWordPolynomial<C>> commute()
        Generate commute polynomials for all variables.
        Returns:
        [X_i * x_j - X_j * X_i, i != j] as list of polynomials.
      • univariateList

        public java.util.List<GenWordPolynomial<C>> univariateList()
        Generate list of univariate polynomials in all variables.
        Returns:
        List(X_1,...,X_n) a list of univariate polynomials.
      • getGenerators

        public java.util.List<GenWordPolynomial<C>> getGenerators()
        Get the generating elements excluding the generators for the coefficient ring.
        Returns:
        a list of generating elements for this ring.