Rings: an efficient Java/Scala library for polynomial rings

12/06/2017
by   Stanislav Poslavsky, et al.
0

In this paper we briefly discuss Rings --- an efficient lightweight library for univariate and multivariate polynomial arithmetic over arbitrary coefficient rings. Basic algebra, GCDs and factorization of polynomials are implemented with the use of modern asymptotically fast algorithms. Rings provides a clean API for algebra and a fully typed hierarchy of mathematical structures. Scala API additionally brings powerful strongly typed functional programming model which allows to write short and expressive code for applications. Performance achieved in Rings is similar to such well known specialized solutions like Singular and considerably better than in some general-purpose systems like Mathematica. Rings is available from http://ringsalgebra.io

READ FULL TEXT
research
04/08/2021

msolve: A Library for Solving Polynomial Systems

We present a new open source C library dedicated to solving multivariat...
research
11/08/2016

Sparse multivariate factorization by mean of a few bivariate factorizations

We describe an algorithm to factor sparse multivariate polynomials using...
research
05/12/2023

Design and Development of a Java Parallel I/O Library

Parallel I/O refers to the ability of scientific programs to concurrentl...
research
04/07/2020

Resultants over principal Artinian rings

The resultant of two univariate polynomials is an invariant of great imp...
research
10/18/2004

An Example of Clifford Algebras Calculations with GiNaC

This example of Clifford algebras calculations uses GiNaC (http://www.gi...
research
12/18/2020

Analytic Integration of the Newton Potential over Cuboids and an Application to Fast Multipole Methods

We present simplified formulae for the analytic integration of the Newto...
research
06/21/2021

Multivariate Power Series in Maple

We present MultivariatePowerSeries, a Maple library introduced in Maple ...

Please sign up or login with your details

Forgot password? Click here to reset