edu.jas.ufd
Class GreatestCommonDivisorSubres<C extends GcdRingElem<C>>

java.lang.Object
  extended by edu.jas.ufd.GreatestCommonDivisorAbstract<C>
      extended by edu.jas.ufd.GreatestCommonDivisorSubres<C>
All Implemented Interfaces:
GreatestCommonDivisor<C>

public class GreatestCommonDivisorSubres<C extends GcdRingElem<C>>
extends GreatestCommonDivisorAbstract<C>

Greatest common divisor algorithms with subresultant polynomial remainder sequence.

Author:
Heinz Kredel

Constructor Summary
GreatestCommonDivisorSubres()
           
 
Method Summary
 GenPolynomial<C> baseGcd(GenPolynomial<C> P, GenPolynomial<C> S)
          Univariate GenPolynomial greatest comon divisor.
 GenPolynomial<C> basePseudoRemainder(GenPolynomial<C> P, GenPolynomial<C> S)
          GenPolynomial pseudo remainder.
 GenPolynomial<C> baseResultant(GenPolynomial<C> P, GenPolynomial<C> S)
          Univariate GenPolynomial resultant.
 GenPolynomial<GenPolynomial<C>> recursiveGcd(GenPolynomial<GenPolynomial<C>> P, GenPolynomial<GenPolynomial<C>> S)
          Univariate GenPolynomial recursive greatest comon divisor.
 GenPolynomial<GenPolynomial<C>> recursivePseudoRemainder(GenPolynomial<GenPolynomial<C>> P, GenPolynomial<GenPolynomial<C>> S)
          GenPolynomial pseudo remainder.
 GenPolynomial<GenPolynomial<C>> recursiveResultant(GenPolynomial<GenPolynomial<C>> P, GenPolynomial<GenPolynomial<C>> S)
          Univariate GenPolynomial recursive resultant.
 
Methods inherited from class edu.jas.ufd.GreatestCommonDivisorAbstract
baseContent, basePrimitivePart, baseSquarefreeFactors, baseSquarefreePart, content, divide, gcd, gcd, lcm, primitivePart, recursiveContent, recursivePrimitivePart, recursiveSquarefreeFactors, recursiveSquarefreePart, resultant, squarefreeFactors, squarefreePart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GreatestCommonDivisorSubres

public GreatestCommonDivisorSubres()
Method Detail

basePseudoRemainder

public GenPolynomial<C> basePseudoRemainder(GenPolynomial<C> P,
                                            GenPolynomial<C> S)
GenPolynomial pseudo remainder. For univariate polynomials.

See Also:
GenPolynomial.remainder(edu.jas.poly.GenPolynomial).
Parameters:
P - GenPolynomial.
S - nonzero GenPolynomial.
Returns:
remainder with ldcf(S)m P = quotient * S + remainder.

baseGcd

public GenPolynomial<C> baseGcd(GenPolynomial<C> P,
                                GenPolynomial<C> S)
Univariate GenPolynomial greatest comon divisor. Uses pseudoRemainder for remainder.

Specified by:
baseGcd in class GreatestCommonDivisorAbstract<C extends GcdRingElem<C>>
Parameters:
P - univariate GenPolynomial.
S - univariate GenPolynomial.
Returns:
gcd(P,S).

recursivePseudoRemainder

public GenPolynomial<GenPolynomial<C>> recursivePseudoRemainder(GenPolynomial<GenPolynomial<C>> P,
                                                                GenPolynomial<GenPolynomial<C>> S)
GenPolynomial pseudo remainder. For recursive polynomials.

See Also:
GenPolynomial.remainder(edu.jas.poly.GenPolynomial).
Parameters:
P - recursive GenPolynomial.
S - nonzero recursive GenPolynomial.
Returns:
remainder with ldcf(S)m P = quotient * S + remainder.

recursiveGcd

public GenPolynomial<GenPolynomial<C>> recursiveGcd(GenPolynomial<GenPolynomial<C>> P,
                                                    GenPolynomial<GenPolynomial<C>> S)
Univariate GenPolynomial recursive greatest comon divisor. Uses pseudoRemainder for remainder.

Specified by:
recursiveGcd in class GreatestCommonDivisorAbstract<C extends GcdRingElem<C>>
Parameters:
P - univariate recursive GenPolynomial.
S - univariate recursive GenPolynomial.
Returns:
gcd(P,S).

baseResultant

public GenPolynomial<C> baseResultant(GenPolynomial<C> P,
                                      GenPolynomial<C> S)
Univariate GenPolynomial resultant. Uses pseudoRemainder for remainder.

Parameters:
P - univariate GenPolynomial.
S - univariate GenPolynomial.
Returns:
res(P,S).

recursiveResultant

public GenPolynomial<GenPolynomial<C>> recursiveResultant(GenPolynomial<GenPolynomial<C>> P,
                                                          GenPolynomial<GenPolynomial<C>> S)
Univariate GenPolynomial recursive resultant. Uses pseudoRemainder for remainder.

Parameters:
P - univariate recursive GenPolynomial.
S - univariate recursive GenPolynomial.
Returns:
res(P,S).