Abstract
Rings is an open-source library, written in Java and Scala programming languages, which implements basic concepts and algorithms from computational commutative algebra. The goal of the Rings library is to provide a high-performance implementation packed into a lightweight library (not a full-featured CAS) with a clean application programming interface (API), which meets modern standards of software development. Polynomial arithmetic, GCDs, factorization, and Gröbner bases are implemented with the use of modern fast algorithms. Rings provides a simple API with a 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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Poslavsky, S.: Rings: an efficient Java/Scala library for polynomial rings. Comput. Phys. Commun. 235, 400–413 (2019)
von zur Gathen, J., Gerhard, J.: Modern Computer Algebra, 3rd edn. Cambridge University Press, New York (2013)
Lewis, R.: Computer Algebra System Fermat (2018). http://home.bway.net/lewis
Ruijl, B., Ueda, T., Vermaseren, J. : FORM version 4.2 (2017). arXiv:1707.06453
Shoup, V.: A new polynomial factorization algorithm and its implementation. J. Symb. Comput. 4(20), 363–397 (1995)
Kaltofen, E., Monagan, M.B.: On the genericity of the modular polynomial GCD algorithm. In: Proceedings of ISSAC 1999, pp. 59–66. ACM Press, New York (1999)
Kaltofen, E.: Sparse Hensel lifting. In: Caviness, B.F. (ed.) EUROCAL 1985. LNCS, vol. 204, pp. 4–17. Springer, Heidelberg (1985). https://doi.org/10.1007/3-540-15984-3_230
Lee, M.M.-D.: Factorization of multivariate polynomials. Ph.D. thesis, University of Kaiserslautern (2013)
Bernardin, L., Monagan, M.B.: Efficient multivariate factorization over finite fields. In: Mora, T., Mattson, H. (eds.) AAECC 1997. LNCS, vol. 1255, pp. 15–28. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63163-1_2
Trager, B.M.: Algebraic factoring and rational function integration. In: Proceedings of Third ACM Symposium on Symbolic and Algebraic Computation, SYMSAC 1976, pp. 219–226. ACM, New York (1976)
Faugère, J.-C.: FGb: a library for computing Gröbner bases. In: Fukuda, K., Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 84–87. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15582-6_17
Coladon, T.: OpenF4 implementation (2018). https://github.com/nauotit/openf4
Acknowledgements
The author would like to thank the organizers of CASC 2019. The work was supported by the Russian Science Foundation grant #18–72–00070.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Poslavsky, S. (2019). Rings: An Efficient JVM Library for Commutative Algebra (Invited Talk). In: England, M., Koepf, W., Sadykov, T., Seiler, W., Vorozhtsov, E. (eds) Computer Algebra in Scientific Computing. CASC 2019. Lecture Notes in Computer Science(), vol 11661. Springer, Cham. https://doi.org/10.1007/978-3-030-26831-2_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-26831-2_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-26830-5
Online ISBN: 978-3-030-26831-2
eBook Packages: Computer ScienceComputer Science (R0)