edu.jas.fd
Class GreatestCommonDivisorAbstract<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.fd.GreatestCommonDivisorAbstract<C>
-
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
- GreatestCommonDivisor<C>, java.io.Serializable
- Direct Known Subclasses:
- GreatestCommonDivisorPrimitive, GreatestCommonDivisorSimple
public abstract class GreatestCommonDivisorAbstract<C extends GcdRingElem<C>> extends java.lang.Object implements GreatestCommonDivisor<C>
(Non-unique) factorization domain greatest common divisor common algorithms.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description GreatestCommonDivisorAbstract()Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description CbaseContent(GenSolvablePolynomial<C> P)GenSolvablePolynomial base coefficient content.GenSolvablePolynomial<C>[]baseExtendedGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)Univariate GenSolvablePolynomial extended greatest common divisor.abstract GenSolvablePolynomial<C>baseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)Univariate GenSolvablePolynomial greatest common divisor.GenSolvablePolynomial<C>[]baseGcdDiophant(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S, GenSolvablePolynomial<C> c)Univariate GenSolvablePolynomial greatest common divisor diophantine version.GenSolvablePolynomial<C>[]baseHalfExtendedGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)Univariate GenSolvablePolynomial half extended greatest comon divisor.GenSolvablePolynomial<C>basePrimitivePart(GenSolvablePolynomial<C> P)GenSolvablePolynomial base coefficient primitive part.CbaseRecursiveContent(GenSolvablePolynomial<GenPolynomial<C>> P)GenSolvablePolynomial base recursive content.GenSolvablePolynomial<GenPolynomial<C>>baseRecursivePrimitivePart(GenSolvablePolynomial<GenPolynomial<C>> P)GenSolvablePolynomial base recursive primitive part.GenSolvablePolynomial<C>content(GenSolvablePolynomial<C> P)GenSolvablePolynomial content.java.util.List<GenSolvablePolynomial<C>>coPrime(GenSolvablePolynomial<C> a, java.util.List<GenSolvablePolynomial<C>> P)GenSolvablePolynomial co-prime list.java.util.List<GenSolvablePolynomial<C>>coPrime(java.util.List<GenSolvablePolynomial<C>> A)GenSolvablePolynomial co-prime list.java.util.List<GenSolvablePolynomial<C>>coPrimeRec(java.util.List<GenSolvablePolynomial<C>> A)GenSolvablePolynomial co-prime list.GenSolvablePolynomial<C>divide(GenSolvablePolynomial<C> a, C b)GenSolvablePolynomial division.Cgcd(C a, C b)Coefficient greatest common divisor.GenSolvablePolynomial<C>gcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)GenSolvablePolynomial greatest common divisor.GenSolvablePolynomial<C>gcd(java.util.List<GenSolvablePolynomial<C>> A)List of GenSolvablePolynomials greatest common divisor.booleanisCoPrime(java.util.List<GenSolvablePolynomial<C>> A)GenSolvablePolynomial test for co-prime list.booleanisCoPrime(java.util.List<GenSolvablePolynomial<C>> P, java.util.List<GenSolvablePolynomial<C>> A)GenSolvablePolynomial test for co-prime list of given list.GenSolvablePolynomial<C>lcm(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)GenSolvablePolynomial least common multiple.C[]leftOreCond(C a, C b)Coefficient left Ore condition.GenSolvablePolynomial<C>[]leftOreCond(GenSolvablePolynomial<C> a, GenSolvablePolynomial<C> b)Left Ore condition.GenSolvablePolynomial<C>primitivePart(GenSolvablePolynomial<C> P)GenSolvablePolynomial primitive part.GenSolvablePolynomial<C>recursiveContent(GenSolvablePolynomial<GenPolynomial<C>> P)GenSolvablePolynomial recursive content.GenSolvablePolynomial<GenPolynomial<C>>recursiveGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)GenSolvablePolynomial recursive greatest common divisor.GenSolvablePolynomial<GenPolynomial<C>>recursivePrimitivePart(GenSolvablePolynomial<GenPolynomial<C>> P)GenSolvablePolynomial recursive primitive part.abstract GenSolvablePolynomial<GenPolynomial<C>>recursiveUnivariateGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)Univariate GenSolvablePolynomial recursive greatest common divisor.java.lang.StringtoString()Get the String representation.
-
-
-
Constructor Detail
-
GreatestCommonDivisorAbstract
public GreatestCommonDivisorAbstract()
Constructor.
-
-
Method Detail
-
toString
public java.lang.String toString()
Get the String representation.- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
baseContent
public C baseContent(GenSolvablePolynomial<C> P)
GenSolvablePolynomial base coefficient content.- Parameters:
P- GenSolvablePolynomial.- Returns:
- cont(P).
-
basePrimitivePart
public GenSolvablePolynomial<C> basePrimitivePart(GenSolvablePolynomial<C> P)
GenSolvablePolynomial base coefficient primitive part.- Parameters:
P- GenSolvablePolynomial.- Returns:
- pp(P).
-
baseGcd
public abstract GenSolvablePolynomial<C> baseGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Univariate GenSolvablePolynomial greatest common divisor. Uses sparse pseudoRemainder for remainder.- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.- Returns:
- gcd(P,S).
-
recursiveContent
public GenSolvablePolynomial<C> recursiveContent(GenSolvablePolynomial<GenPolynomial<C>> P)
GenSolvablePolynomial recursive content.- Parameters:
P- recursive GenSolvablePolynomial.- Returns:
- cont(P).
-
recursivePrimitivePart
public GenSolvablePolynomial<GenPolynomial<C>> recursivePrimitivePart(GenSolvablePolynomial<GenPolynomial<C>> P)
GenSolvablePolynomial recursive primitive part.- Parameters:
P- recursive GenSolvablePolynomial.- Returns:
- pp(P).
-
baseRecursiveContent
public C baseRecursiveContent(GenSolvablePolynomial<GenPolynomial<C>> P)
GenSolvablePolynomial base recursive content.- Parameters:
P- recursive GenSolvablePolynomial.- Returns:
- baseCont(P).
-
baseRecursivePrimitivePart
public GenSolvablePolynomial<GenPolynomial<C>> baseRecursivePrimitivePart(GenSolvablePolynomial<GenPolynomial<C>> P)
GenSolvablePolynomial base recursive primitive part.- Parameters:
P- recursive GenSolvablePolynomial.- Returns:
- basePP(P).
-
recursiveGcd
public GenSolvablePolynomial<GenPolynomial<C>> recursiveGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)
GenSolvablePolynomial recursive greatest common divisor. Uses pseudoRemainder for remainder.- Parameters:
P- recursive GenSolvablePolynomial.S- recursive GenSolvablePolynomial.- Returns:
- gcd(P,S).
-
recursiveUnivariateGcd
public abstract GenSolvablePolynomial<GenPolynomial<C>> recursiveUnivariateGcd(GenSolvablePolynomial<GenPolynomial<C>> P, GenSolvablePolynomial<GenPolynomial<C>> S)
Univariate GenSolvablePolynomial recursive greatest common divisor. Uses pseudoRemainder for remainder.- Parameters:
P- univariate recursive GenSolvablePolynomial.S- univariate recursive GenSolvablePolynomial.- Returns:
- gcd(P,S).
-
content
public GenSolvablePolynomial<C> content(GenSolvablePolynomial<C> P)
GenSolvablePolynomial content.- Specified by:
contentin interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>- Parameters:
P- GenSolvablePolynomial.- Returns:
- cont(P).
-
primitivePart
public GenSolvablePolynomial<C> primitivePart(GenSolvablePolynomial<C> P)
GenSolvablePolynomial primitive part.- Specified by:
primitivePartin interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>- Parameters:
P- GenSolvablePolynomial.- Returns:
- pp(P).
-
divide
public GenSolvablePolynomial<C> divide(GenSolvablePolynomial<C> a, C b)
GenSolvablePolynomial division. Indirection to GenSolvablePolynomial method.- Parameters:
a- GenSolvablePolynomial.b- coefficient.- Returns:
- a/b.
-
gcd
public C gcd(C a, C b)
Coefficient greatest common divisor. Indirection to coefficient method.- Parameters:
a- coefficient.b- coefficient.- Returns:
- gcd(a,b).
-
gcd
public GenSolvablePolynomial<C> gcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
GenSolvablePolynomial greatest common divisor.- Specified by:
gcdin interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>- Parameters:
P- GenSolvablePolynomial.S- GenSolvablePolynomial.- Returns:
- gcd(P,S).
-
lcm
public GenSolvablePolynomial<C> lcm(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
GenSolvablePolynomial least common multiple.- Specified by:
lcmin interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>- Parameters:
P- GenSolvablePolynomial.S- GenSolvablePolynomial.- Returns:
- lcm(P,S).
-
gcd
public GenSolvablePolynomial<C> gcd(java.util.List<GenSolvablePolynomial<C>> A)
List of GenSolvablePolynomials greatest common divisor.- Parameters:
A- non empty list of GenSolvablePolynomials.- Returns:
- gcd(A_i).
-
coPrime
public java.util.List<GenSolvablePolynomial<C>> coPrime(java.util.List<GenSolvablePolynomial<C>> A)
GenSolvablePolynomial co-prime list.- Specified by:
coPrimein interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>- Parameters:
A- list of GenSolvablePolynomials.- 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.
-
coPrimeRec
public java.util.List<GenSolvablePolynomial<C>> coPrimeRec(java.util.List<GenSolvablePolynomial<C>> A)
GenSolvablePolynomial co-prime list.- Parameters:
A- list of GenSolvablePolynomials.- 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
public java.util.List<GenSolvablePolynomial<C>> coPrime(GenSolvablePolynomial<C> a, java.util.List<GenSolvablePolynomial<C>> P)
GenSolvablePolynomial co-prime list.- Parameters:
a- GenSolvablePolynomial.P- co-prime list of GenSolvablePolynomials.- 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
public boolean isCoPrime(java.util.List<GenSolvablePolynomial<C>> A)
GenSolvablePolynomial test for co-prime list.- Specified by:
isCoPrimein interfaceGreatestCommonDivisor<C extends GcdRingElem<C>>- Parameters:
A- list of GenSolvablePolynomials.- Returns:
- true if gcd(b,c) = 1 for all b != c in B, else false.
-
isCoPrime
public boolean isCoPrime(java.util.List<GenSolvablePolynomial<C>> P, java.util.List<GenSolvablePolynomial<C>> A)
GenSolvablePolynomial test for co-prime list of given list.- Parameters:
A- list of GenSolvablePolynomials.P- list of co-prime GenSolvablePolynomials.- Returns:
- true if isCoPrime(P) and for all a in A exists p in P with p | a, else false.
-
baseExtendedGcd
public GenSolvablePolynomial<C>[] baseExtendedGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Univariate GenSolvablePolynomial extended greatest common divisor. Uses sparse pseudoRemainder for remainder.- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.- Returns:
- [ gcd(P,S), a, b ] with a*P + b*S = gcd(P,S).
-
baseHalfExtendedGcd
public GenSolvablePolynomial<C>[] baseHalfExtendedGcd(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S)
Univariate GenSolvablePolynomial half extended greatest comon divisor. Uses sparse pseudoRemainder for remainder.- Parameters:
S- GenSolvablePolynomial.- Returns:
- [ gcd(P,S), a ] with a*P + b*S = gcd(P,S).
-
baseGcdDiophant
public GenSolvablePolynomial<C>[] baseGcdDiophant(GenSolvablePolynomial<C> P, GenSolvablePolynomial<C> S, GenSolvablePolynomial<C> c)
Univariate GenSolvablePolynomial greatest common divisor diophantine version.- Parameters:
P- univariate GenSolvablePolynomial.S- univariate GenSolvablePolynomial.c- univariate GenSolvablePolynomial.- Returns:
- [ a, b ] with a*P + b*S = c and deg(a) < deg(S).
-
leftOreCond
public C[] leftOreCond(C a, C b)
Coefficient left Ore condition. Generators for the left Ore condition of two coefficients.- Parameters:
a- coefficient.b- coefficient.- Returns:
- [oa, ob] = leftOreCond(a,b), with oa*a == ob*b.
-
leftOreCond
public GenSolvablePolynomial<C>[] leftOreCond(GenSolvablePolynomial<C> a, GenSolvablePolynomial<C> b)
Left Ore condition. Generators for the left Ore condition of two solvable polynomials.- Parameters:
a- solvable polynomialb- solvable polynomial- Returns:
- [p,q] with p*a = q*b
-
-
DMelt 3.0 © DataMelt by jWork.ORG