Abstract
Expression-dag-based number-types are a very general and user-friendly way to achieve exact geometric computation, a widely accepted approach to the reliable implementation of geometric algorithms. Such number-types record the computation history of a numerical value in an expression dag in order to allow for recomputing the value or an approximation of it at a later stage. We describe how to defer dag construction by using error-free transformations into sums of floating-point numbers. We store a limited number of summands in statically allocated memory in order to postpone or avoid dag creation which involves expensive dynamic memory allocations. Furthermore we report on experiments where we compare different implementation strategies of our new approach. The experiments show that for small polynomial expressions typically arising in geometric applications our approach is superior to existing expression-dag-based number-types in the presence of degenerate and nearly degenerate configurations and competitive otherwise.
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
Burnikel, C., Fleischer, R., Mehlhorn, K., Schirra, S.: Efficient exact geometric computation made easy. In: 15th ACM Symposium on Computational Geometry (SCG 1999), pp. 341–350. ACM, New York (1999)
CGAL: Computational Geometry Algorithms Library, http://www.cgal.org/
Dekker, T.J.: A floating-point technique for extending the available precision. Num. Math. 18(2), 224–242 (1971)
Du., Z.: Guaranteed Precision for Transcendental and Algebraic Computation made Easy. PhD thesis, Courant Institute of Mathematical Sciences, New York University (May 2006)
Kahan, W.: Further remarks on reducing truncation errors. Comm. of the ACM 8(1), 40 (1965)
Karamcheti, V., Li, C., Pechtchanski, I., Yap, C.: A core library for robust numeric and geometric computation. In: 15th ACM Symposium on Computational Geometry (SCG 1999), pp. 351–359. ACM, New York (1999)
Knuth, D.E.: Seminumerical Algorithms, 3rd edn. The Art of Computer Programming, vol. 2. Addison-Wesley, Reading (1997)
LEDA: Library of Efficient Data Structures and Algorithms, http://www.algorithmic-solutions.com/
Mörig, M., Schirra, S.: On the design and performance of reliable geometric predicates using error-free transformations and exact sign of sum algorithms. In: 19th Canadian Conference on Computational Geometry (CCCG 2007), pp. 45–48 (August 2007)
MPFR: A multiple precision floating-point library, http://www.mpfr.org/
Ogita, T., Rump, S.M., Oishi, S.: Accurate sum and dot product. SIAM Journal on Scientific Computing 26(6), 1955–1988 (2005)
Overton, M.L.: Numerical Computing with IEEE Floating-Point Arithmetic. SIAM, Philadelphia (2001)
Shewchuk, J.R.: Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete and Computational Geometry 18(3), 305–363 (1997)
Shewchuk, J.R.: Companion web page to [13] (1997), http://www.cs.cmu.edu/~quake/robust.html
Sterbenz, P.H.: Floating-Point Computation. Prentice-Hall, Englewood Cliffs (1974)
Yap, C.: Towards exact geometric computation. Comput. Geom. Theory Appl. 7(1-2), 3–23 (1997)
Yu, J., Yap, C., Du, Z., Pion, S., Brönnimann, H.: The design of Core 2: A library for exact numeric computation in geometry and algebra. In: Fukuda, K., et al. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 121–141. Springer, Heidelberg (2010)
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
Mörig, M. (2010). Deferring Dag Construction by Storing Sums of Floats Speeds-Up Exact Decision Computations Based on Expression Dags. 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_23
Download citation
DOI: https://doi.org/10.1007/978-3-642-15582-6_23
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)