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

public interface Squarefree<C extends GcdRingElem<C>> extends Serializable
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 Details

    • 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(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

      SortedMap<GenPolynomial<C>,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, 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, SortedMap<GenPolynomial<C>,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

      List<GenPolynomial<C>> coPrimeSquarefree(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

      List<GenPolynomial<C>> coPrimeSquarefree(GenPolynomial<C> a, 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(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.