Package edu.jas.ufd
Unique factorization domain package.
This package contains classes for polynomials rings as unique
factorization domains. Provided methods with interface
GreatestCommonDivisor
are e.g. greatest common divisors
gcd()
, primitive part primitivePart()
or
coPrime()
. The different classes implement variants of
polynomial remainder sequences (PRS) and modular methods. Interface
Squarefree
provides the greatest squarefree factor
squarefreeFactor()
and a complete squarefree
decomposition can be obtained with method
squarefreeFactors()
. There is a
Factorization
interface with an
FactorAbstract
class with common codes. Factorization
of univariate polynomials exists for several coefficient rings:
modulo primes in class FactorModular
, over integers in
class FactorInteger
, over rational numbers in class
FactorRational
, over algebraic numbers in class
FactorAlgebraic<C>
and over rational functions in
class FactorQuotient<C>
(where for the last two
classes C
can be any other ring for which the
FactorFactory. getImplementation
returns an
implementation). Multivatiate polynomials over the integers (and
rational numbers) are factored using the algorithm of P. Wang. For
other coefficients the multivatiate polynomials are reduced to
univariate polynomials via Kronecker substitution. The rational function class
Quotient
computes quotients of polynomials reduced to
lowest terms.
To choose the correct implementation always use the factory classes
GCDFactory
, SquarefreeFactory
and
FactorFactory
with methods
getImplementation()
or getProxy()
. These
methods will take care of all possible (implemented) coefficient
rings properties. The polynomial coefficients must implement the
GcdRingElem
interface and so must allow greatest common
divisor computations. Greatest common divisor computation is
completely generic and works for any implemented integral domain.
If special, optimized implementations exist they will be used.
Squarefree decomposition is also completely generic and works for
any implemented integral domain. There are no special, optimized
implementations. Factorization is generic relative to the
implemented ring constructions: algebraic field extensions and
transcendent field extensions. Implemented base cases are modular
coefficient, integer coefficients and rational number coefficients.
The implementation follows Geddes & Czapor & Labahn Algorithms for Computer Algebra and Cohen A Curse in Computational Algebraic Number Theory. See also Kaltofen Factorization of Polynomials in Computing Supplement, Springer, 1982, Davenport & Gianni & Trager Scratchpad's View of Algebra II: A Categorical View of Factorization in ISSAC'91 and the ALDES/SAC2 code as contained in MAS.
Heinz Kredel
Last modified: Fri Sep 21 21:56:48 CEST 2012
$Id$
-
ClassDescriptionBackSubstKronecker<C extends GcdRingElem<C>>Kronecker back substitutuion functor.Cyclotomic polynomial utilities.EvalPoints<C extends RingElem<C>>Container for the evaluation points of a polynomial.Examples for ufd and elementaty integration usage.Examples related to partial fraction decomposition.FactorAbsolute<C extends GcdRingElem<C>>Absolute factorization algorithms class.FactorAbstract<C extends GcdRingElem<C>>Abstract factorization algorithms class.FactorAlgebraic<C extends GcdRingElem<C>>Algebraic number coefficients factorization algorithms.FactorComplex<C extends GcdRingElem<C>>Complex coefficients factorization algorithms.Factorization algorithms factory.Fraction factorization algorithms.Integer coefficients factorization algorithms.Factorization<C extends GcdRingElem<C>>Factorization algorithms interface.Modular coefficients factorization algorithms.FactorModularBerlekamp<MOD extends GcdRingElem<MOD>>Modular coefficients Berlekamp factorization algorithms.FactorQuotient<C extends GcdRingElem<C>>Rational function coefficients factorization algorithms.Rational number coefficients factorization algorithms.Factors<C extends GcdRingElem<C>>Container for the factors of absolute factorization.FactorsList<C extends GcdRingElem<C>>Container for the factors of a squarefree factorization.FactorsMap<C extends GcdRingElem<C>>Container for the factors of a eventually non-squarefree factorization.Greatest common divisor algorithms factory.GCDProxy<C extends GcdRingElem<C>>Greatest common divisor parallel proxy.GreatestCommonDivisor<C extends GcdRingElem<C>>Greatest common divisor algorithm interface.GreatestCommonDivisorAbstract<C extends GcdRingElem<C>>Greatest common divisor algorithms.GreatestCommonDivisorFake<C extends GcdRingElem<C>>Greatest common divisor algorithms with gcd always 1.Greatest common divisor algorithms with subresultant polynomial remainder sequence and univariate Hensel lifting.Greatest common divisor algorithms with modular evaluation algorithm for recursion.Greatest common divisor algorithms with modular computation and Chinese remainder algorithm.GreatestCommonDivisorPrimitive<C extends GcdRingElem<C>>Greatest common divisor algorithms with primitive polynomial remainder sequence.GreatestCommonDivisorSimple<C extends GcdRingElem<C>>Greatest common divisor algorithms with monic polynomial remainder sequence.GreatestCommonDivisorSubres<C extends GcdRingElem<C>>Greatest common divisor algorithms with subresultant polynomial remainder sequence.Container for the approximation result from a Hensel algorithm.Hensel multivariate lifting utilities.Hensel utilities for ufd.Non existing Hensel lifting.PartialFraction<C extends GcdRingElem<C>>Container for the partial fraction decomposition of a squarefree denominator.Polynomial ufd utilities.Quotient<C extends GcdRingElem<C>>Quotient, that is a rational function, based on GenPolynomial with RingElem interface.QuotientRing<C extends GcdRingElem<C>>Quotient ring factory based on GenPolynomial with RingElem interface.Quotient polynomial normalization, simplification.QuotientTaylorFunction<C extends GcdRingElem<C>>Polynomial quotient functions capable for Taylor series expansion.Squarefree<C extends GcdRingElem<C>>Squarefree decomposition interface.SquarefreeAbstract<C extends GcdRingElem<C>>Abstract squarefree decomposition class.Squarefree factorization algorithms factory.SquarefreeFieldChar0<C extends GcdRingElem<C>>Squarefree decomposition for coefficient fields of characteristic 0.SquarefreeFieldChar0Yun<C extends GcdRingElem<C>>Squarefree decomposition for coefficient fields of characteristic 0, algorithm of Yun.SquarefreeFieldCharP<C extends GcdRingElem<C>>Squarefree decomposition for coefficient fields of characteristic p.SquarefreeFiniteFieldCharP<C extends GcdRingElem<C>>Squarefree decomposition for finite coefficient fields of characteristic p.SquarefreeInfiniteAlgebraicFieldCharP<C extends GcdRingElem<C>>Squarefree decomposition for algebraic extensions of infinite coefficient fields of characteristic p > 0.SquarefreeInfiniteFieldCharP<C extends GcdRingElem<C>>Squarefree decomposition for infinite coefficient fields of characteristic p.SquarefreeRingChar0<C extends GcdRingElem<C>>Squarefree decomposition for coefficient rings of characteristic 0.SubstKronecker<C extends GcdRingElem<C>>Kronecker substitutuion functor.Container for factorization trial lifting parameters.