edu.jas.ufd
Class SquarefreeFieldCharP<C extends GcdRingElem<C>>

java.lang.Object
  extended by edu.jas.ufd.SquarefreeAbstract<C>
      extended by edu.jas.ufd.SquarefreeFieldCharP<C>
All Implemented Interfaces:
Squarefree<C>
Direct Known Subclasses:
SquarefreeFiniteFieldCharP, SquarefreeInfiniteAlgebraicFieldCharP, SquarefreeInfiniteFieldCharP

public abstract class SquarefreeFieldCharP<C extends GcdRingElem<C>>
extends SquarefreeAbstract<C>

Squarefree decomposition for coefficient fields of characteristic p.

Author:
Heinz Kredel

Field Summary
protected  AlgebraicNumberRing<C> aCoFac
          Factory for a algebraic extension of a finite field of characteristic p coefficients.
protected  RingFactory<C> coFac
          Factory for finite field of characteristic p coefficients.
protected  QuotientRing<C> qCoFac
          Factory for a transcendental extension of a finite field of characteristic p coefficients.
protected  SquarefreeAbstract<C> rengine
          GCD engine for characteristic p base coefficients.
 
Fields inherited from class edu.jas.ufd.SquarefreeAbstract
engine
 
Constructor Summary
SquarefreeFieldCharP(RingFactory<C> fac)
          Constructor.
 
