The Design of Core 2: A Library for Exact Numeric Computation in Geometry and Algebra

  • Jihun Yu
  • Chee Yap
  • Zilin Du
  • Sylvain Pion
  • Hervé Brönnimann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6327)

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 Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho, V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)MATHGoogle Scholar
  2. 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. 3.
    Brattka, V., Hertling, P.: Feasible real random access machines. J. of Complexity 14(4), 490–526 (1998)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Brent, R.P.: Fast multiple-precision evaluation of elementary functions. J. ACM 23, 242–251 (1976)MATHCrossRefMathSciNetGoogle Scholar
  5. 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. 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. 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. 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. 9.
    Cohen, H.: A Course in Computational Algebraic Number Theory. Springer, Heidelberg (1993)MATHGoogle Scholar
  10. 10.
    Core Library homepage, since, Software download, source, documentation and links (1999), http://cs.nyu.edu/exact/core/
  11. 11.
    de Berg, M., van Kreveld, M., Overmars, M., Schwarzkopf, O.: Computational Geometry: Algorithms and Applications. Springer, Berlin (1997)MATHGoogle Scholar
  12. 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. 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. 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. 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. 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. 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. 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. 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. 20.
    Goodman, J.E., O’Rourke, J. (eds.): Handbook of Discrete and Computational Geometry. CRC Press LLC, Boca Raton (1997)MATHGoogle Scholar
  21. 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. 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. 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. 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. 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. 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. 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. 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. 29.
    Mignotte, M.: Identification of algebraic numbers. J. Algorithms 3, 197–204 (1982)MATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Muller, J.-M.: Elementary Functions: Algorithms and Implementation. Birkhäuser, Boston (1997)MATHGoogle Scholar
  31. 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. 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. 33.
    Neumaier, A.: Interval Methods for Systems of Equations. Cambridge University Press, Cambridge (1990)MATHGoogle Scholar
  34. 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. 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. 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. 37.
    Preparata, F.P., Shamos, M.I.: Computational Geometry. Springer, Heidelberg (1985)Google Scholar
  38. 38.
    Richardson, D.: How to recognize zero. J. Symbolic Computation 24, 627–645 (1997)MATHCrossRefGoogle Scholar
  39. 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. 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. 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. 42.
    Stroustrup, B.: The Design and Evolution of C++. Addison-Wesley, Reading (April 1994)Google Scholar
  43. 43.
    van der Hoeven, J.: Effective real numbers in Mmxlib. In: Proc. ISSAC 2006, Genova, Italy, pp. 138–145 (2006)Google Scholar
  44. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Jihun Yu
    • 1
  • Chee Yap
    • 1
  • Zilin Du
    • 2
  • Sylvain Pion
    • 3
  • Hervé Brönnimann
    • 4
  1. 1.Courant InstituteNew York UniversityNew YorkUSA
  2. 2.Google Inc.Mountain ViewUSA
  3. 3.INRIA Sophia AntipolisSophia AntipolisFrance
  4. 4.CIS Department, NYU PolySix MetroTech CenterBrooklynUSA

Personalised recommendations