Evaluation of a Java Computer Algebra System

  title={Evaluation of a Java Computer Algebra System},
  author={Heinz Kredel},
  booktitle={Asian Symposium on Computer Mathematics},
  • H. Kredel
  • Published in
    Asian Symposium on Computer…
    1 June 2008
  • Computer Science
This paper evaluates the suitability of Java as an implementation language for the foundations of a computer algebra library. [] Key Result We evaluate some key points of our library and differences to other computer algebra systems.

Symbolic Script Programming for Java

The concept of `symbolic programming' is introduced and its usefulness is shown by prototypes of symbolic polynomials and polynomial rings.

Generic, Type-Safe and Object Oriented Computer Algebra Software

A modular approach to computer algebra software is discussed: usage of state-of-the-art memory management and run-time systems, usage of strongly typed, generic, object oriented programming languages, and usage of general purpose, dynamic interactive expression interpreters.

Computer algebra in Java: libraries and scripting

This paper discusses the requirements for a scripting language in computer algebra and checks whether the languages Python, Ruby, Groovy and Scala meet these requirements and concludes, that with minor problems any of these languages is suitable for the purpose.

Algebraic Structures as Typed Objects

It is shown that the modeling of the relation between algebraic and real algebraic extension fields using the delegation design concept has advantages over the modeling as sub-types using sub-class implementation.

Multivariate Greatest Common Divisors in the Java Computer Algebra System

This paper exemplifies that the type design and implementation of JAS is suitable for the implementation of several greatest common divisor algorithms for multivariate polynomials, and introduces a parallel proxy for gcd implementations which runs different implementations concurrently.


This article analyzes the suitability of using parametric polymorphism, in an object-oriented programming context, for implementation of algebraic structures, showing some advantages but also some problems.

Unique Factorization Domains in the Java Computer Algebra System

  • H. Kredel
  • Computer Science, Mathematics
    Automated Deduction in Geometry
  • 2008
This paper describes the implementation of recursive algorithms in unique factorization domains, namely multivariate polynomial greatest common divisors (gcd) and factorization into irreducible parts

How to turn a scripting language into a domain specific language for computer algebra

The requirements for a scripting language in computer algebra are discussed and whether the languages Python, Ruby, Groovy and Scala meet these requirements are checked and it is concluded that any of the languages is suitable for the purpose.

Comprehensive Gröbner Bases in a Java Computer Algebra System

  • H. Kredel
  • Computer Science, Mathematics
  • 2009
This work presents an implementation of the algorithms for computing comprehensive Grobner bases in a Java computer algebra system (JAS) that aims at the maximal semantic exploitation of the occurring algebraic structures.

Distributed Hybrid Gröbner Bases Computation

  • H. Kredel
  • Computer Science
    2010 International Conference on Complex, Intelligent and Software Intensive Systems
  • 2010
This paper improves the pure distributed algorithm by an hybrid approach where on the compute nodes parallel threads for each available processor can be used, and improves memory footprint by sharing the polynomials in memory between the threads on a node.



On the design of a Java computer algebra system

This paper considers Java as an implementation language for a starting part of a computer algebra library. It describes a design of basic arithmetic and multivariate polynomial interfaces and classes

On a Java computer algebra system, its performance and applications

  • H. Kredel
  • Computer Science
    Sci. Comput. Program.
  • 2008

A Java API for polynomial arithmetic

This paper shows how Java can be used to perform large integer mathematical operations by using the BigInteger class and shows how easy the API is to use with very little knowledge of polynomial arithmetic.

A Generic Computer Algebra Library in Oberon

It is discussed how generic computer algebra algorithms can be implemented in an existing general−purpose programming language as a well encapsulated library. We show the advantages of such an

SigmaIT - A Strongly-Typed Embeddable Computer Algebra Library

The development of ΣIT is motivated by the need to provide highly efficient implementations of key algorithms for linear ordinary differential and (q)-difference equations to scientific programmers and computer algebra system users, regardless of the programming language or interactive system they use.

An object-oriented approach to algebra system design

This paper describes a new computer algebra system design based on the object-oriented style of programming and an implementation of this design, called Views, written in Smalltalk-80, which allows for a richer variety of interrelationships among categories than exhibited in other systems.

A Systems Perspective on A3L

  • H. Kredel
  • Computer Science
    Algorithmic Algebra and Logic
  • 2005
It will turn out that computer algebra can more and more use standard software developed in computer science to reach its goals.

Risa/Asir—a computer algebra system

Risa’s subroutine libraries include basic arithmetic subroutines, parser, evaluator and storage manager, and each of them can be used individually.

Performance analysis of generics in scientific computing

  • Laurentiu DraganS. Watt
  • Computer Science
    Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC'05)
  • 2005
It is found that the implementation of generics in current compilers must be improved before they are used for efficiency-critical scientific applications, and specific areas for potential optimization are identified.

Mas Modula-2 Algebra System

Modula-2 is well suited for the development of large program libraries, the language is powerful enough to implement all parts of a computer algebra system and the Modula- 2 compilers have easy to use program development environments.