Package edu.jas.ufd
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.boolean
Test if list of GenPolynomials is squarefree and co-prime.boolean
isFactorization
(GenPolynomial<C> P, List<GenPolynomial<C>> F) GenPolynomial is (squarefree) factorization.boolean
isFactorization
(GenPolynomial<C> P, SortedMap<GenPolynomial<C>, Long> F) GenPolynomial is (squarefree) factorization.boolean
GenPolynomial test if is squarefree.boolean
isSquarefree
(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.
-