Rings: an efficient Java/Scala library for polynomial rings
arXiv:1712.02329 · doi:10.1016/j.cpc.2018.09.005
Abstract
In this paper we briefly discuss \Rings --- an efficient lightweight library for commutative algebra. Polynomial arithmetic, GCDs, polynomial factorization and Gröbner bases are implemented with the use of modern asymptotically fast algorithms. \Rings can be easily interacted or embedded in applications in high-energy physics and other research areas via a simple API with fully typed hierarchy of algebraic structures and algorithms for commutative algebra. The use of the Scala language brings a quite novel powerful, strongly typed functional programming model allowing to write short, expressive, and fast code for applications. At the same time Rings shows one of the best performances among existing software for algebraic calculations. \Rings is available from http://github.com/PoslavskySV/rings
arXiv commentComputer Physics Communications (2018)
References in corpus (12)
- FORM version 4.0
- Algorithm FIRE -- Feynman Integral REduction
- A novel approach to integration by parts reduction
- Reduze 2 - Distributed Feynman Integral Reduction
- Integration-by-parts reductions from unitarity cuts and algebraic geometry
- A Survey on Homomorphic Encryption Schemes: Theory and Implementation
- $Apart: A Generalized Mathematica Apart Function
- Transforming differential equations of multi-loop Feynman integrals into canonical form
- Four-loop QCD propagators and vertices with one vanishing external momentum
- FORM version 4.2
- MultivariateResidues: a Mathematica package for computing multivariate residues
- Leinartas's partial fraction decomposition