Class GreatestCommonDivisorHensel<MOD extends GcdRingElem<MOD> & Modular>
- All Implemented Interfaces:
GreatestCommonDivisor<BigInteger>, Serializable
public class GreatestCommonDivisorHensel<MOD extends GcdRingElem<MOD> & Modular>
extends GreatestCommonDivisorAbstract<BigInteger>
Greatest common divisor algorithms with subresultant polynomial remainder
sequence and univariate Hensel lifting.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final booleanFall back gcd algorithm.private static final org.apache.logging.log4j.Loggerfinal booleanFlag for linear or quadratic Hensel lift.private final GreatestCommonDivisorAbstract<BigInteger> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionUnivariate GenPolynomial greatest common divisor.recursiveUnivariateGcd(GenPolynomial<GenPolynomial<BigInteger>> P, GenPolynomial<GenPolynomial<BigInteger>> S) Univariate GenPolynomial recursive greatest common divisor.Methods inherited from class GreatestCommonDivisorAbstract
baseContent, baseExtendedGcd, baseGcdDiophant, baseHalfExtendedGcd, basePartialFraction, basePartialFraction, basePartialFraction, basePartialFractionValue, basePrimitivePart, basePrimitivePart, baseRecursiveContent, baseRecursivePrimitivePart, baseResultant, content, contentPrimitivePart, coPrime, coPrime, coPrimeRec, divide, gcd, gcd, gcd, isBasePartialFraction, isBasePartialFraction, isCoPrime, isCoPrime, lcm, primitivePart, recursiveContent, recursiveGcd, recursivePrimitivePart, recursivePrimitivePart, recursiveResultant, recursiveUnivariateResultant, resultant, toString
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
quadratic
public final boolean quadraticFlag for linear or quadratic Hensel lift. -
iufd
Fall back gcd algorithm. -
ufd
-
-
Constructor Details
-
GreatestCommonDivisorHensel
public GreatestCommonDivisorHensel()Constructor. -
GreatestCommonDivisorHensel
public GreatestCommonDivisorHensel(boolean quadratic) Constructor.- Parameters:
quadratic- use quadratic Hensel lift.
-
-
Method Details
-
baseGcd
Univariate GenPolynomial greatest common divisor. Uses univariate Hensel lifting.- Specified by:
baseGcdin classGreatestCommonDivisorAbstract<BigInteger>- Parameters:
P- univariate GenPolynomial.S- univariate GenPolynomial.- Returns:
- gcd(P,S).
-
recursiveUnivariateGcd
public GenPolynomial<GenPolynomial<BigInteger>> recursiveUnivariateGcd(GenPolynomial<GenPolynomial<BigInteger>> P, GenPolynomial<GenPolynomial<BigInteger>> S) Univariate GenPolynomial recursive greatest common divisor. Uses multivariate Hensel list.- Specified by:
recursiveUnivariateGcdin classGreatestCommonDivisorAbstract<BigInteger>- Parameters:
P- univariate recursive GenPolynomial.S- univariate recursive GenPolynomial.- Returns:
- gcd(P,S).
-