Class RootFactoryApp


  • public class RootFactoryApp
    extends java.lang.Object
    Roots factory.
    • Field Detail

      • logger

        private static final org.apache.logging.log4j.Logger logger
      • debug

        private static final boolean debug
    • Constructor Detail

      • RootFactoryApp

        public RootFactoryApp()
    • Method Detail

      • isRootRealCoeff

        public static <C extends GcdRingElem<C> & Rational> boolean isRootRealCoeff​(GenPolynomial<C> f,
                                                                                    Complex<RealAlgebraicNumber<C>> r)
        Is complex algebraic number a root of a polynomial.
        Parameters:
        f - univariate polynomial.
        r - complex algebraic number.
        Returns:
        true, if f(r) == 0, else false;
      • isRoot

        public static <C extends GcdRingElem<C> & Rational> boolean isRoot​(GenPolynomial<Complex<C>> f,
                                                                           java.util.List<Complex<RealAlgebraicNumber<C>>> R)
        Is complex algebraic number a root of a polynomial.
        Parameters:
        f - univariate polynomial.
        R - list of complex algebraic numbers.
        Returns:
        true, if f(r) == 0 for all r in R, else false;
      • complexAlgebraicNumbersComplex

        public static <C extends GcdRingElem<C> & Rational> java.util.List<Complex<RealAlgebraicNumber<C>>> complexAlgebraicNumbersComplex​(GenPolynomial<Complex<C>> f)
        Complex algebraic number roots.
        Parameters:
        f - univariate polynomial.
        Returns:
        a list of different complex algebraic numbers, with f(c) == 0 for c in roots.
      • complexAlgebraicNumbersSquarefree

        public static <C extends GcdRingElem<C> & Rational> java.util.List<Complex<RealAlgebraicNumber<C>>> complexAlgebraicNumbersSquarefree​(GenPolynomial<Complex<C>> f)
        Complex algebraic number roots.
        Parameters:
        f - univariate squarefree polynomial.
        Returns:
        a list of different complex algebraic numbers, with f(c) == 0 for c in roots.
      • rootReduce

        public static <C extends GcdRingElem<C> & RationalAlgebraicRootsPrimElem<C> rootReduce​(AlgebraicRoots<C> a,
                                                                                                 AlgebraicRoots<C> b)
        Root reduce of real and complex algebraic numbers.
        Parameters:
        a - container of real and complex algebraic numbers.
        b - container of real and complex algebraic numbers.
        Returns:
        container of real and complex algebraic numbers of the primitive element of a and b.
      • rootReduce

        public static <C extends GcdRingElem<C> & RationalAlgebraicRootsPrimElem<C> rootReduce​(GenPolynomial<C> a,
                                                                                                 GenPolynomial<C> b)
        Root reduce of real and complex algebraic numbers.
        Parameters:
        a - polynomial.
        b - polynomial.
        Returns:
        container of real and complex algebraic numbers of the primitive element of a and b.
      • rootsOfUnity

        public static <C extends GcdRingElem<C> & RationalAlgebraicRootsPrimElem<C> rootsOfUnity​(AlgebraicRootsPrimElem<C> ar)
        Roots of unity of real and complex algebraic numbers.
        Parameters:
        ar - container of real and complex algebraic numbers with primitive element.
        Returns:
        container of real and complex algebraic numbers which are roots of unity.