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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language, 4th edn. Addison-Wesley, Reading (2005)
Becker, M.Y.: Symbolic Integration in Java. PhD thesis, Trinity College, University of Cambridge (2001)
Becker, T., Weispfenning, V.: Gröbner Bases - A Computational Approach to Commutative Algebra. Graduate Texts in Mathematics. Springer, Heidelberg (1993)
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)
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)
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)
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)
Buchmann, J., Pfahler, T.: LiDIA. In: Computer Algebra Handbook, pp. 403–408. Springer, Heidelberg (2003)
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)
Cohen, H.: A Course in Computational Algebraic Number Theory. Springer, Heidelberg (1996)
Collins, G.E., Loos, R.G.: ALDES and SAC-2 now available. ACM SIGSAM Bull. 12(2), 19 (1982)
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)
Conrad, M.: The Java class package com.perisic.ring. Technical report (2002-2004), http://ring.perisic.com/ (accessed November 2009)
Dautelle, J.-M.: JScience: Java tools and libraries for the advancement of science. Technical report (2005-2007), http://www.jscience.org/ (accessed November 2009)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995); Deutsch: Entwurfsmuster. Addison-Wesley Reading (1996)
Geddes, K.O., Czapor, S.R., Labahn, G.: Algorithms for Computer Algebra. Kluwer, Dordrecht (1993)
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)
Gräbe, H.-G.: The SymbolicData project. Technical report (2000-2006), http://www.symbolicdata.org (accessed November 2009)
Grabmaier, J., Kaltofen, E., Weispfenning, V. (eds.): Computer Algebra Handbook. Springer, Heidelberg (2003)
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)
Gruntz, D., Weck, W.: A Generic Computer Algebra Library in Oberon. Manuscript available via Citeseer (1994)
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)
Jenks, R., Sutor, R. (eds.): axiom The Scientific Computation System. Springer, Heidelberg (1992)
Jolly, R.: jscl-meditor - Java symbolic computing library and mathematical editor. Technical report (2003), http://jscl-meditor.sourceforge.net/ (accessed November 2009)
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
Kaltofen, E.: Factorization of Polynomials. In: Buchberger, Collins, Loos (eds.) Computing Supplement: Computer Algebra, pp. 95–113. Springer, Heidelberg (1982)
Knuth, D.E.: The Art of Computer Programming - Volume 2, Seminumerical Algorithms. Addison-Wesley, Reading (1981)
Kredel, H.: On the Design of a Java Computer Algebra System. In: Proc. PPPJ 2006, pp. 143–152. University of Mannheim (2006)
Kredel, H.: Evaluation of a Java Computer Algebra System. In: Proceedings ASCM 2007, pp. 59–62. National University of Singapore (2007)
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)
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)
Kredel, H.: On a Java Computer Algebra System, its performance and applications. Science of Computer Programming 70(2-3), 185–207 (2008)
Kredel, H.: Comprehensive Gröbner bases in a Java Computer Algebra System. In: Proceedings ASCM 2009, pp. 77–90. Kyushu University, Fukuoka (2009)
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)
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)
Kredel, H.: The Java algebra system (JAS), Technical report (2000), http://krum.rz.uni-mannheim.de/jas/
Kredel, H., Pesch, M.: MAS: The Modula-2 Algebra System. In: Computer Algebra Handbook, pp. 421–428. Springer, Heidelberg (2003)
Lewis, R.H., Wester, M.: Comparison of polynomial-oriented computer algebra systems. SIGSAM Bull. 33(4), 5–13 (1999)
Liang, T., Wang, D.: Towards a geometric-object-oriented language. In: Hong, H. (ed.) Proc. Automated Deduction in Geometry 2004, Florida, USA (2004)
Loos, R.: Generalized Polynomial Remainder Sequences. In: Buchberger, Collins, Loos (eds.) Computing Supplement: Computer Algebra, pp. 115–138. Springer, Heidelberg (1982)
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)
Niculescu, V.: A design proposal for an object oriented algebraic library. Technical report, Studia Universitatis “Babes-Bolyai” (2003)
Niculescu, V.: OOLACA: an object oriented library for abstract and computational algebra. In: OOPSLA Companion, pp. 160–161. ACM, New York (2004)
Noro, M., Takeshima, T.: Risa/Asir - a computer algebra system. In: Proc. ISSAC 1992, pp. 387–396. ACM Press, New York (1992)
Platzer, A.: The Orbital library. Technical report, University of Karlsruhe (2005), http://www.functologic.com/
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)
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)
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)
Stein, W.: SAGE Mathematics Software (Version 2.7). The SAGE Group (2007), http://www.sagemath.org (accessed November 2009)
Sun Microsystems, Inc. The Java development kit. Technical report (1994-2009), http://java.sun.com/ (accessed November 2009)
Watt, S.: Aldor. In: Computer Algebra Handbook, pp. 265–270. Springer, Heidelberg (2003)
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)
Weispfenning, V.: Comprehensive Gröbner bases and regular rings. J. Symb. Comput. 41, 285–296 (2006)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)