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.
Yap, Du and Yu are supported by NSF Grants CCF-043836, CCF-0728977 and CCF-0917093, and with partial support from Korea Institute of Advance Studies (KIAS). Brönnimann is supported by NSF Career Grant 0133599. Brönnimann, Pion, and Yap are supported by an Collaborative Action GENEPI grant at INRIA and an NSF International Collaboration Grant NSF-04-036, providing travel support for Du and Yu to INRIA.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aho, V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)
Berberich, E., Kerber, M., Sagraloff, M.: Exact geometric-topological analysis of algebraic surfaces. In: 24th ACM Symp. on Comp. Geometry, pp. 164–173 (2008)
Brattka, V., Hertling, P.: Feasible real random access machines. J. of Complexity 14(4), 490–526 (1998)
Brent, R.P.: Fast multiple-precision evaluation of elementary functions. J. ACM 23, 242–251 (1976)
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)
Burnikel, C., Funke, S., Mehlhorn, K., Schirra, S., Schmitt, S.: A separation bound for real algebraic expressions. Algorithmica 55(1), 14–28 (2009)
Burnikel, C., Funke, S., Seel, M.: Exact geometric computation using cascading. Int’l. J. Comput. Geometry and Appl. 11(3), 245–266 (2001)
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 Constraints
Cohen, H.: A Course in Computational Algebraic Number Theory. Springer, Heidelberg (1993)
Core Library homepage, since, Software download, source, documentation and links (1999), http://cs.nyu.edu/exact/core/
de Berg, M., van Kreveld, M., Overmars, M., Schwarzkopf, O.: Computational Geometry: Algorithms and Applications. Springer, Berlin (1997)
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)
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/
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
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)
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)
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)
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)
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)
Goodman, J.E., O’Rourke, J. (eds.): Handbook of Discrete and Computational Geometry. CRC Press LLC, Boca Raton (1997)
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)
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)
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/
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
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)
Many digits friendly competition, The details of the competition, including final results (October 3-4, 2005), http://www.cs.ru.nl/~milad/manydigits/
Mehlhorn, K., Näher, S.: LEDA: a platform for combinatorial and geometric computing. Comm. of the ACM 38, 96–102 (1995)
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)
Mignotte, M.: Identification of algebraic numbers. J. Algorithms 3, 197–204 (1982)
Muller, J.-M.: Elementary Functions: Algorithms and Implementation. Birkhäuser, Boston (1997)
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)
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)
Neumaier, A.: Interval Methods for Systems of Equations. Cambridge University Press, Cambridge (1990)
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/
Pion, S., Yap, C.: Constructive root bound method for k-ary rational input numbers. Theor. Computer Science 369(1-3), 361–376 (2006a)
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)
Preparata, F.P., Shamos, M.I.: Computational Geometry. Springer, Heidelberg (1985)
Richardson, D.: How to recognize zero. J. Symbolic Computation 24, 627–645 (1997)
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 Computation
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)
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)
Stroustrup, B.: The Design and Evolution of C++. Addison-Wesley, Reading (April 1994)
van der Hoeven, J.: Effective real numbers in Mmxlib. In: Proc. ISSAC 2006, Genova, Italy, pp. 138–145 (2006)
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/
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yu, J., Yap, C., Du, Z., Pion, S., Brönnimann, H. (2010). The Design of Core 2: A Library for Exact Numeric Computation in Geometry and Algebra. In: Fukuda, K., Hoeven, J.v.d., Joswig, M., Takayama, N. (eds) Mathematical Software – ICMS 2010. ICMS 2010. Lecture Notes in Computer Science, vol 6327. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15582-6_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-15582-6_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15581-9
Online ISBN: 978-3-642-15582-6
eBook Packages: Computer ScienceComputer Science (R0)