Package edu.jas.poly

Class GenExteriorPolynomialRing<C extends RingElem<C>>

    • Field Detail

      • ixfac

        public final IndexFactory ixfac
        The factory for the IndexList.
      • wone

        public final IndexList wone
        The constant empty index lists exponent for this ring.
      • random

        static final java.util.Random random
        A default random sequence generator.
      • isField

        private int isField
        Indicator if this ring is a field.
      • logger

        private static final org.apache.logging.log4j.Logger logger
        Log4j logger object.
      • checkPreempt

        final boolean checkPreempt
        Flag to enable if preemptive interrupt is checked.
    • Constructor Detail

      • GenExteriorPolynomialRing

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

        public GenExteriorPolynomialRing​(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.
      • GenExteriorPolynomialRing

        public GenExteriorPolynomialRing​(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.
      • GenExteriorPolynomialRing

        public GenExteriorPolynomialRing​(RingFactory<C> cf,
                                         GenExteriorPolynomialRing o)
        The constructor creates a polynomial factory object.
        Parameters:
        cf - factory for coefficients of type C.
        o - other polynomial ring.
      • GenExteriorPolynomialRing

        public GenExteriorPolynomialRing​(GenPolynomialRing<C> fac)
        The constructor creates a polynomial factory object.
        Parameters:
        fac - polynomial ring.
    • Method Detail

      • toString

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

        public java.lang.String toScript()
        Get a scripting compatible string representation.
        Specified by:
        toScript in interface ElemFactory<C extends RingElem<C>>
        Returns:
        script compatible representation for this Element.
        See Also:
        Element.toScript()
      • 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()
      • 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.
      • isCommutative

        public boolean isCommutative()
        Query if this ring is commutative.
        Specified by:
        isCommutative in interface MonoidFactory<C extends RingElem<C>>
        Returns:
        true if this ring is commutative, else false.
      • isAssociative

        public boolean isAssociative()
        Query if this ring is associative.
        Specified by:
        isAssociative in interface MonoidFactory<C extends RingElem<C>>
        Returns:
        true if this ring is associative, else false.
      • isField

        public boolean isField()
        Query if this ring is a field.
        Specified by:
        isField in interface RingFactory<C extends RingElem<C>>
        Returns:
        false.
      • characteristic

        public java.math.BigInteger characteristic()
        Characteristic of this ring.
        Specified by:
        characteristic in interface RingFactory<C extends RingElem<C>>
        Returns:
        characteristic of this ring.
      • valueOf

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

        public GenExteriorPolynomial<C> valueOf​(IndexList e)
        Get a GenExteriorPolynomial element from a index list.
        Parameters:
        e - index list.
        Returns:
        a GenExteriorPolynomial.
      • valueOf

        public GenExteriorPolynomial<C> valueOf​(ExpVector e)
        Get a GenExteriorPolynomial from an ExpVector.
        Parameters:
        e - exponent vector.
        Returns:
        a GenExteriorPolynomial, if exponents are > 1 return ZERO.
      • valueOf

        public GenExteriorPolynomial<C> valueOf​(C a,
                                                IndexList e)
        Get a GenExteriorPolynomial from a coefficient and a IndexList.
        Parameters:
        a - coefficient.
        e - word.
        Returns:
        a GenExteriorPolynomial.
      • valueOf

        public GenExteriorPolynomial<C> valueOf​(C a,
                                                ExpVector e)
        Get a GenExteriorPolynomial from a coefficient and an ExpVector.
        Parameters:
        a - coefficient.
        e - exponent vector.
        Returns:
        a GenExteriorPolynomial, if exponents are > 1 return ZERO.
      • valueOf

        public GenExteriorPolynomial<C> valueOf​(GenPolynomial<C> a)
        Get a GenExteriorPolynomial from a multivariate GenPolynomial, terms with exponents > 1 are set to zero.
        Parameters:
        a - multivariate GenPolynomial.
        Returns:
        multivariate a GenExteriorPolynomial.
      • valueOf

        public GenExteriorPolynomial<C> valueOf​(GenExteriorPolynomial<C> a)
        Get a GenExteriorPolynomial from a GenExteriorPolynomial with conformant index lists.
        Parameters:
        a - GenExteriorPolynomial.
        Returns:
        a GenExteriorPolynomial with conformant index lists.
      • valueOf

        public java.util.List<GenExteriorPolynomial<C>> valueOf​(java.util.List<GenPolynomial<C>> A)
        Get a list of GenExteriorPolynomials from a list of GenPolynomials.
        Parameters:
        A - GenPolynomial list.
        Returns:
        a GenExteriorPolynomial list.
      • getIMAX

        public GenExteriorPolynomial<C> getIMAX()
        Get a GenExteriorPolynomial maximal index list element.
        Returns:
        a GenExteriorPolynomial with maximal index list.
      • fromInteger

        public GenExteriorPolynomial<C> fromInteger​(java.math.BigInteger a)
        Get a (constant) GenExteriorPolynomial from a BigInteger value.
        Specified by:
        fromInteger in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        a - BigInteger.
        Returns:
        a GenExteriorPolynomial<C>.
      • fromVector

        public GenExteriorPolynomial<C> fromVector​(GenVector<C> a)
        Get a GenExteriorPolynomial from a GenVector.
        Parameters:
        a - GenVector.
        Returns:
        a GenExteriorPolynomial.
      • fromMatrix

        public java.util.List<GenExteriorPolynomial<C>> fromMatrix​(GenMatrix<C> A)
        Get a list of GenExteriorPolynomials from a GenMatrix.
        Parameters:
        A - GenMatrix
        Returns:
        a list of GenExteriorPolynomials.
      • determinant

        public C determinant​(java.util.List<GenExteriorPolynomial<C>> A)
        Determinant form exterior polynomial / matrix.
        Parameters:
        A - list of GenExteriorPolynomials
        Returns:
        determinant of 'matrix' A.
      • fromPolynomial

        public GenExteriorPolynomial<C> fromPolynomial​(GenPolynomial<C> a)
        Get a GenExteriorPolynomial from a univariate GenPolynomial. Different exponents are converted to different indexes.
        Parameters:
        a - univariate GenPolynomial.
        Returns:
        a multivariate GenExteriorPolynomial.
      • resultant

        public C resultant​(GenPolynomial<C> A,
                           GenPolynomial<C> B)
        Resultant of two commutative polynaomials.
        Parameters:
        A - GenPolynomial
        B - GenPolynomial
        Returns:
        res(A,B).
      • random

        public GenExteriorPolynomial<C> random​(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 GenExteriorPolynomial<C> random​(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 GenExteriorPolynomial<C> random​(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.
      • randomForm

        public GenExteriorPolynomial<C> randomForm​(int kl,
                                                   int l,
                                                   int k)
        Generate a random k-form polynomial.
        Parameters:
        kl - bitsize of random coefficients.
        l - number of terms.
        k - length of any random word.
        Returns:
        a random k-form polynomial.
      • randomForm

        public GenExteriorPolynomial<C> randomForm​(int kl,
                                                   int l,
                                                   int k,
                                                   java.util.Random rnd)
        Generate a random k-form polynomial.
        Parameters:
        kl - bitsize of random coefficients.
        l - number of terms.
        k - length of any random word.
        rnd - is a source for random bits.
        Returns:
        a random k-form polynomial.
      • parse

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

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

        public GenExteriorPolynomial<C> univariate​(int i)
        Generate univariate polynomial in a given variable.
        Parameters:
        i - the index of the variable.
        Returns:
        X_i as univariate polynomial.
      • univariateList

        public java.util.List<GenExteriorPolynomial<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<GenExteriorPolynomial<C>> getGenerators()
        Get the generating elements excluding the generators for the coefficient ring.
        Returns:
        a list of generating elements for this ring.