Skip to main content

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

  • Conference paper
  • First Online:
Computer Algebra in Scientific Computing (CASC 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11661))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Poslavsky, S.: Rings: an efficient Java/Scala library for polynomial rings. Comput. Phys. Commun. 235, 400–413 (2019)

    Article  Google Scholar 

  2. von zur Gathen, J., Gerhard, J.: Modern Computer Algebra, 3rd edn. Cambridge University Press, New York (2013)

    Book  Google Scholar 

  3. Lewis, R.: Computer Algebra System Fermat (2018). http://home.bway.net/lewis

  4. Ruijl, B., Ueda, T., Vermaseren, J. : FORM version 4.2 (2017). arXiv:1707.06453

  5. Shoup, V.: A new polynomial factorization algorithm and its implementation. J. Symb. Comput. 4(20), 363–397 (1995)

    Article  MathSciNet  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  8. Lee, M.M.-D.: Factorization of multivariate polynomials. Ph.D. thesis, University of Kaiserslautern (2013)

    Google Scholar 

  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_2

    Chapter  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  12. Coladon, T.: OpenF4 implementation (2018). https://github.com/nauotit/openf4

Download references

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

Authors

Corresponding author

Correspondence to Stanislav Poslavsky .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics