Abstract

This paper describes the implementation of recursive algorithms in unique factorization domains, namely multivariate polynomial greatest common divisors (gcd) and factorization into irreducible parts in the Java computer algebra library (JAS). The implementation of gcds, resultants and factorization is part of the essential building blocks for any computation in algebraic geometry, in particular in automated deduction in geometry. There are various implementations of these algorithms in procedural programming languages. Our aim is an implementation in a modern object oriented programming language with generic data types, as it is provided by Java programming language. We exemplify that the type design and implementation of JAS is suitable for the implementation of several greatest common divisor algorithms and factorization of multivariate polynomials. Due to the design we can employ this package in very general settings not commonly seen in other computer algebra systems. As for example, in the coefficient arithmetic for advanced Grobner basis computations like in polynomial rings over rational function fields or (finite, commutative) regular rings. The new package provides factory methods for the selection of one of the several implementations for non experts. Further we introduce a parallel proxy for gcd implementations which runs different implementations concurrently.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call