Package edu.jas.root

Class ComplexAlgebraicRing<C extends GcdRingElem<C> & Rational>

    • Constructor Detail

      • ComplexAlgebraicRing

        public ComplexAlgebraicRing​(GenPolynomial<Complex<C>> m,
                                    Rectangle<C> root)
        The constructor creates a ComplexAlgebraicNumber factory object from a GenPolynomial objects module.
        Parameters:
        m - module GenPolynomial<C>.
        root - isolating rectangle for a complex root.
      • ComplexAlgebraicRing

        public ComplexAlgebraicRing​(GenPolynomial<Complex<C>> m,
                                    Rectangle<C> root,
                                    boolean isField)
        The constructor creates a ComplexAlgebraicNumber factory object from a GenPolynomial objects module.
        Parameters:
        m - module GenPolynomial<C>.
        root - isolating rectangle for a complex root.
        isField - indicator if m is prime.
    • Method Detail

      • setRoot

        public void setRoot​(Rectangle<C> v)
        Set a refined rectangle for the complex root. Note: rectangle may shrink eventually.
        Parameters:
        v - rectangle.
      • getRoot

        public Rectangle<C> getRoot()
        Get rectangle for the complex root.
        Returns:
        v rectangle.
      • getEps

        public BigRational getEps()
        Get epsilon.
        Returns:
        epsilon.
      • setEps

        public void setEps​(C e)
        Set a new epsilon.
        Parameters:
        e - epsilon.
      • setEps

        public void setEps​(BigRational e)
        Set a new epsilon.
        Parameters:
        e - epsilon.
      • refineRoot

        public void refineRoot()
        Refine root.
      • ensureEngine

        public void ensureEngine()
        Ensure engine is initialized.
      • refineRoot

        public void refineRoot​(BigRational e)
        Refine root.
        Parameters:
        e - epsilon.
      • getGenerator

        public ComplexAlgebraicNumber<C> getGenerator()
        Get the generating element.
        Returns:
        alpha as ComplexAlgebraicNumber.
      • isField

        public boolean isField()
        Query if this ring is a field.
        Specified by:
        isField in interface RingFactory<C extends GcdRingElem<C> & Rational>
        Returns:
        true if algebraic is prime, else false.
      • setField

        public void setField​(boolean isField)
        Assert that this ring is a field.
        Parameters:
        isField - true if this ring is a field, else false.
      • toString

        public java.lang.String toString()
        Get the String representation as RingFactory.
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • 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()
        Hash code for this ComplexAlgebraicNumber.
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • random

        public ComplexAlgebraicNumber<C> random​(int n,
                                                java.util.Random rnd)
        ComplexAlgebraicNumber random.
        Specified by:
        random in interface ElemFactory<C extends GcdRingElem<C> & Rational>
        Parameters:
        n - such that 0 ≤ v ≤ (2n-1).
        rnd - is a source for random bits.
        Returns:
        a random integer mod modul.