Interface Squarefree<C extends GcdRingElem<C>>
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
SquarefreeAbstract, SquarefreeFieldChar0, SquarefreeFieldChar0Yun, SquarefreeFieldCharP, SquarefreeFiniteFieldCharP, SquarefreeInfiniteAlgebraicFieldCharP, SquarefreeInfiniteFieldCharP, SquarefreeRingChar0
Squarefree decomposition interface.
Usage: To create objects that implement the Squarefree
interface use the SquarefreeFactory. It will select an
appropriate implementation based on the types of polynomial coefficients C.
To obtain an implementation use getImplementation(), it returns
an object of a class which extends the SquarefreeAbstract class
which implements the Squarefree interface.
Squarefree<CT> engine; engine = SquarefreeFactory.<CT> getImplementation(cofac); c = engine.squarefreeFactors(a);
For example, if the coefficient type is BigInteger, the usage looks like
BigInteger cofac = new BigInteger(); Squarefree<BigInteger> engine; engine = SquarefreeFactory.getImplementation(cofac); Sm = engine.sqaurefreeFactors(poly);
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptioncoPrimeSquarefree(GenPolynomial<C> a, List<GenPolynomial<C>> P) GenPolynomial squarefree and co-prime list.GenPolynomial squarefree and co-prime list.booleanTest if list of GenPolynomials is squarefree and co-prime.booleanisFactorization(GenPolynomial<C> P, List<GenPolynomial<C>> F) GenPolynomial is (squarefree) factorization.booleanisFactorization(GenPolynomial<C> P, SortedMap<GenPolynomial<C>, Long> F) GenPolynomial is (squarefree) factorization.booleanGenPolynomial test if is squarefree.booleanisSquarefree(List<GenPolynomial<C>> L) GenPolynomial list test if squarefree.GenPolynomial squarefree factorization.GenPolynomial greatest squarefree divisor.
-
Method Details
-
squarefreePart
GenPolynomial greatest squarefree divisor.- Parameters:
P- GenPolynomial.- Returns:
- squarefree(pp(P)).
-
isSquarefree
GenPolynomial test if is squarefree.- Parameters:
P- GenPolynomial.- Returns:
- true if P is squarefree, else false.
-
isSquarefree
GenPolynomial list test if squarefree.- Parameters:
L- list of GenPolynomial.- Returns:
- true if each P in L is squarefree, else false.
-
squarefreeFactors
GenPolynomial squarefree factorization.- Parameters:
P- GenPolynomial.- Returns:
- [p_1 -> e_1, ..., p_k -> e_k] with P = prod_{i=1,...,k} p_i^{e_i} and p_i squarefree.
-
isFactorization
GenPolynomial is (squarefree) factorization.- Parameters:
P- GenPolynomial.F- = [p_1,...,p_k].- Returns:
- true if P = prod_{i=1,...,r} p_i, else false.
-
isFactorization
GenPolynomial is (squarefree) factorization.- Parameters:
P- GenPolynomial.F- = [p_1 -> e_1, ..., p_k -> e_k].- Returns:
- true if P = prod_{i=1,...,k} p_i**e_i, else false.
-
coPrimeSquarefree
GenPolynomial squarefree and 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 and each b in B is squarefree. B does not contain zero or constant polynomials.
-
coPrimeSquarefree
GenPolynomial squarefree and co-prime list.- Parameters:
a- polynomial.P- squarefree 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.
-
isCoPrimeSquarefree
Test if list of GenPolynomials is squarefree and co-prime.- Parameters:
B- list of GenPolynomials.- Returns:
- true, if for all b != c in B gcd(b,c) = 1 and each b in B is squarefree, else false.
-