The JAS software library contains at the moment of the following packages. The relations and dependencies between the packages are shown in figure 1.
RingElem
and RingFactory
.
BigRational
, BigInteger
,
ModInteger
, BigDecimal
or
BigComplex
.
GenPolynomial
, GenSolvablePolynomial
,
GenWordPolynomial
and others such as
AlgebraicNumber
and a polynomial parser
GenPolynomialTokenizer
.
GenVector
or GenMatrix
.
ReductionSeq
, GroebnerBaseAbstract
,
GroebnerBaseSeq
, GroebnerBaseParallel
and
GroebnerBaseDistributedHybridEC
. There are also Gröbner
bases in polynomial rings over principal ideal domains and Euclidean
domains, so called D- and E-Gröbner bases,
e.g. EGroebnerBaseSeq
. New are Gröbner bases in
free non-commutative polynomial rings over (skew) fields,
see WordGroebnerBaseSeq
.
ModGroebnerBase
or SolvableSyzygy
.
Ideal
or SolvableIdeal
. Comprehensive Gröbner bases for
polynomial rings over parameter rings are contained in class
ComprehensiveGroebnerBaseSeq
. Latest additions are
zero and arbitrary dimensional radical-, irreducible-, prime- and
primary-decomposition implemented in class Ideal
.
GreatestCommonDivisor
, the abstract class
GreatestCommonDivisorAbstract
and various
implementations, e.g. polynomial remainder sequences and modular
algorithms. The package now contains factorization algorithms for
univariate polynomials over several coefficient rings: modulo primes
in class FactorModular
, over integers in class
FactorInteger
, over rational numbers in class
FactorRational
and over algebraic numbers in class
FactorAlgebraic<C>
.
PseudoReduction
, PseudoReductionSeq
and
greatest common divisors computation on coefficients
GroebnerBasePseudoSeq
. Multiplicative sets of
polynomials with several simplifications, e.g. maintaining co-prime
factors or co-prime and squarefree factors, are contained in classes
MultiplicativeSet
, MultiplicativeSetCoPrime
or MultiplicativeSetSquarefree
. Also contained are
Gröbner bases for polynomial rings over regular rings (direct
products of fields or integral domains) in
RGroebnerBaseSeq
and RGroebnerBasePseudoSeq
.
RealRoots
, the abstract class
RealRootsAbstract
and at the moment of a single
implementation based on Sturm sequences RealRootsSturm
.
The package further contains an implementation for real algebraic numbers
RealAlgebraicNumber
with a corresponding factory
RealAlgebraicRing
.
For complex root isolation there are ComplexRoots
interface,
ComplexRootsAbstract
and ComplexRootsSturm
classes.
The implementation provides an exact infallible method which follows
the numeric method of Wilf. It uses Sturm sequences following the
Routh-Hurwitz Method to count the number of complex roots within a
rectangle in the complex plane.
There is also an implementation for complex algebraic numbers
ComplexAlgebraicNumber
with a corresponding factory
ComplexAlgebraicRing
.
FactorRealAlgebraic
.
UnivPowerSeries
and MultiVarPowerSeries
.
There is an initial implementation of Mora's tangent cone reduction algorithm
in class ReductionSeq
and a standard bases computation in
StandardBaseSeq
with method STD()
.
ElementaryIntegration
with method
integrate()
.
ThreadPool
, DistThreadPool
or
DistHashTable
. Part of this package has become obsolete
with JDK 1.5.
FDUtil
.
Further, methods for common divisors are included, but not yet
finished.
Figure 1: Package and component structure overview
Last modified: Mon Mar 28 23:49:24 CEST 2016