edu.jas.ufd
Interface Squarefree<C extends GcdRingElem<C>>

Type Parameters:
C - coefficient type
All Known Implementing Classes:
SquarefreeAbstract, SquarefreeFieldChar0, SquarefreeFieldCharP, SquarefreeFiniteFieldCharP, SquarefreeInfiniteAlgebraicFieldCharP, SquarefreeInfiniteFieldCharP, SquarefreeRingChar0

public interface Squarefree<C extends GcdRingElem<C>>

Squarefree decomposition interface.

Author:
Heinz Kredel
See Also:
SquarefreeFactory.getImplementation(edu.jas.arith.ModIntegerRing)
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);
 

Method Summary
 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.