Package edu.jas.ufd
Class GreatestCommonDivisorHensel<MOD extends GcdRingElem<MOD> & Modular>
- java.lang.Object
-
- edu.jas.ufd.GreatestCommonDivisorAbstract<BigInteger>
-
- edu.jas.ufd.GreatestCommonDivisorHensel<MOD>
-
- All Implemented Interfaces:
GreatestCommonDivisor<BigInteger>
,java.io.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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static boolean
debug
GreatestCommonDivisorAbstract<BigInteger>
iufd
Fall back gcd algorithm.private static org.apache.logging.log4j.Logger
logger
boolean
quadratic
Flag for linear or quadratic Hensel lift.private GreatestCommonDivisorAbstract<BigInteger>
ufd
-
Constructor Summary
Constructors Constructor Description GreatestCommonDivisorHensel()
Constructor.GreatestCommonDivisorHensel(boolean quadratic)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GenPolynomial<BigInteger>
baseGcd(GenPolynomial<BigInteger> P, GenPolynomial<BigInteger> S)
Univariate GenPolynomial greatest common divisor.GenPolynomial<GenPolynomial<BigInteger>>
recursiveUnivariateGcd(GenPolynomial<GenPolynomial<BigInteger>> P, GenPolynomial<GenPolynomial<BigInteger>> S)
Univariate GenPolynomial recursive greatest common divisor.-
Methods inherited from class edu.jas.ufd.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 Detail
-
logger
private static final org.apache.logging.log4j.Logger logger
-
debug
private static final boolean debug
-
quadratic
public final boolean quadratic
Flag for linear or quadratic Hensel lift.
-
iufd
public final GreatestCommonDivisorAbstract<BigInteger> iufd
Fall back gcd algorithm.
-
ufd
private final GreatestCommonDivisorAbstract<BigInteger> ufd
-
-
Method Detail
-
baseGcd
public GenPolynomial<BigInteger> baseGcd(GenPolynomial<BigInteger> P, GenPolynomial<BigInteger> S)
Univariate GenPolynomial greatest common divisor. Uses univariate Hensel lifting.- Specified by:
baseGcd
in 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:
recursiveUnivariateGcd
in classGreatestCommonDivisorAbstract<BigInteger>
- Parameters:
P
- univariate recursive GenPolynomial.S
- univariate recursive GenPolynomial.- Returns:
- gcd(P,S).
-
-