Package edu.jas.ufd
Interface Squarefree<C extends GcdRingElem<C>>
-
- All Superinterfaces:
java.io.Serializable
- All Known Implementing Classes:
SquarefreeAbstract
,SquarefreeFieldChar0
,SquarefreeFieldChar0Yun
,SquarefreeFieldCharP
,SquarefreeFiniteFieldCharP
,SquarefreeInfiniteAlgebraicFieldCharP
,SquarefreeInfiniteFieldCharP
,SquarefreeRingChar0
public interface Squarefree<C extends GcdRingElem<C>> extends java.io.Serializable
Squarefree decomposition interface.Usage: To create objects that implement the
Squarefree
interface use theSquarefreeFactory
. It will select an appropriate implementation based on the types of polynomial coefficients C. To obtain an implementation usegetImplementation()
, it returns an object of a class which extends theSquarefreeAbstract
class which implements theSquarefree
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);
- Author:
- Heinz Kredel
- See Also:
SquarefreeFactory.getImplementation(edu.jas.arith.ModIntegerRing)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<GenPolynomial<C>>
coPrimeSquarefree(GenPolynomial<C> a, java.util.List<GenPolynomial<C>> P)
GenPolynomial squarefree and co-prime list.java.util.List<GenPolynomial<C>>
coPrimeSquarefree(java.util.List<GenPolynomial<C>> A)
GenPolynomial squarefree and co-prime list.boolean
isCoPrimeSquarefree(java.util.List<GenPolynomial<C>> B)
Test if list of GenPolynomials is squarefree and co-prime.boolean
isFactorization(GenPolynomial<C> P, java.util.List<GenPolynomial<C>> F)
GenPolynomial is (squarefree) factorization.boolean
isFactorization(GenPolynomial<C> P, java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
GenPolynomial is (squarefree) factorization.boolean
isSquarefree(GenPolynomial<C> P)
GenPolynomial test if is squarefree.boolean
isSquarefree(java.util.List<GenPolynomial<C>> L)
GenPolynomial list test if squarefree.java.util.SortedMap<GenPolynomial<C>,java.lang.Long>
squarefreeFactors(GenPolynomial<C> P)
GenPolynomial squarefree factorization.GenPolynomial<C>
squarefreePart(GenPolynomial<C> P)
GenPolynomial greatest squarefree divisor.
-
-
-
Method Detail
-
squarefreePart
GenPolynomial<C> squarefreePart(GenPolynomial<C> P)
GenPolynomial greatest squarefree divisor.- Parameters:
P
- GenPolynomial.- Returns:
- squarefree(pp(P)).
-
isSquarefree
boolean isSquarefree(GenPolynomial<C> P)
GenPolynomial test if is squarefree.- Parameters:
P
- GenPolynomial.- Returns:
- true if P is squarefree, else false.
-
isSquarefree
boolean isSquarefree(java.util.List<GenPolynomial<C>> L)
GenPolynomial list test if squarefree.- Parameters:
L
- list of GenPolynomial.- Returns:
- true if each P in L is squarefree, else false.
-
squarefreeFactors
java.util.SortedMap<GenPolynomial<C>,java.lang.Long> squarefreeFactors(GenPolynomial<C> P)
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
boolean isFactorization(GenPolynomial<C> P, java.util.List<GenPolynomial<C>> F)
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
boolean isFactorization(GenPolynomial<C> P, java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
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
java.util.List<GenPolynomial<C>> coPrimeSquarefree(java.util.List<GenPolynomial<C>> A)
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
java.util.List<GenPolynomial<C>> coPrimeSquarefree(GenPolynomial<C> a, java.util.List<GenPolynomial<C>> P)
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
boolean isCoPrimeSquarefree(java.util.List<GenPolynomial<C>> B)
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.
-
-