Package edu.jas.ufd
Class GreatestCommonDivisorModular<MOD extends GcdRingElem<MOD> & Modular>
- java.lang.Object
-
- edu.jas.ufd.GreatestCommonDivisorAbstract<BigInteger>
-
- edu.jas.ufd.GreatestCommonDivisorModular<MOD>
-
- All Implemented Interfaces:
GreatestCommonDivisor<BigInteger>
,java.io.Serializable
public class GreatestCommonDivisorModular<MOD extends GcdRingElem<MOD> & Modular> extends GreatestCommonDivisorAbstract<BigInteger>
Greatest common divisor algorithms with modular computation and Chinese remainder algorithm.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected GreatestCommonDivisorAbstract<BigInteger>
iufd
protected GreatestCommonDivisorAbstract<MOD>
mufd
-
Constructor Summary
Constructors Constructor Description GreatestCommonDivisorModular()
Constructor to set recursive algorithm.GreatestCommonDivisorModular(boolean simple)
Constructor to set recursive algorithm.
-
Method Summary
-
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 Detail
-
mufd
protected final GreatestCommonDivisorAbstract<MOD extends GcdRingElem<MOD> & Modular> mufd
-
iufd
protected final GreatestCommonDivisorAbstract<BigInteger> iufd
-
-
Constructor Detail
-
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 Detail
-
baseGcd
public GenPolynomial<BigInteger> baseGcd(GenPolynomial<BigInteger> P, GenPolynomial<BigInteger> S)
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
public GenPolynomial<BigInteger> gcd(GenPolynomial<BigInteger> P, GenPolynomial<BigInteger> S)
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:
GreatestCommonDivisorAbstract.recursiveResultant(edu.jas.poly.GenPolynomial<edu.jas.poly.GenPolynomial<C>>, edu.jas.poly.GenPolynomial<edu.jas.poly.GenPolynomial<C>>)
-
-