Projects / Java Algebra System

Java Algebra System

The Java Algebra System (JAS) is an object oriented, type safe, multi-threaded approach to computer algebra. JAS provides a well designed software library using generic types for algebraic computations implemented in the Java programming language. The library can be used as any other Java software package, or it can be used interactively or interpreted through a Jython or JRuby front end. The focus at the moment is on commutative and solvable polynomials, power-series, multivariate polynomial factorization, Gröbner bases, and applications.

Operating Systems

RSS Last announcement

Ohloh Code Analysis 05 Dec 2009

JAS code analysis is available from Ohloh at

RSS Recent releases

  •  04 Mar 2014 23:45

    Release Notes: This release contains small improvements in solvable polynomial common divisor computation. Now, more cases are working, and there is a new method for right pseudo division. There are some performance improvements in class PrimeList. The MPJ Express compatibility and test cases have been restored, and will be kept.

    •  05 Jan 2014 01:52

      Release Notes: This release adds a new package edu.jas.fd for solvable polynomial common divisor computation. It will contain algorithms for (non-unique) factorization domains. There are methods for polynomial pseudo remainder computation over Ore domains in class FDUtil. More methods for common divisors are included, but not yet finished. The MPJ and MPI implementations have been further converged and cleaned. Javadocs for the JLinAlg adapter classes are published.

      •  05 Nov 2013 06:34

        Release Notes: This release adds new solvable local residue ring SolvableLocalResidue as solvable quotient field modulo an ideal. Additionally there are new generic solvable polynomials: QLRSolvablePolynomial with abstracted generic coefficients from solvable quotient, local or local-residue rings. The abstracting interfaces QuotPair and QuotPairFactory are implemented in the corresponding classes. Scripting examples for the new classes are adjusted and extended. Differences were removed and different versions of Run*GB stand alone Gröbner base programs were cleaned up.

        •  06 Oct 2013 15:56

          Release Notes: The Android version of JAS, based on Ruboto (JRuby for Android), is now available with signed code and can be directly installed. This release contains new algorithms for least common multiples and a trial greatest common divisor in solvable polynomial rings. Additionally, the Apel-Lassner canonical simplifier for solvable quotients is available. Some refactoring was required to break package dependency cycles. More Findbugs issues have been solved. Java 5 compatibility has been dropped.

          •  08 Sep 2013 20:19

            Release Notes: This release contains new distributed Gröbner base algorithms based on the Java bindings of OpenMPI similarly to the MPJ version. Since both MPI and MPJ are not thread-safe, a work-around was developed to split the transport layer to allow selection of TCP/IP sockets or MPI/MPJ channels for transport. The socket-based distributed hash table now implements the clear() method, which solves non-specific errors in iterated distributed Gröbner base computations. The solvable multiplications have been simplified. Fixes and improvements have been made for Jython and JRuby scripts.


            Project Spotlight


            A photo editing and collection management application.


            Project Spotlight


            A basic image difference viewer.