Release Notes: A new scripting interface with Ruby (JRuby) was added. Ruby allows rational number literals as p/q, which are better than the Python tuple form (p,q). Some toScript() methods were rewritten to reflect the Ruby language requirements and to differentiate between Ruby and Python. Exceptions for modular computations were made more precise to return also the discovered factors.
Release Notes: The package structure was cleaned up and all cyclic package dependencies were removed. Factory parsing parts were split from GenPolynomialTokenizer to RingFactoryTokenizer. Some artificial code was required to use solvable polynomials as ring elements because solvable polynomials cannot implement RingElem<GenSolvablePolynomial<C>>. This resulted in cases of incorrect method dispatch for the multiply() method due to compiler optimizations. A workaround to detect and repair this is now implemented in the GenPolynomial class.
Release Notes: New critial pair selection was implemented for Gröbner base computation with syzygy based algorithm after Gebauer and Möller in class OrderedSyzPairlist. Gröbner base classes were refactored to optionally use the new pair selection. Some JDK 1.6 constructs were back-ported to be compatible with JDK 1.5 again. Small improvements were made in Kronecker factor combination in the FactorAbstract class. A race condition in ThreadPool was fixed and termination detection was improved in Terminator. Fixes were made in parallel reduced Gröbner base computations. Univariate polynomial construction in Ideal was fixed.
Release Notes: Multivariate Taylor series expansion interface and implementation. An improved multivariate power series for standard base computation. Methods have been refactored to better suited classes, and classes have been moved to decouple packages, e.g. Quotient* to the package edu.jas.ufd. Small bugs and cosmetic issues have been fixed.
Release Notes: Multivariate power series in classes MultiVarPowerSeries and MultiVarPowerSeriesRing. Mora's tangent cone reduction algorithm and standard base computation for power series in package edu.jas.ps. Iterator over exponent vectors.
Release Notes: This release features iterators for finite and some infinite structures, and the finite and infinite Cartesian products of them. Constructors were fixed to comply with the (new) Java memory model. There were also small bugfixes and improvements, more meaningful exceptions, and some renaming.
Release Notes: The polynomial parser was improved to accept rational numbers denoted with decimal points and to accept BigDecimal coefficients. The use of the underscore for algebraic number coefficients in the polynomial parser was removed. Now every recursive call of parse() from a ring factory is triggered by braces which can be nested to any depth. A synchronization bug in solvable polynomial relation tables and a bug in parallel solvable polynomial Gröbner base were fixed. Unbounded thread pools are used to avoid dead-locks. Remaining parts were added for the factorization in polynomial rings of characteristic p > 0.
Release Notes: The code was downgraded for the Java 5 language and run-time system for use with systems relying on older Java versions, for example MathPiper and GeoGebra. The edu.jas.kern.TimeStatus class was added to provide user feedback for long running tasks via the checkTime() method. Some missing extGB() methods were implemented. GBFactory was added for the selection of appropriate Gröbner base implementations. The isFinite() method was added for all ElemFactorys and usage in SquarefreeFactory. Some missing parts were added for the factorization in polynomial rings of characteristic p > 0 and ideal decomposition.
Release Notes: A new factory for Gröbner base algorithm implementations is in the class GBFactory. The new GBProxy is, like GCDProxy, able to run a sequential and a parallel Gröbner base computation concurrently. Primitive element computation is implemented via normalPositionFor() in the methods primitiveElement() together with several conversion methods convertToPrimitiveElem(). There is a new index of all algorithms from the book Gröbner bases by Becker and Weispfenning to equivalent JAS implementations.
Release Notes: Implementation of arbitrary dimensional ideal radical-, irreducible-, prime-, and primary-decomposition in class Ideal with methods radicalDecomposition(), decomposition(), primeDecomposition(), and primaryDecomposition(). Computation of extension and contraction ideals. Unit tests for the decomposition methods. A fix for a bug in multivariate polynomial factorization in Kronecker's method. A fix for a bug in squarefree decomposition in inseparable cases. A NO_THREADS flag has been added to edu.jas.kern.ComputerThreads to avoid (some) thread creation for usage in Google app engine.