Skip to main content

Unique Factorization Domains in the Java Computer Algebra System

  • Conference paper
Automated Deduction in Geometry (ADG 2008)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 6301))

Included in the following conference series:

Abstract

This paper describes the implementation of recursive algorithms in unique factorization domains, namely multivariate polynomial greatest common divisors (gcd) and factorization into irreducible parts in the Java computer algebra library (JAS). The implementation of gcds, resultants and factorization is part of the essential building blocks for any computation in algebraic geometry, in particular in automated deduction in geometry. There are various implementations of these algorithms in procedural programming languages. Our aim is an implementation in a modern object oriented programming language with generic data types, as it is provided by Java programming language. We exemplify that the type design and implementation of JAS is suitable for the implementation of several greatest common divisor algorithms and factorization of multivariate polynomials. Due to the design we can employ this package in very general settings not commonly seen in other computer algebra systems. As for example, in the coefficient arithmetic for advanced Gröbner basis computations like in polynomial rings over rational function fields or (finite, commutative) regular rings. The new package provides factory methods for the selection of one of the several implementations for non experts. Further we introduce a parallel proxy for gcd implementations which runs different implementations concurrently.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language, 4th edn. Addison-Wesley, Reading (2005)

    MATH  Google Scholar 

  2. Becker, M.Y.: Symbolic Integration in Java. PhD thesis, Trinity College, University of Cambridge (2001)

    Google Scholar 

  3. Becker, T., Weispfenning, V.: Gröbner Bases - A Computational Approach to Commutative Algebra. Graduate Texts in Mathematics. Springer, Heidelberg (1993)

    MATH  Google Scholar 

  4. Bernardin, L., Char, B., Kaltofen, E.: Symbolic computation in Java: an appraisement. In: Dooley, S. (ed.) Proc. ISSAC 1999, pp. 237–244. ACM Press, New York (1999)

    Google Scholar 

  5. Bini, D.A., Mourrain, B.: Polynomial test suite from PoSSo and Frisco projects. Technical report (1998), http://www-sop.inria.fr/saga/POL/ (accessed November 2009)

  6. Böge, W., Gebauer, R., Kredel, H.: Some examples for solving systems of algebraic equations by calculating Groebner bases. J. Symb. Comput. 2(1), 83–98 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  7. Bronstein, M.: Sigma\(^{\mbox{{it}}}\) - a strongly-typed embeddable computer algebra library. In: Limongelli, C., Calmet, J. (eds.) DISCO 1996. LNCS, vol. 1128, pp. 22–33. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  8. Buchmann, J., Pfahler, T.: LiDIA. In: Computer Algebra Handbook, pp. 403–408. Springer, Heidelberg (2003)

    Google Scholar 

  9. Chen, X., Wang, D.: Towards an electronic geometry textbook. In: Botana, F., Recio, T. (eds.) ADG 2006. LNCS (LNAI), vol. 4869, pp. 1–23. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  10. Cohen, H.: A Course in Computational Algebraic Number Theory. Springer, Heidelberg (1996)

    Google Scholar 

  11. Collins, G.E., Loos, R.G.: ALDES and SAC-2 now available. ACM SIGSAM Bull. 12(2), 19 (1982)

    Google Scholar 

  12. Collins, G.E., Loos, R.G.: Real Zeros of Polynomials. In: Buchberger, Collins, Loos (eds.) Computing Supplement: Computer Algebra, pp. 83–94. Springer, Heidelberg (1982)

    Google Scholar 

  13. Conrad, M.: The Java class package com.perisic.ring. Technical report (2002-2004), http://ring.perisic.com/ (accessed November 2009)

  14. Dautelle, J.-M.: JScience: Java tools and libraries for the advancement of science. Technical report (2005-2007), http://www.jscience.org/ (accessed November 2009)

  15. Davenport, H.J., Gianni, P., Trager, B.M.: Scratchpad’s view of algebra II: A categorical view of factorization. In: Proc. ISSAC 1991, Bonn, pp. 32–38. ACM Press, New York (1991)

    Google Scholar 

  16. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995); Deutsch: Entwurfsmuster. Addison-Wesley Reading (1996)

    MATH  Google Scholar 

  17. Geddes, K.O., Czapor, S.R., Labahn, G.: Algorithms for Computer Algebra. Kluwer, Dordrecht (1993)

    MATH  Google Scholar 

  18. Georges, A., Buytaert, D., Eeckhout, L.: Statistically rigorous Java performance evaluation. In: ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 57–76. University of Montreal, Quebec (2007)

    Google Scholar 

  19. Gräbe, H.-G.: The SymbolicData project. Technical report (2000-2006), http://www.symbolicdata.org (accessed November 2009)

  20. Grabmaier, J., Kaltofen, E., Weispfenning, V. (eds.): Computer Algebra Handbook. Springer, Heidelberg (2003)

    Google Scholar 

  21. Greuel, G.-M., Pfister, G., Schönemann, H.: Singular - A Computer Algebra System for Polynomial Computations. In: Computer Algebra Handbook, pp. 445–450. Springer, Heidelberg (2003)

    Google Scholar 

  22. Gruntz, D., Weck, W.: A Generic Computer Algebra Library in Oberon. Manuscript available via Citeseer (1994)

    Google Scholar 

  23. Hohenwarter, M., Fuchs, K.: Combination of dynamic geometry, algebra and calculus in the software system GeoGebra. In: Computer Algebra Systems and Dynamic Geometry Systems in Mathematics Teaching Conference, Pecs, Hungary (2004)

    Google Scholar 

  24. Jenks, R., Sutor, R. (eds.): axiom The Scientific Computation System. Springer, Heidelberg (1992)

    MATH  Google Scholar 

  25. Jolly, R.: jscl-meditor - Java symbolic computing library and mathematical editor. Technical report (2003), http://jscl-meditor.sourceforge.net/ (accessed November 2009)

  26. Jolly, R., Kredel, H.: How to turn a scripting language into a domain specific language for computer algebra. Technical report (2008), http://arXiv.org/abs/0811.1061

  27. Kaltofen, E.: Factorization of Polynomials. In: Buchberger, Collins, Loos (eds.) Computing Supplement: Computer Algebra, pp. 95–113. Springer, Heidelberg (1982)

    Google Scholar 

  28. Knuth, D.E.: The Art of Computer Programming - Volume 2, Seminumerical Algorithms. Addison-Wesley, Reading (1981)

    MATH  Google Scholar 

  29. Kredel, H.: On the Design of a Java Computer Algebra System. In: Proc. PPPJ 2006, pp. 143–152. University of Mannheim (2006)

    Google Scholar 

  30. Kredel, H.: Evaluation of a Java Computer Algebra System. In: Proceedings ASCM 2007, pp. 59–62. National University of Singapore (2007)

    Google Scholar 

  31. Kredel, H.: Evaluation of a Java computer algebra system. In: Kapur, D. (ed.) ASCM 2007. LNCS (LNAI), vol. 5081, pp. 121–138. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  32. Kredel, H.: Multivariate greatest common divisors in the Java Computer Algebra System. In: Proc. Automated Deduction in Geometry (ADG), pp. 41–61. East China Normal University, Shanghai (2008)

    Google Scholar 

  33. Kredel, H.: On a Java Computer Algebra System, its performance and applications. Science of Computer Programming 70(2-3), 185–207 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  34. Kredel, H.: Comprehensive Gröbner bases in a Java Computer Algebra System. In: Proceedings ASCM 2009, pp. 77–90. Kyushu University, Fukuoka (2009)

    Google Scholar 

  35. Kredel, H.: Distributed parallel Gröbner bases computation. In: Proc. Workshop on Engineering Complex Distributed Systems (ECDS) at CISIS 2009, Pages on CD–ROM, University of Fukuoka, Japan (2009)

    Google Scholar 

  36. Kredel, H.: Distributed hybrid Gröbner bases computation. In: Proc. Workshop on Engineering Complex Distributed Systems (ECDS) at CISIS 2010, University of Krakow, Poland (2010) (page to appear)

    Google Scholar 

  37. Kredel, H.: The Java algebra system (JAS), Technical report (2000), http://krum.rz.uni-mannheim.de/jas/

  38. Kredel, H., Pesch, M.: MAS: The Modula-2 Algebra System. In: Computer Algebra Handbook, pp. 421–428. Springer, Heidelberg (2003)

    Google Scholar 

  39. Lewis, R.H., Wester, M.: Comparison of polynomial-oriented computer algebra systems. SIGSAM Bull. 33(4), 5–13 (1999)

    Article  MATH  Google Scholar 

  40. Liang, T., Wang, D.: Towards a geometric-object-oriented language. In: Hong, H. (ed.) Proc. Automated Deduction in Geometry 2004, Florida, USA (2004)

    Google Scholar 

  41. Loos, R.: Generalized Polynomial Remainder Sequences. In: Buchberger, Collins, Loos (eds.) Computing Supplement: Computer Algebra, pp. 115–138. Springer, Heidelberg (1982)

    Google Scholar 

  42. Musser, D.R., Schupp, S., Loos, R.: Requirement oriented programming. In: Jazayeri, M., Musser, D.R., Loos, R.G.K. (eds.) Dagstuhl Seminar 1998. LNCS, vol. 1766, pp. 12–24. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  43. Niculescu, V.: A design proposal for an object oriented algebraic library. Technical report, Studia Universitatis “Babes-Bolyai” (2003)

    Google Scholar 

  44. Niculescu, V.: OOLACA: an object oriented library for abstract and computational algebra. In: OOPSLA Companion, pp. 160–161. ACM, New York (2004)

    Google Scholar 

  45. Noro, M., Takeshima, T.: Risa/Asir - a computer algebra system. In: Proc. ISSAC 1992, pp. 387–396. ACM Press, New York (1992)

    Google Scholar 

  46. Platzer, A.: The Orbital library. Technical report, University of Karlsruhe (2005), http://www.functologic.com/

  47. Sato, Y., Suzuki, A.: Gröbner bases in polynomial rings over von Neumann regular rings – their applications. In: Proceedings ASCM 2000. Lecture Notes Series on Computing, vol. 8, pp. 59–62. World Scientific Publications, Singapore (2000)

    Google Scholar 

  48. Schreiner, W., Hong, H.: PACLIB — a system for parallel algebraic computation on shared memory computers. In: Alnuweiri, H.M. (ed.) Parallel Systems Fair at the Seventh International Parallel Processing Symposium, IPPS 1993, Newport Beach, CA, April 14, pp. 56–61 (1993)

    Google Scholar 

  49. Schupp, S., Loos, R.: SuchThat - generic programming works. In: Jazayeri, M., Musser, D.R., Loos, R.G.K. (eds.) Dagstuhl Seminar 1998. LNCS, vol. 1766, pp. 133–145. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  50. Stein, W.: SAGE Mathematics Software (Version 2.7). The SAGE Group (2007), http://www.sagemath.org (accessed November 2009)

  51. Sun Microsystems, Inc. The Java development kit. Technical report (1994-2009), http://java.sun.com/ (accessed November 2009)

  52. Watt, S.: Aldor. In: Computer Algebra Handbook, pp. 265–270. Springer, Heidelberg (2003)

    Google Scholar 

  53. Weispfenning, V.: Gröbner bases for polynomial ideals over commutative regular rings. In: Davenport, J.H. (ed.) ISSAC 1987 and EUROCAL 1987. LNCS, vol. 378, pp. 336–347. Springer, Heidelberg (1989)

    Google Scholar 

  54. Weispfenning, V.: Comprehensive Gröbner bases and regular rings. J. Symb. Comput. 41, 285–296 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  55. Whelan, C., Duffy, A., Burnett, A., Dowling, T.: A Java API for polynomial arithmetic. In: Proc. PPPJ 2003, pp. 139–144. Computer Science Press, New York (2003)

    Google Scholar 

  56. Ye, Z., Chou, S.-C., Gao, X.-S.: An introduction to Java geometry expert (JGEX). In: Proc. Automated Deduction in Geometry (ADG), pp. 79–85. East China Normal University, Shanghai (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kredel, H. (2011). Unique Factorization Domains in the Java Computer Algebra System. In: Sturm, T., Zengler, C. (eds) Automated Deduction in Geometry. ADG 2008. Lecture Notes in Computer Science(), vol 6301. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21046-4_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21046-4_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21045-7

  • Online ISBN: 978-3-642-21046-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics