edu.jas.ufd
Interface GreatestCommonDivisor<C extends GcdRingElem<C>>

Type Parameters:
C - coefficient type
All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
GCDProxy, GreatestCommonDivisorAbstract, GreatestCommonDivisorHensel, GreatestCommonDivisorModEval, GreatestCommonDivisorModular, GreatestCommonDivisorPrimitive, GreatestCommonDivisorSimple, GreatestCommonDivisorSubres

public interface GreatestCommonDivisor<C extends GcdRingElem<C>>
extends java.io.Serializable

Greatest common divisor algorithm interface.

Author:
Heinz Kredel
See Also:
GCDFactory.getImplementation(edu.jas.arith.ModLongRing)
Usage
To create classes that implement this interface use the GreatestCommonDivisorFactory. It will select an appropriate implementation based on the types of polynomial coefficients CT.
 GreatestCommonDivisor<CT> engine = GCDFactory.<CT> getImplementation(cofac);
 c = engine.gcd(a, b);
 
For example, if the coefficient type is BigInteger, the usage looks like
 BigInteger cofac = new BigInteger();
 GreatestCommonDivisor<BigInteger> engine = GCDFactory.getImplementation(cofac);
 c = engine.gcd(a, b);
 

Method Summary
 GenPolynomial<C> content(GenPolynomial<C> P)
          GenPolynomial content.
 java.util.List<GenPolynomial<C>> coPrime(GenPolynomial<C> a, java.util.List<GenPolynomial<C>> P)
          GenPolynomial co-prime list.
 java.util.List<GenPolynomial<C>> coPrime(java.util.List<GenPolynomial<C>> A)
          GenPolynomial co-prime list.
 GenPolynomial<C> gcd(GenPolynomial<C> P, GenPolynomial<C> S)
          GenPolynomial greatest comon divisor.
 boolean isCoPrime(java.util.List<GenPolynomial<C>> A)
          GenPolynomial test for co-prime list.
 boolean isCoPrime(java.util.List<GenPolynomial<C>> P, java.util.List<GenPolynomial<C>> A)
          GenPolynomial test for co-prime list of given list.
 GenPolynomial<C> lcm(GenPolynomial<C> P, GenPolynomial<C> S)
          GenPolynomial least comon multiple.
 GenPolynomial<C> primitivePart(GenPolynomial<C> P)
          GenPolynomial primitive part.
 GenPolynomial<C> resultant(GenPolynomial<C> P, GenPolynomial<C> S)
          GenPolynomial resultant.
 

Method Detail

content

GenPolynomial<C> content(GenPolynomial<C> P)
GenPolynomial content.

Parameters:
P - GenPolynomial.
Returns:
cont(P).

primitivePart

GenPolynomial<C> primitivePart(GenPolynomial<C> P)
GenPolynomial primitive part.

Parameters:
P - GenPolynomial.
Returns:
pp(P).

gcd

GenPolynomial<C> gcd(GenPolynomial<C> P,
                     GenPolynomial<C> S)
GenPolynomial greatest comon divisor.

Parameters:
P - GenPolynomial.
S - GenPolynomial.
Returns:
gcd(P,S).

lcm

GenPolynomial<C> lcm(GenPolynomial<C> P,
                     GenPolynomial<C> S)
GenPolynomial least comon multiple.

Parameters:
P - GenPolynomial.
S - GenPolynomial.
Returns:
lcm(P,S).

resultant

GenPolynomial<C> resultant(GenPolynomial<C> P,
                           GenPolynomial<C> S)
GenPolynomial resultant. The input polynomials are considered as univariate polynomials in the main variable.

Parameters:
P - GenPolynomial.
S - GenPolynomial.
Returns:
res(P,S).
See Also:
GreatestCommonDivisorSubres.recursiveResultant(edu.jas.poly.GenPolynomial>, edu.jas.poly.GenPolynomial>)

coPrime

java.util.List<GenPolynomial<C>> coPrime(java.util.List<GenPolynomial<C>> A)
GenPolynomial co-prime list.

Parameters:
A - list of GenPolynomials.
Returns:
B with gcd(b,c) = 1 for all b != c in B and for all non-constant a in A there exists b in B with b|a. B does not contain zero or constant polynomials.

coPrime

java.util.List<GenPolynomial<C>> coPrime(GenPolynomial<C> a,
                                         java.util.List<GenPolynomial<C>> P)
GenPolynomial co-prime list.

Parameters:
a - GenPolynomial.
P - co-prime list of GenPolynomials.
Returns:
B with gcd(b,c) = 1 for all b != c in B and for non-constant a there exists b in P with b|a. B does not contain zero or constant polynomials.

isCoPrime

boolean isCoPrime(java.util.List<GenPolynomial<C>> A)
GenPolynomial test for co-prime list.

Parameters:
A - list of GenPolynomials.
Returns:
true if gcd(b,c) = 1 for all b != c in B, else false.

isCoPrime

boolean isCoPrime(java.util.List<GenPolynomial<C>> P,
                  java.util.List<GenPolynomial<C>> A)
GenPolynomial test for co-prime list of given list.

Parameters:
A - list of GenPolynomials.
P - list of co-prime GenPolynomials.
Returns:
true if isCoPrime(P) and for all a in A exists p in P with p | a, else false.