Advertisement

Rings: An Efficient JVM Library for Commutative Algebra (Invited Talk)

  • Stanislav PoslavskyEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11661)

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.

Keywords

Computer algebra software Commutative algebra 

Notes

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.

References

  1. 1.
    Poslavsky, S.: Rings: an efficient Java/Scala library for polynomial rings. Comput. Phys. Commun. 235, 400–413 (2019)CrossRefGoogle Scholar
  2. 2.
    von zur Gathen, J., Gerhard, J.: Modern Computer Algebra, 3rd edn. Cambridge University Press, New York (2013)CrossRefGoogle Scholar
  3. 3.
    Lewis, R.: Computer Algebra System Fermat (2018). http://home.bway.net/lewis
  4. 4.
    Ruijl, B., Ueda, T., Vermaseren, J. : FORM version 4.2 (2017). arXiv:1707.06453
  5. 5.
    Shoup, V.: A new polynomial factorization algorithm and its implementation. J. Symb. Comput. 4(20), 363–397 (1995)MathSciNetCrossRefGoogle Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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_230CrossRefGoogle Scholar
  8. 8.
    Lee, M.M.-D.: Factorization of multivariate polynomials. Ph.D. thesis, University of Kaiserslautern (2013)Google Scholar
  9. 9.
    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_2CrossRefGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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_17CrossRefGoogle Scholar
  12. 12.
    Coladon, T.: OpenF4 implementation (2018). https://github.com/nauotit/openf4

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.NRC “Kurchatov Institute” - IHEPProtvinoRussia

Personalised recommendations