Class RootFactoryApp

java.lang.Object
edu.jas.application.RootFactoryApp

public class RootFactoryApp extends Object
Roots factory.
  • Field Details

    • logger

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

      private static final boolean debug
  • Constructor Details

    • RootFactoryApp

      public RootFactoryApp()
  • Method Details

    • 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, 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, 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> 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> 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> & Rational> AlgebraicRootsPrimElem<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> & Rational> AlgebraicRootsPrimElem<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.
    • rootReduce

      public static <C extends GcdRingElem<C> & Rational> AlgebraicRootsPrimElem<C> rootReduce(AlgebraicNumberRing<C> a, AlgebraicNumberRing<C> b)
      Root reduce of real and complex algebraic numbers.
      Parameters:
      a - algebraic number ring.
      b - algebraic number ring.
      Returns:
      container of real and complex algebraic numbers of the primitive element of a and b.
    • rootsOfUnity

      public static <C extends GcdRingElem<C> & Rational> AlgebraicRootsPrimElem<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.