Method Summary
abstract  GenPolynomial<C> baseRootCharacteristic(GenPolynomial<C> P)
          GenPolynomial char-th root univariate polynomial.
 java.util.SortedMap<GenPolynomial<C>,java.lang.Long> baseSquarefreeFactors(GenPolynomial<C> A)
          GenPolynomial polynomial squarefree factorization.
 GenPolynomial<C> baseSquarefreePart(GenPolynomial<C> P)
          GenPolynomial polynomial greatest squarefree divisor.
 boolean isCharRoot(GenPolynomial<C> P, java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
          Polynomial is char-th root.
 boolean isRecursiveCharRoot(GenPolynomial<GenPolynomial<C>> P, GenPolynomial<GenPolynomial<C>> r)
          Recursive polynomial is char-th root.
 boolean isRecursiveCharRoot(GenPolynomial<GenPolynomial<C>> P, java.util.SortedMap<GenPolynomial<GenPolynomial<C>>,java.lang.Long> F)
          Recursive polynomial is char-th root.
abstract  GenPolynomial<GenPolynomial<C>> recursiveUnivariateRootCharacteristic(GenPolynomial<GenPolynomial<C>> P)
          GenPolynomial char-th root univariate polynomial with polynomial coefficients.
 java.util.SortedMap<GenPolynomial<GenPolynomial<C>>,java.lang.Long> recursiveUnivariateSquarefreeFactors(GenPolynomial<GenPolynomial<C>> P)
          GenPolynomial recursive univariate polynomial squarefree factorization.
 GenPolynomial<GenPolynomial<C>> recursiveUnivariateSquarefreePart(GenPolynomial<GenPolynomial<C>> P)
          GenPolynomial recursive univariate polynomial greatest squarefree divisor.
 java.util.SortedMap<C,java.lang.Long> squarefreeFactors(C coeff)
          Coefficient squarefree factorization.
 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.
 java.lang.String toString()
          Get the String representation.
 
Methods inherited from class edu.jas.ufd.SquarefreeAbstract
basePartialFraction, coPrimeSquarefree, coPrimeSquarefree, factorCount, isBasePartialFraction, isCoPrimeSquarefree, isFactorization, isFactorization, isRecursiveFactorization, isRecursiveSquarefree, isSquarefree, isSquarefree, recursiveSquarefreeFactors, recursiveSquarefreePart, squarefreePart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

rengine

protected final SquarefreeAbstract<C extends GcdRingElem<C>> rengine
GCD engine for characteristic p base coefficients.


coFac

protected final RingFactory<C extends GcdRingElem<C>> coFac
Factory for finite field of characteristic p coefficients.


aCoFac

protected final AlgebraicNumberRing<C extends GcdRingElem<C>> aCoFac
Factory for a algebraic extension of a finite field of characteristic p coefficients. If coFac is an algebraic extension, then aCoFac is equal to coFac, else aCoFac is null.


qCoFac

protected final QuotientRing<C extends GcdRingElem<C>> qCoFac
Factory for a transcendental extension of a finite field of characteristic p coefficients. If coFac is an transcendental extension, then qCoFac is equal to coFac, else qCoFac is null.

Constructor Detail

SquarefreeFieldCharP

public SquarefreeFieldCharP(RingFactory<C> fac)
Constructor.

Method Detail

toString

public java.lang.String toString()
Get the String representation.

Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

baseSquarefreePart

public GenPolynomial<C> baseSquarefreePart(GenPolynomial<C> P)
GenPolynomial polynomial greatest squarefree divisor.

Specified by:
baseSquarefreePart in class SquarefreeAbstract<C extends GcdRingElem<C>>
Parameters:
P - GenPolynomial.
Returns:
squarefree(pp(P)).

baseSquarefreeFactors

public java.util.SortedMap<GenPolynomial<C>,java.lang.Long> baseSquarefreeFactors(GenPolynomial<C> A)
GenPolynomial polynomial squarefree factorization.

Specified by:
baseSquarefreeFactors in class SquarefreeAbstract<C extends GcdRingElem<C>>
Parameters:
A - GenPolynomial.
Returns:
[p_1 -> e_1, ..., p_k -> e_k] with P = prod_{i=1,...,k} p_i^{e_i} and p_i squarefree.

recursiveUnivariateSquarefreePart

public GenPolynomial<GenPolynomial<C>> recursiveUnivariateSquarefreePart(GenPolynomial<GenPolynomial<C>> P)
GenPolynomial recursive univariate polynomial greatest squarefree divisor.

Specified by:
recursiveUnivariateSquarefreePart in class SquarefreeAbstract<C extends GcdRingElem<C>>
Parameters:
P - recursive univariate GenPolynomial.
Returns:
squarefree(pp(P)).

recursiveUnivariateSquarefreeFactors

public java.util.SortedMap<GenPolynomial<GenPolynomial<C>>,java.lang.Long> recursiveUnivariateSquarefreeFactors(GenPolynomial<GenPolynomial<C>> P)
GenPolynomial recursive univariate polynomial squarefree factorization.

Specified by:
recursiveUnivariateSquarefreeFactors in class SquarefreeAbstract<C extends GcdRingElem<C>>
Parameters:
P - recursive univariate GenPolynomial.
Returns:
[p_1 -> e_1, ..., p_k -> e_k] with P = prod_{i=1,...,k} p_i^{e_i} and p_i squarefree.

squarefreePart

public GenPolynomial<C> squarefreePart(GenPolynomial<C> P)
GenPolynomial greatest squarefree divisor.

Specified by:
squarefreePart in interface Squarefree<C extends GcdRingElem<C>>
Specified by:
squarefreePart in class SquarefreeAbstract<C extends GcdRingElem<C>>
Parameters:
P - GenPolynomial.
Returns:
squarefree(pp(P)).

squarefreeFactors

public java.util.SortedMap<GenPolynomial<C>,java.lang.Long> squarefreeFactors(GenPolynomial<C> P)
GenPolynomial squarefree factorization.

Specified by:
squarefreeFactors in interface Squarefree<C extends GcdRingElem<C>>
Specified by:
squarefreeFactors in class SquarefreeAbstract<C extends GcdRingElem<C>>
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.

squarefreeFactors

public java.util.SortedMap<C,java.lang.Long> squarefreeFactors(C coeff)
Coefficient squarefree factorization.

Specified by:
squarefreeFactors in class SquarefreeAbstract<C extends GcdRingElem<C>>
Parameters:
coeff - coefficient.
Returns:
[p_1 -> e_1, ..., p_k -> e_k] with P = prod_{i=1,...,k} p_i^{e_i} and p_i squarefree.

baseRootCharacteristic

public abstract GenPolynomial<C> baseRootCharacteristic(GenPolynomial<C> P)
GenPolynomial char-th root univariate polynomial.

Parameters:
P - GenPolynomial.
Returns:
char-th_rootOf(P), or null if no char-th root.

recursiveUnivariateRootCharacteristic

public abstract GenPolynomial<GenPolynomial<C>> recursiveUnivariateRootCharacteristic(GenPolynomial<GenPolynomial<C>> P)
GenPolynomial char-th root univariate polynomial with polynomial coefficients.

Parameters:
P - recursive univariate GenPolynomial.
Returns:
char-th_rootOf(P), or null if P is no char-th root.

isCharRoot

public boolean isCharRoot(GenPolynomial<C> P,
                          java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
Polynomial is char-th root.

Parameters:
P - polynomial.
F - = [p_1 -> e_1, ..., p_k -> e_k].
Returns:
true if P = prod_{i=1,...,k} p_i**(e_i*p), else false.

isRecursiveCharRoot

public boolean isRecursiveCharRoot(GenPolynomial<GenPolynomial<C>> P,
                                   java.util.SortedMap<GenPolynomial<GenPolynomial<C>>,java.lang.Long> F)
Recursive polynomial is char-th root.

Parameters:
P - recursive polynomial.
F - = [p_1 -> e_1, ..., p_k -> e_k].
Returns:
true if P = prod_{i=1,...,k} p_i**(e_i*p), else false.

isRecursiveCharRoot

public boolean isRecursiveCharRoot(GenPolynomial<GenPolynomial<C>> P,
                                   GenPolynomial<GenPolynomial<C>> r)
Recursive polynomial is char-th root.

Parameters:
P - recursive polynomial.
r - = recursive polynomial.
Returns:
true if P = r**p, else false.