Package edu.jas.ufd
Class GreatestCommonDivisorModular<MOD extends GcdRingElem<MOD> & Modular>
- All Implemented Interfaces:
GreatestCommonDivisor<BigInteger>
,Serializable
public class GreatestCommonDivisorModular<MOD extends GcdRingElem<MOD> & Modular>
extends GreatestCommonDivisorAbstract<BigInteger>
Greatest common divisor algorithms with modular computation and Chinese
remainder algorithm.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final boolean
protected final GreatestCommonDivisorAbstract
<BigInteger> private static final org.apache.logging.log4j.Logger
protected final GreatestCommonDivisorAbstract
<MOD> -
Constructor Summary
ConstructorsConstructorDescriptionConstructor to set recursive algorithm.GreatestCommonDivisorModular
(boolean simple) Constructor to set recursive algorithm. -
Method Summary
Modifier and TypeMethodDescriptionUnivariate GenPolynomial greatest common divisor.Univariate GenPolynomial resultant.GenPolynomial greatest common divisor, modular algorithm.recursiveUnivariateGcd
(GenPolynomial<GenPolynomial<BigInteger>> P, GenPolynomial<GenPolynomial<BigInteger>> S) Univariate GenPolynomial recursive greatest common divisor.recursiveUnivariateResultant
(GenPolynomial<GenPolynomial<BigInteger>> P, GenPolynomial<GenPolynomial<BigInteger>> S) Univariate GenPolynomial recursive resultant.GenPolynomial resultant, modular algorithm.Methods inherited from class edu.jas.ufd.GreatestCommonDivisorAbstract
baseContent, baseExtendedGcd, baseGcdDiophant, baseHalfExtendedGcd, basePartialFraction, basePartialFraction, basePartialFraction, basePartialFractionValue, basePrimitivePart, basePrimitivePart, baseRecursiveContent, baseRecursivePrimitivePart, content, contentPrimitivePart, coPrime, coPrime, coPrimeRec, divide, gcd, gcd, isBasePartialFraction, isBasePartialFraction, isCoPrime, isCoPrime, lcm, primitivePart, recursiveContent, recursiveGcd, recursivePrimitivePart, recursivePrimitivePart, recursiveResultant, toString
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
mufd
-
iufd
-
-
Constructor Details
-
GreatestCommonDivisorModular
public GreatestCommonDivisorModular()Constructor to set recursive algorithm. Use modular evaluation GCD algorithm. -
GreatestCommonDivisorModular
public GreatestCommonDivisorModular(boolean simple) Constructor to set recursive algorithm.- Parameters:
simple
- , true if the simple PRS should be used.
-
-
Method Details
-
baseGcd
Univariate GenPolynomial greatest common divisor. Delegate to subresultant baseGcd, should not be needed.- 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. Delegate to subresultant recursiveGcd, should not be needed.- Specified by:
recursiveUnivariateGcd
in classGreatestCommonDivisorAbstract<BigInteger>
- Parameters:
P
- univariate recursive GenPolynomial.S
- univariate recursive GenPolynomial.- Returns:
- gcd(P,S).
-
gcd
GenPolynomial greatest common divisor, modular algorithm.- Specified by:
gcd
in interfaceGreatestCommonDivisor<MOD extends GcdRingElem<MOD> & Modular>
- Overrides:
gcd
in classGreatestCommonDivisorAbstract<BigInteger>
- Parameters:
P
- GenPolynomial.S
- GenPolynomial.- Returns:
- gcd(P,S).
-
baseResultant
public GenPolynomial<BigInteger> baseResultant(GenPolynomial<BigInteger> P, GenPolynomial<BigInteger> S) Univariate GenPolynomial resultant.- Overrides:
baseResultant
in classGreatestCommonDivisorAbstract<BigInteger>
- Parameters:
P
- univariate GenPolynomial.S
- univariate GenPolynomial.- Returns:
- res(P,S).
-
recursiveUnivariateResultant
public GenPolynomial<GenPolynomial<BigInteger>> recursiveUnivariateResultant(GenPolynomial<GenPolynomial<BigInteger>> P, GenPolynomial<GenPolynomial<BigInteger>> S) Univariate GenPolynomial recursive resultant.- Overrides:
recursiveUnivariateResultant
in classGreatestCommonDivisorAbstract<BigInteger>
- Parameters:
P
- univariate recursive GenPolynomial.S
- univariate recursive GenPolynomial.- Returns:
- res(P,S).
-
resultant
public GenPolynomial<BigInteger> resultant(GenPolynomial<BigInteger> P, GenPolynomial<BigInteger> S) GenPolynomial resultant, modular algorithm.- Specified by:
resultant
in interfaceGreatestCommonDivisor<MOD extends GcdRingElem<MOD> & Modular>
- Overrides:
resultant
in classGreatestCommonDivisorAbstract<BigInteger>
- Parameters:
P
- GenPolynomial.S
- GenPolynomial.- Returns:
- res(P,S).
- See Also:
-