1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="html.css" />
<title>JAS Packages</title>
</head>
<body class="main">
<h2>Java Algebra System (JAS) Packages</h2>
<p>
The JAS software library contains at the moment of the following <a
name="package">packages</a>. The relations and dependencies between
the packages are shown in figure 1.
</p>
<dl>
<dt>edu.jas.structure:</dt>
<dd>
contains interfaces for the most general algebraic structures like
<code>RingElem</code> and <code>RingFactory</code>.
</dd>
<dt>edu.jas.arith:</dt>
<dd>
contains classes for arithmetic in the basic coefficient rings like
<code>BigRational</code>, <code>BigInteger</code>,
<code>ModInteger</code>, <code>BigDecimal</code> or
<code>BigComplex</code>.
</dd>
<dt>edu.jas.poly:</dt>
<dd>
contains classes for commutative polynomial, solvable polynomial and
free non-commutative polynomial arithmetic like
<code>GenPolynomial</code>, <code>GenSolvablePolynomial</code>,
<code>GenWordPolynomial</code> and others such as
<code>AlgebraicNumber</code> and a polynomial parser
<code>GenPolynomialTokenizer</code>.
</dd>
<dt>edu.jas.vector:</dt>
<dd>
contains classes for vectors and lists of polynomials and solvable
polynomials like <code>GenVector</code> or <code>GenMatrix</code>.
</dd>
<dt>edu.jas.gb:</dt>
<dd>
contains classes for polynomial and solvable polynomial reduction,
Gröbner bases over fields and ideal arithmetic as well as
thread parallel and distributed versions of Buchbergers algorithm
like <code>ReductionSeq</code>, <code>GroebnerBaseAbstract</code>,
<code>GroebnerBaseSeq</code>, <code>GroebnerBaseParallel</code> and
<code>GroebnerBaseDistributedHybridEC</code>. 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. <code>EGroebnerBaseSeq</code>. New are Gröbner bases in
free non-commutative polynomial rings over (skew) fields,
see <code>WordGroebnerBaseSeq</code>.
</dd>
<dt>edu.jas.gbmod:</dt>
<dd>
contains classes for module Gröbner bases and syzygies over
polynomials and solvable polynomials like
<code>ModGroebnerBase</code> or <code>SolvableSyzygy</code>.
</dd>
<dt>edu.jas.application:</dt>
<dd>
contains classes with applications of Gröbner bases such as ideal
intersections and ideal quotients implemented in <code>Ideal</code>
or <code>SolvableIdeal</code>. Comprehensive Gröbner bases for
polynomial rings over parameter rings are contained in class
<code>ComprehensiveGroebnerBaseSeq</code>. Latest additions are
zero and arbitrary dimensional radical-, irreducible-, prime- and
primary-decomposition implemented in class <code>Ideal</code>.
</dd>
<dt>edu.jas.ufd:</dt>
<dd>
contains classes for unique factorization domains. Like the
interface <code>GreatestCommonDivisor</code>, the abstract class
<code>GreatestCommonDivisorAbstract</code> 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 <code>FactorModular</code>, over integers in class
<code>FactorInteger</code>, over rational numbers in class
<code>FactorRational</code> and over algebraic numbers in class
<code>FactorAlgebraic<C></code>.
</dd>
<dt>edu.jas.gbufd:</dt>
<dd>
contains classes for Gröbner base computation using classes
from the <em>edu.jas.ufd</em> package for polynomial
coefficients. The main classes deal with pseudo reduction
<code>PseudoReduction</code>, <code>PseudoReductionSeq</code> and
greatest common divisors computation on coefficients
<code>GroebnerBasePseudoSeq</code>. Multiplicative sets of
polynomials with several simplifications, e.g. maintaining co-prime
factors or co-prime and squarefree factors, are contained in classes
<code>MultiplicativeSet</code>, <code>MultiplicativeSetCoPrime</code>
or <code>MultiplicativeSetSquarefree</code>. Also contained are
Gröbner bases for polynomial rings over regular rings (direct
products of fields or integral domains) in
<code>RGroebnerBaseSeq</code> and <code>RGroebnerBasePseudoSeq</code>.
</dd>
<dt>edu.jas.root:</dt>
<dd>
contains classes for real root computations. Like the
interface <code>RealRoots</code>, the abstract class
<code>RealRootsAbstract</code> and at the moment of a single
implementation based on Sturm sequences <code>RealRootsSturm</code>.
The package further contains an implementation for real algebraic numbers
<code>RealAlgebraicNumber</code> with a corresponding factory
<code>RealAlgebraicRing</code>.
For complex root isolation there are <code>ComplexRoots</code> interface,
<code>ComplexRootsAbstract</code> and <code>ComplexRootsSturm</code> 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
<code>ComplexAlgebraicNumber</code> with a corresponding factory
<code>ComplexAlgebraicRing</code>.
</dd>
<dt>edu.jas.ufdroot:</dt>
<dd>
contains classes for factorization in structures used in root
computation, for example <code>FactorRealAlgebraic</code>.
</dd>
<dt>edu.jas.ps:</dt>
<dd>
contains univariate and multivariate power series arithmetic
in classes <code>UnivPowerSeries</code> and <code>MultiVarPowerSeries</code>.
There is an initial implementation of Mora's tangent cone reduction algorithm
in class <code>ReductionSeq</code> and a standard bases computation in
<code>StandardBaseSeq</code> with method <code>STD()</code>.
</dd>
<dt>edu.jas.integrate:</dt>
<dd>
contains methods for the elementary integration of univariate rational functions.
The main class is <code>ElementaryIntegration</code> with method
<code>integrate()</code>.
</dd>
<dt>edu.jas.util:</dt>
<dd>
contains further utilities for parallel and distributed computations
like <code>ThreadPool</code>, <code>DistThreadPool</code> or
<code>DistHashTable</code>. Part of this package has become obsolete
with JDK 1.5.
</dd>
<dt>edu.jas.fd:</dt>
<dd>
contains classes for solvable polynomials rings as (non-unique)
factorization domains. There are methods for polynomial pseudo
remainder computation over Ore domains in class <code>FDUtil</code>.
Further, methods for common divisors are included, but not yet
finished.
<!-- Methods provided with interface
<code>GreatestCommonDivisor</code> are e.g. greatest common divisors
<code>gcd()</code>, primitive part <code>primitivePart()</code>.-->
</dd>
</dl>
<p align="center">
<!--img src="../images/PackageOverview.png" width="50%" alt="Static package structure overview" /-->
<img src="../images/jas-pack-over.png" width="80%"
alt="Static package and component structure overview" />
<br />
<b>Figure 1:</b> Package and component structure overview
</p>
<hr />
<address><a name="contact"
href="mailto:kredel@at@rz.uni-mannheim.de">Heinz Kredel</a>
</address>
<p>
<!-- Created: Thu Jun 4 23:42:20 CEST 2005 -->
<!-- hhmts start -->
Last modified: Mon Mar 28 23:49:24 CEST 2016
<!-- hhmts end -->
</p>
<!--p align="right" >
$Id: $
</p-->
</body>
</html>
|