This software is a type-safe, object-oriented and multi-threaded tool for computer algebra. It offers a comprehensive approach to solving mathematical problems with a focus on efficiency and reliability.
The focus of JAS is primarily on commutative and solvable polynomials, Groebner bases, and applications. With Java as its implementation language, JAS is 64-bit and multi-core CPU ready. The library contains various packages with unique features, such as:
- Edu.jas.structure: Contains interfaces for the most general algebraic structures like RingElem and RingFactory.
- Edu.jas.arith: Contains classes for arithmetic in basic coefficient rings like BigRational, BigInteger, or BigComplex.
- Edu.jas.poly: Contains classes for polynomial and solvable polynomial arithmetic like GenPolynomial, GenSolvablePolynomial, and others such as AlgebraicNumber and polynomial parser GenPolynomialTokenizer.
- Edu.jas.vector: Contains classes for vectors and lists of polynomials and solvable polynomials like GenVector or ModuleList.
- Edu.jas.gb: Contains classes for polynomial and solvable polynomial reduction, Groebner bases over fields and ideal arithmetic, and thread parallel and distributed versions of Buchbergers algorithm.
- Edu.jas.gbmod: Contains classes for module Groebner bases and syzygies over polynomials and solvable polynomials like ModGroebnerBase or SolvableSyzygy.
- Edu.jas.application: Contains classes with applications of Groebner bases such as ideal intersections and ideal quotients.
- Edu.jas.ufd: Contains classes for unique factorization domains.
- Edu.jas.root: Contains classes for real root computations.
- Edu.jas.ps: Contains univariate power series arithmetic in class UnivPowerSeries.
- Edu.jas.util: Contains further utilities for parallel and distributed computations like ThreadPool, DistThreadPool or DistHashTable.
The documentation and implementation for the latest version are available on this page. The new version is designed using type parameters and requires at least Java 5 (JDK 1.5). It will also compile on Java 6 (JDK 1.6). Older versions (no more supported) can be found here: JAS 2.2, JAS 2.1, JAS 2.0, JAS using JDK 1.5 and JAS using JDK 1.4.
In summary, JAS is an incredibly useful software library for algebraic computations. Its various packages and features make it a versatile tool that can be used for a variety of applications. Whether used as a Java software package or interactively through a Jython front end, JAS is a reliable and efficient option for algebraic computations.
Version 2.3.2828: N/A