ICMS 2010: Mathematical Software – ICMS 2010 pp 121-141 | Cite as
The Design of Core 2: A Library for Exact Numeric Computation in Geometry and Algebra
Abstract
There is a growing interest in numeric-algebraic techniques in the computer algebra community as such techniques can speed up many applications. This paper is concerned with one such approach called Exact Numeric Computation (ENC). The ENC approach to algebraic number computation is based on iterative verified approximations, combined with constructive zero bounds. This paper describes Core 2, the latest version of the Core Library, a package designed for applications such as non-linear computational geometry. The adaptive complexity of ENC combined with filters makes such libraries practical.
Core 2 smoothly integrates our algebraic ENC subsystem with transcendental functions with ε-accurate comparisons. This paper describes how the design of Core 2 addresses key software issues such as modularity, extensibility, efficiency in a setting that combines algebraic and transcendental elements. Our redesign preserves the original goals of the Core Library, namely, to provide a simple and natural interface for ENC computation to support rapid prototyping and exploration. We present examples, experimental results, and timings for our new system, released as Core Library 2.0.
Keywords
Directed Acyclic Graph Algebraic Number Computer Algebra System Interval Arithmetic Recursive RulePreview
Unable to display preview. Download preview PDF.
References
- 1.Aho, V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)MATHGoogle Scholar
- 2.Berberich, E., Kerber, M., Sagraloff, M.: Exact geometric-topological analysis of algebraic surfaces. In: 24th ACM Symp. on Comp. Geometry, pp. 164–173 (2008)Google Scholar
- 3.Brattka, V., Hertling, P.: Feasible real random access machines. J. of Complexity 14(4), 490–526 (1998)MATHCrossRefMathSciNetGoogle Scholar
- 4.Brent, R.P.: Fast multiple-precision evaluation of elementary functions. J. ACM 23, 242–251 (1976)MATHCrossRefMathSciNetGoogle Scholar
- 5.Brönnimann, H., Burnikel, C., Pion, S.: Interval arithmetic yields efficient dynamic filters for computational geometry. Discrete Applied Mathematics 109(1-2), 25–47 (2001)MATHCrossRefMathSciNetGoogle Scholar
- 6.Burnikel, C., Funke, S., Mehlhorn, K., Schirra, S., Schmitt, S.: A separation bound for real algebraic expressions. Algorithmica 55(1), 14–28 (2009)MATHCrossRefMathSciNetGoogle Scholar
- 7.Burnikel, C., Funke, S., Seel, M.: Exact geometric computation using cascading. Int’l. J. Comput. Geometry and Appl. 11(3), 245–266 (2001)MATHCrossRefMathSciNetGoogle Scholar
- 8.Chang, E.-C., Choi, S.W., Kwon, D., Park, H., Yap, C.: Shortest paths for disc obstacles is computable. Int’l. J. Comput. Geometry and Appl. 16(5-6), 567–590 (2006); Gao, X.S., Michelucci, D.: Special Issue of IJCGA on Geometric ConstraintsGoogle Scholar
- 9.Cohen, H.: A Course in Computational Algebraic Number Theory. Springer, Heidelberg (1993)MATHGoogle Scholar
- 10.Core Library homepage, since, Software download, source, documentation and links (1999), http://cs.nyu.edu/exact/core/
- 11.de Berg, M., van Kreveld, M., Overmars, M., Schwarzkopf, O.: Computational Geometry: Algorithms and Applications. Springer, Berlin (1997)MATHGoogle Scholar
- 12.Defour, D., Hanrot, G., Lefévre, V., Muller, J.-M., Revol, N., Zimmermann, P.: Proposal for a standardization of mathematical function implementation in floating-point arithmetic. Numerical Algorithms 37(1-4), 367–375 (2004)MATHCrossRefMathSciNetGoogle Scholar
- 13.Du, Z.: Guaranteed Precision for Transcendental and Algebraic Computation made Easy. Ph.D. thesis, New York University, Department of Computer Science, Courant Institute (May 2006) http://cs.nyu.edu/exact/doc/
- 14.Du, Z., Eleftheriou, M., Moreira, J., Yap, C.: Hypergeometric functions in exact geometric computation. In: Brattka, V., Schoeder, M., Weihrauch, K. (eds.) Proc. 5th Workshop on Computability and Complexity in Analysis, Malaga, Spain, July 12-13. ENTCS, vol. 66(1), pp. 55–66 (2002), http://www.elsevier.nl/locate/entcs/volume66.html
- 15.Du, Z., Yap, C.: Absolute approximation of the general hypergeometric functions. In: il Pae, S., Park, H. (eds.) Proc. 7th Asian Symposium on Computer Mathematics (ASCM 2005), December 8-10, pp. 246–249. Korea Institute for Advanced Study, Seoul (2005)Google Scholar
- 16.Fabri, A., Giezeman, G.-J., Kettner, L., Schirra, S., Schoenherr, S.: The CGAL kernel: a basis for geometric computation. In: Lin, M.C., Manocha, D. (eds.) FCRC-WS 1996 and WACG 1996. LNCS, vol. 1148, pp. 191–202. Springer, Heidelberg (1996)CrossRefGoogle Scholar
- 17.Fortune, S.J., van Wyk, C.J.: Static analysis yields efficient exact integer arithmetic for computational geometry. ACM Transactions on Graphics 15(3), 223–248 (1996)CrossRefGoogle Scholar
- 18.Fousse, L., Hanrot, G., Lefèvre, V., Pélissier, P., Zimmermann, P.: Mpfr: A multiple-precision binary floating-point library with correct rounding. ACM Trans. Math. Softw. 33(2), 13 (2007)CrossRefGoogle Scholar
- 19.Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. Addison-Wesley Publishing Company, New York (1995)Google Scholar
- 20.Goodman, J.E., O’Rourke, J. (eds.): Handbook of Discrete and Computational Geometry. CRC Press LLC, Boca Raton (1997)MATHGoogle Scholar
- 21.Gowland, P., Lester, D.: A survey of exact arithmetic implementations. In: Blank, J., Brattka, V., Hertling, P. (eds.) CCA 2000. LNCS, vol. 2064, pp. 30–47. Springer, Heidelberg (2001)CrossRefGoogle Scholar
- 22.Karamcheti, V., Li, C., Pechtchanski, I., Yap, C.: A Core library for robust numerical and geometric computation. In: 15th ACM Symp. Computational Geometry, pp. 351–359 (1999)Google Scholar
- 23.Li, C.: Exact Geometric Computation: Theory and Applications. Ph.D. thesis, New York University, Department of Computer Science, Courant Institute (January 2001), http://cs.nyu.edu/exact/doc/
- 24.Li, C., Pion, S., Yap, C.: Recent progress in Exact Geometric Computation. J. of Logic and Algebraic Programming 64(1), 85–111 (2004); Special issue on Practical Development of Exact Real Number Computation Google Scholar
- 25.Lin, L., Yap, C.: Adaptive isotopic approximation of nonsingular curves: the parametrizability and non-local isotopy approach. In: Proc. 25th ACM Symp. on Comp. Geometry, Aarhus, Denmark, June 8-10, pp. 351–360 (2009); Accepted for Special Issue of SoCG 2009 in DCG (2009)Google Scholar
- 26.Many digits friendly competition, The details of the competition, including final results (October 3-4, 2005), http://www.cs.ru.nl/~milad/manydigits/
- 27.Mehlhorn, K., Näher, S.: LEDA: a platform for combinatorial and geometric computing. Comm. of the ACM 38, 96–102 (1995)CrossRefGoogle Scholar
- 28.Mehlhorn, K., Schirra, S.: Exact computation with leda real – theory and geometric applications. In: Alefeld, G., Rohn, J., Rump, S., Yamamoto, T. (eds.) Symbolic Algebraic Methods and Verification Methods, Vienna, pp. 163–172. Springer, Heidelberg (2001)Google Scholar
- 29.Mignotte, M.: Identification of algebraic numbers. J. Algorithms 3, 197–204 (1982)MATHCrossRefMathSciNetGoogle Scholar
- 30.Muller, J.-M.: Elementary Functions: Algorithms and Implementation. Birkhäuser, Boston (1997)MATHGoogle Scholar
- 31.Müller, N.T.: The iRRAM: Exact arithmetic in C++. In: Blank, J., Brattka, V., Hertling, P. (eds.) CCA 2000. LNCS, vol. 2064, pp. 222–252. Springer, Heidelberg (2001)CrossRefGoogle Scholar
- 32.Müller, N.T., Escardo, M., Zimmermann, P.: Guest editor’s introduction: Practical development of exact real number computation. J. of Logic and Algebraic Programming 64(1), Special Issue (2004)Google Scholar
- 33.Neumaier, A.: Interval Methods for Systems of Equations. Cambridge University Press, Cambridge (1990)MATHGoogle Scholar
- 34.Ouchi, K.: Real/Expr: Implementation of an Exact Computation Package. Master’s thesis, New York University, Department of Computer Science, Courant Institute (January 1997), http://cs.nyu.edu/exact/doc/
- 35.Pion, S., Yap, C.: Constructive root bound method for k-ary rational input numbers. Theor. Computer Science 369(1-3), 361–376 (2006a)MATHCrossRefMathSciNetGoogle Scholar
- 36.Plantinga, S., Vegter, G.: Isotopic approximation of implicit curves and surfaces. In: Proc. Eurographics Symposium on Geometry Processing, pp. 245–254. ACM Press, New York (2004)CrossRefGoogle Scholar
- 37.Preparata, F.P., Shamos, M.I.: Computational Geometry. Springer, Heidelberg (1985)Google Scholar
- 38.Richardson, D.: How to recognize zero. J. Symbolic Computation 24, 627–645 (1997)MATHCrossRefGoogle Scholar
- 39.Richardson, D.: Zero tests for constants in simple scientific computation. Mathematics in Computer Science 1(1), 21–38 (2007); Inaugural issue on Complexity of Continuous ComputationMATHCrossRefMathSciNetGoogle Scholar
- 40.Schirra, S.: Robustness and precision issues in geometric computation. In: Sack, J., Urrutia, J. (eds.) Handbook of Computational Geometry. Elsevier Science Publishers, B.V., North-Holland, Amsterdam (1999)Google Scholar
- 41.Schmitt, S.: The diamond operator – implementation of exact real algebraic numbers. In: Ganzha, V.G., Mayr, E.W., Vorozhtsov, E.V. (eds.) CASC 2005. LNCS, vol. 3718, pp. 355–366. Springer, Heidelberg (2005)CrossRefGoogle Scholar
- 42.Stroustrup, B.: The Design and Evolution of C++. Addison-Wesley, Reading (April 1994)Google Scholar
- 43.van der Hoeven, J.: Effective real numbers in Mmxlib. In: Proc. ISSAC 2006, Genova, Italy, pp. 138–145 (2006)Google Scholar
- 44.Yap, C., Li, C., Pion, S., Du, Z., Sharma, V.: Core Library Tutorial: a library for robust geometric computation (1999–2004); Version 1.1 was released in January 1999. Version 1.6 in June 2003, Source and documents from, http://cs.nyu.edu/exact/
- 45.Yap, C.K.: In praise of numerical computation. In: Albers, S., Alt, H., Näher, S. (eds.) Efficient Algorithms. LNCS, vol. 5760, pp. 380–407. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 46.Yap, C.K.: Tutorial: Exact numerical computation in algebra and geometry. In: Proc. 34th Int’l Symp. Symbolic and Algebraic Comp. (ISSAC 2009), KIAS, Seoul, Korea, July 28-31, pp. 387–388 (2009)Google Scholar
- 47.Yu, J.: Exact arithmetic solid modeling. Ph.D. dissertation, Department of Computer Science, Purdue University, West Lafayette, IN 47907, Technical Report No. CSD-TR-92-037 (June 1992)Google Scholar