TL;DR
Rings is a high-performance, lightweight Java/Scala library that efficiently implements polynomial algebra operations using modern algorithms, with a user-friendly API suitable for research applications.
Contribution
It introduces a novel, fast, and easy-to-use algebraic library in Scala that combines modern algorithms with a strongly typed functional programming approach.
Findings
Shows competitive performance in algebraic calculations
Provides a simple API for integration in research applications
Implements advanced algorithms like polynomial GCDs and Gr"obner bases
Abstract
In this paper we briefly discuss \Rings --- an efficient lightweight library for commutative algebra. Polynomial arithmetic, GCDs, polynomial factorization and Gr\"obner 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
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
