edu.jas.ufd
Class GreatestCommonDivisorHensel<MOD extends GcdRingElem<MOD> & Modular>

java.lang.Object
  extended by edu.jas.ufd.GreatestCommonDivisorAbstract<BigInteger>
      extended by 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.

Author:
Heinz Kredel
See Also:
Serialized Form

Field Summary
 GreatestCommonDivisorAbstract<BigInteger> iufd
          Fall back gcd algorithm.
 boolean quadratic
          Flag for linear or quadratic Hensel lift.
 
Constructor Summary
GreatestCommonDivisorHensel()
          Constructor.
GreatestCommonDivisorHensel(boolean quadratic)
          Constructor.
 
Method Summary
 GenPolynomial<BigInteger> baseGcd(GenPolynomial<BigInteger> P, GenPolynomial<BigInteger> S)
          Univariate GenPolynomial greatest comon divisor.
 GenPolynomial<GenPolynomial<BigInteger>> recursiveUnivariateGcd(GenPolynomial<GenPolynomial<BigInteger>> P, GenPolynomial<GenPolynomial<BigInteger>> S)
          Univariate GenPolynomial recursive greatest comon divisor.
 
Methods inherited from class edu.jas.ufd.GreatestCommonDivisorAbstract
baseContent, baseExtendedGcd, baseGcdDiophant, baseHalfExtendedGcd, basePartialFraction, basePartialFraction, basePartialFraction, basePartialFractionValue, basePrimitivePart, baseRecursiveContent, baseRecursivePrimitivePart, content, coPrime, coPrime, coPrimeRec, divide, gcd, gcd, isBasePartialFraction, isBasePartialFraction, isCoPrime, isCoPrime, lcm, primitivePart, recursiveContent, recursiveGcd, recursivePrimitivePart, resultant, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

quadratic

public final boolean quadratic
Flag for linear or quadratic Hensel lift.


iufd

public final GreatestCommonDivisorAbstract<BigInteger> iufd
Fall back gcd algorithm.

Constructor Detail

GreatestCommonDivisorHensel

public GreatestCommonDivisorHensel()
Constructor.


GreatestCommonDivisorHensel

public GreatestCommonDivisorHensel(boolean quadratic)
Constructor.

Parameters:
quadratic - use quadratic Hensel lift.
Method Detail

baseGcd

public GenPolynomial<BigInteger> baseGcd(GenPolynomial<BigInteger> P,
                                         GenPolynomial<BigInteger> S)
Univariate GenPolynomial greatest comon divisor. Uses univariate Hensel lifting.

Specified by:
baseGcd in class GreatestCommonDivisorAbstract<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 comon divisor. Uses multivariate Hensel list.

Specified by:
recursiveUnivariateGcd in class GreatestCommonDivisorAbstract<BigInteger>
Parameters:
P - univariate recursive GenPolynomial.
S - univariate recursive GenPolynomial.
Returns:
gcd(P,S).