Package edu.jas.fd
Class GreatestCommonDivisorLR<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.fd.GreatestCommonDivisorAbstract<C>
-
- edu.jas.fd.GreatestCommonDivisorLR<C>
-
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
GreatestCommonDivisor<C>,java.io.Serializable
public class GreatestCommonDivisorLR<C extends GcdRingElem<C>> extends GreatestCommonDivisorAbstract<C>
(Non-unique) factorization domain greatest common divisor common algorithms with monic polynomial remainder sequence. Fake implementation always returns 1 for any gcds.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GreatestCommonDivisorLR(RingFactory<C> cf)Constructor.GreatestCommonDivisorLR(RingFactory<C> cf, SolvableSyzygyAbstract<C> s)Constructor.
-
Method Summary
-
Methods inherited from class edu.jas.fd.GreatestCommonDivisorAbstract
baseExtendedGcd, baseGcdDiophant, baseHalfExtendedGcd, baseRecursiveContent, baseRecursivePrimitivePart, divide, gcd, isLeftCoPrime, isLeftCoPrime, leftBaseContent, leftBasePrimitivePart, leftContent, leftCoPrime, leftCoPrime, leftCoPrimeRec, leftGcd, leftGcd, leftLcm, leftOreCond, leftOreCond, leftPrimitivePart, leftRecursiveContent, leftRecursiveGcd, leftRecursivePrimitivePart, recursiveContent, rightBaseContent, rightBasePrimitivePart, rightContent, rightGcd, rightLcm, rightOreCond, rightOreCond, rightPrimitivePart, rightRecursiveContent, rightRecursiveGcd, rightRecursivePrimitivePart, toString
-
-
-
-
Constructor Detail
-
GreatestCommonDivisorLR
public GreatestCommonDivisorLR(RingFactory<C> cf)
Constructor.- Parameters:
cf- coefficient ring.
-
GreatestCommonDivisorLR
public GreatestCommonDivisorLR(RingFactory<C> cf, SolvableSyzygyAbstract<C> s)
Constructor.- Parameters:
cf- coefficient ring.s- algorithm for SolvableSyzygy computation.
-
-
Method Detail
-
leftRightBaseGcd
public GCDcoFactors<C> leftRightBaseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Univariate GenSolvablePolynomial greatest common divisor. Uses pseudoRemainder for remainder.- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.- Returns:
- [P,S,coP,coS,left,right] with left * coP * right = P and left * coS * right = S.
-
rightLeftBaseGcd
public GCDcoFactors<C> rightLeftBaseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Univariate GenSolvablePolynomial greatest common divisor. Uses pseudoRemainder for remainder.- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.- Returns:
- [P,S,coP,coS,left,right] with left * coP * right = P and left * coS * right = S.
-
leftBaseGcd
public GenSolvablePolynomial<C> leftBaseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Univariate GenSolvablePolynomial greatest common divisor. Uses pseudoRemainder for remainder.- Specified by:
leftBaseGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.- Returns:
- l = gcd(P,S) with P = gcd(P,S)*P' and S = gcd(P,S)*S'.
-
rightBaseGcd
public GenSolvablePolynomial<C> rightBaseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Univariate GenSolvablePolynomial greatest common divisor. Uses pseudoRemainder for remainder.- Specified by:
rightBaseGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.- Returns:
- r = gcd(P,S) with P = P'*gcd(P,S) and S = S'*gcd(P,S).
-
leftRecursiveUnivariateGcd
public GenSolvablePolynomial<GenPolynomial<C>> leftRecursiveUnivariateGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)
Univariate GenSolvablePolynomial left recursive greatest common divisor. Uses pseudoRemainder for remainder.- Specified by:
leftRecursiveUnivariateGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- univariate recursive GenSolvablePolynomial.S- univariate recursive GenSolvablePolynomial.- Returns:
- 1 = gcd(P,S) with P = P'*gcd(P,S)*p and S = S'*gcd(P,S)*s, where deg_main(p) = deg_main(s) == 0.
-
rightRecursiveUnivariateGcd
public GenSolvablePolynomial<GenPolynomial<C>> rightRecursiveUnivariateGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)
Univariate GenSolvablePolynomial right recursive greatest common divisor. Uses pseudoRemainder for remainder.- Specified by:
rightRecursiveUnivariateGcdin classGreatestCommonDivisorAbstract<C extends GcdRingElem<C>>- Parameters:
P- univariate recursive GenSolvablePolynomial.S- univariate recursive GenSolvablePolynomial.- Returns:
- 1 = gcd(P,S) with P = p*gcd(P,S)*P' and S = s*gcd(P,S)*S', where deg_main(p) = deg_main(s) == 0.
-
-