Package edu.jas.fd

Class FDUtil


  • public class FDUtil
    extends java.lang.Object
    Solvable polynomials factorization domain utilities, for example recursive pseudo remainder.
    • Field Detail

      • logger

        private static final org.apache.logging.log4j.Logger logger
    • Constructor Detail

      • FDUtil

        public FDUtil()
    • Method Detail

      • leftBaseSparsePseudoRemainder

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> leftBaseSparsePseudoRemainder​(GenSolvablePolynomial<C> P,
                                                                                                        GenSolvablePolynomial<C> S)
        GenSolvablePolynomial sparse pseudo remainder for univariate polynomials.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - GenSolvablePolynomial.
        S - nonzero GenSolvablePolynomial.
        Returns:
        remainder with ore(ldcf(S)m') P = quotient * S + remainder. m' ≤ deg(P)-deg(S)
      • rightBaseSparsePseudoRemainder

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> rightBaseSparsePseudoRemainder​(GenSolvablePolynomial<C> P,
                                                                                                         GenSolvablePolynomial<C> S)
        GenSolvablePolynomial sparse right pseudo remainder for univariate polynomials.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - GenSolvablePolynomial.
        S - nonzero GenSolvablePolynomial.
        Returns:
        remainder with P ore(ldcf(S)m') = S * quotient + remainder. m' ≤ deg(P)-deg(S)
      • leftBasePseudoQuotient

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> leftBasePseudoQuotient​(GenSolvablePolynomial<C> P,
                                                                                                 GenSolvablePolynomial<C> S)
        GenSolvablePolynomial sparse pseudo quotient for univariate polynomials or exact division.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - GenSolvablePolynomial.
        S - nonzero GenSolvablePolynomial.
        Returns:
        quotient with ore(ldcf(S)m') P = quotient * S + remainder. m' ≤ deg(P)-deg(S)
      • rightBasePseudoQuotient

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> rightBasePseudoQuotient​(GenSolvablePolynomial<C> P,
                                                                                                  GenSolvablePolynomial<C> S)
        GenSolvablePolynomial right sparse pseudo quotient for univariate polynomials or exact division.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - GenSolvablePolynomial.
        S - nonzero GenSolvablePolynomial.
        Returns:
        quotient with P ore(ldcf(S)m') = S * quotient + remainder. m' ≤ deg(P)-deg(S)
      • leftBasePseudoQuotientRemainder

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C>[] leftBasePseudoQuotientRemainder​(GenSolvablePolynomial<C> P,
                                                                                                            GenSolvablePolynomial<C> S)
        GenSolvablePolynomial sparse pseudo quotient and remainder for univariate polynomials or exact division.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - GenSolvablePolynomial.
        S - nonzero GenSolvablePolynomial.
        Returns:
        [ quotient, remainder ] with ore(ldcf(S)m') P = quotient * S + remainder. m' ≤ deg(P)-deg(S)
      • rightBasePseudoQuotientRemainder

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C>[] rightBasePseudoQuotientRemainder​(GenSolvablePolynomial<C> P,
                                                                                                             GenSolvablePolynomial<C> S)
        GenSolvablePolynomial right sparse pseudo quotient and remainder for univariate polynomials or exact division.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - GenSolvablePolynomial.
        S - nonzero GenSolvablePolynomial.
        Returns:
        [ quotient, remainder ] with P ore(ldcf(S)m') = S * quotient + remainder. m' ≤ deg(P)-deg(S)
      • isLeftBasePseudoQuotientRemainder

        public static <C extends GcdRingElem<C>> boolean isLeftBasePseudoQuotientRemainder​(GenPolynomial<C> P,
                                                                                           GenPolynomial<C> S,
                                                                                           GenPolynomial<C> q,
                                                                                           GenPolynomial<C> r)
        Is GenSolvablePolynomial left base pseudo quotient and remainder. For univariate polynomials. todo: Ore condition
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - base GenSolvablePolynomial.
        S - nonzero base GenSolvablePolynomial.
        Returns:
        true, if P = q * S + r, else false.
      • isRightBasePseudoQuotientRemainder

        public static <C extends GcdRingElem<C>> boolean isRightBasePseudoQuotientRemainder​(GenPolynomial<C> P,
                                                                                            GenPolynomial<C> S,
                                                                                            GenPolynomial<C> q,
                                                                                            GenPolynomial<C> r)
        Is GenSolvablePolynomial right base pseudo quotient and remainder. For univariate polynomials. todo: Ore condition
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - base GenSolvablePolynomial.
        S - nonzero base GenSolvablePolynomial.
        Returns:
        true, if P = S * q + r, else false.
      • recursiveRightSparsePseudoRemainder

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<GenPolynomial<C>> recursiveRightSparsePseudoRemainder​(GenSolvablePolynomial<GenPolynomial<C>> P,
                                                                                                                             GenSolvablePolynomial<GenPolynomial<C>> S)
        GenSolvablePolynomial right sparse pseudo remainder for recursive solvable polynomials. Note: uses right multiplication of P by ldcf(S), not always applicable.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - recursive GenSolvablePolynomial.
        S - nonzero recursive GenSolvablePolynomial.
        Returns:
        remainder with P ore(ldcf(S)m') = quotient * S + remainder.
        See Also:
        .
      • recursiveRightPseudoQuotientRemainder

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<GenPolynomial<C>>[] recursiveRightPseudoQuotientRemainder​(GenSolvablePolynomial<GenPolynomial<C>> P,
                                                                                                                                 GenSolvablePolynomial<GenPolynomial<C>> S)
        GenSolvablePolynomial right sparse pseudo quotient and remainder for recursive solvable polynomials. Note: uses right multiplication of P by ldcf(S), not always applicable.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - recursive GenSolvablePolynomial.
        S - nonzero recursive GenSolvablePolynomial.
        Returns:
        remainder with P ore(ldcf(S)m') = S * quotient + remainder.
        See Also:
        .
      • basePseudoLeftDivide

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> basePseudoLeftDivide​(GenSolvablePolynomial<C> P,
                                                                                               GenSolvablePolynomial<C> S)
        GenSolvablePolynomial sparse pseudo divide. For univariate polynomials or exact division.
        Type Parameters:
        C - coefficient type.
        Parameters:
        P - GenSolvablePolynomial.
        S - nonzero GenSolvablePolynomial.
        Returns:
        quotient with ldcf(S)m' P = quotient * S + remainder. m' ≤ deg(P)-deg(S)
      • integralFromQuotientCoefficients

        public static <C extends GcdRingElem<C>> GenSolvablePolynomial<GenPolynomial<C>> integralFromQuotientCoefficients​(GenSolvablePolynomialRing<GenPolynomial<C>> fac,
                                                                                                                          GenSolvablePolynomial<SolvableQuotient<C>> A)
        Integral solvable polynomial from solvable rational function coefficients. Represent as polynomial with integral solvable polynomial coefficients by multiplication with the lcm(??) of the numerators of the rational function coefficients.
        Parameters:
        fac - result polynomial factory.
        A - polynomial with solvable rational function coefficients to be converted.
        Returns:
        polynomial with integral solvable polynomial coefficients.
      • integralFromQuotientCoefficients

        public static <C extends GcdRingElem<C>> java.util.List<GenSolvablePolynomial<GenPolynomial<C>>> integralFromQuotientCoefficients​(GenSolvablePolynomialRing<GenPolynomial<C>> fac,
                                                                                                                                          java.util.Collection<GenSolvablePolynomial<SolvableQuotient<C>>> L)
        Integral solvable polynomial from solvable rational function coefficients. Represent as polynomial with integral solvable polynomial coefficients by multiplication with the lcm(??) of the numerators of the solvable rational function coefficients.
        Parameters:
        fac - result polynomial factory.
        L - list of polynomials with solvable rational function coefficients to be converted.
        Returns:
        list of polynomials with integral solvable polynomial coefficients.
      • quotientFromIntegralCoefficients

        public static <C extends GcdRingElem<C>> java.util.List<GenSolvablePolynomial<SolvableQuotient<C>>> quotientFromIntegralCoefficients​(GenSolvablePolynomialRing<SolvableQuotient<C>> fac,
                                                                                                                                             java.util.Collection<GenSolvablePolynomial<GenPolynomial<C>>> L)
        Solvable rational function from integral solvable polynomial coefficients. Represent as polynomial with type SolvableQuotient coefficients.
        Parameters:
        fac - result polynomial factory.
        L - list of polynomials with integral solvable polynomial coefficients to be converted.
        Returns:
        list of polynomials with type SolvableQuotient coefficients.