111 research outputs found

    Formally Certified Floating-Point Filters For Homogeneous Geometric Predicates

    Get PDF
    International audienceFloating-point arithmetic provides a fast but inexact way of computing geometric predicates. In order for these predicates to be exact, it is important to rule out all the numerical situations where floating-point computations could lead to wrong results. Taking into account all the potential problems is a tedious work to do by hand. We study in this paper a floating-point implementation of a filter for the orientation-2 predicate, and how a formal and partially automatized verification of this algorithm avoided many pitfalls. The presented method is not limited to this particular predicate, it can easily be used to produce correct semi-static floating-point filters for other geometric predicates

    Formal certification of arithmetic filters for geometric predicates

    Get PDF
    International audienceFloating-point arithmetic provides a fast but inexact way of computing geometric predicates. In order for these predicates to be exact, it is important to rule out all the numerical situations where floating-point computations could lead to wrong results. Taking into account all the potential problems is a tedious work to do by hand. We study in this paper a floating-point implementation of a filter for the orientation-2 predicate, and how a formal and partially automatized verification of this algorithm avoided many pitfalls. The presented method is not limited to this particular predicate, it can easily be used to produce correct semi-static floating-point filters for other geometric predicates

    A Generic Lazy Evaluation Scheme for Exact Geometric Computations

    Get PDF
    International audienceWe present a generic C++ design to perform exact geometric computations efficiently using lazy evaluations. Exact geometric computations are critical for the robustness of geometric algorithms. Their efficiency is also important for many applications, hence the need for delaying the costly exact computations at run time until they are actually needed, if at all. Our approach is generic and extensible in the sense that it is possible to make it a library that users can apply to their own geometric objects and primitives. It involves techniques such as generic functor-adaptors, static and dynamic polymorphism, reference counting for the management of directed acyclic graphs, and exception handling for triggering exact computations when needed. It also relies on multi-precision arithmetic as well as interval arithmetic. We apply our approach to the whole geometry kernel of CGAL

    A numerical algorithm for L2L_2 semi-discrete optimal transport in 3D

    Get PDF
    This paper introduces a numerical algorithm to compute the L2L_2 optimal transport map between two measures μ\mu and ν\nu, where μ\mu derives from a density ρ\rho defined as a piecewise linear function (supported by a tetrahedral mesh), and where ν\nu is a sum of Dirac masses. I first give an elementary presentation of some known results on optimal transport and then observe a relation with another problem (optimal sampling). This relation gives simple arguments to study the objective functions that characterize both problems. I then propose a practical algorithm to compute the optimal transport map between a piecewise linear density and a sum of Dirac masses in 3D. In this semi-discrete setting, Aurenhammer et.al [\emph{8th Symposium on Computational Geometry conf. proc.}, ACM (1992)] showed that the optimal transport map is determined by the weights of a power diagram. The optimal weights are computed by minimizing a convex objective function with a quasi-Newton method. To evaluate the value and gradient of this objective function, I propose an efficient and robust algorithm, that computes at each iteration the intersection between a power diagram and the tetrahedral mesh that defines the measure μ\mu. The numerical algorithm is experimented and evaluated on several datasets, with up to hundred thousands tetrahedra and one million Dirac masses.Comment: 23 pages, 14 figure

    Meshless Voronoi on the GPU

    Get PDF
    International audienceWe propose a GPU algorithm that computes a 3D Voronoi diagram. Our algorithm is tailored for applications that solely make use of the geometry of the Voronoi cells, such as Lloyd's relaxation used in meshing, or some numerical schemes used in fluid simulations and astrophysics. Since these applications only require the geometry of the Voronoi cells, they do not need the combinatorial mesh data structure computed by the classical algorithms (Bowyer-Watson). Thus, by exploiting the specific spatial distribution of the point-sets used in this type of applications, our algorithm computes each cell independently, in parallel, based on its nearest neighbors. In addition, we show how to compute integrals over the Voronoi cells by decomposing them on the fly into tetrahedra, without needing to compute any global combinatorial information. The advantages of our algorithm is that it is fast, very simple to implement, has constant memory usage per thread and does not need any synchronization primitive.These specificities make it particularly efficient on the GPU: it gains one order of magnitude as compared to the fastest state-of-the-art multi-core CPU implementations. To ease the reproducibility of our results, the full documented source code is included in the supplemental material

    Computations of Delaunay and Higher Order Triangulations, with Applications to Splines

    Get PDF
    Digital data that consist of discrete points are frequently captured and processed by scientific and engineering applications. Due to the rapid advance of new data gathering technologies, data set sizes are increasing, and the data distributions are becoming more irregular. These trends call for new computational tools that are both efficient enough to handle large data sets and flexible enough to accommodate irregularity. A mathematical foundation that is well-suited for developing such tools is triangulation, which can be defined for discrete point sets with little assumption about their distribution. The potential benefits from using triangulation are not fully exploited. The challenges fundamentally stem from the complexity of the triangulation structure, which generally takes more space to represent than the input points. This complexity makes developing a triangulation program a delicate task, particularly when it is important that the program runs fast and robustly over large data. This thesis addresses these challenges in two parts. The first part concentrates on techniques designed for efficiently and robustly computing Delaunay triangulations of three kinds of practical data: the terrain data from LIDAR sensors commonly found in GIS, the atom coordinate data used for biological applications, and the time varying volume data generated from from scientific simulations. The second part addresses the problem of defining spline spaces over triangulations in two dimensions. It does so by generalizing Delaunay configurations, defined as follows. For a given point set P in two dimensions, a Delaunay configuration is a pair of subsets (T, I) from P, where T, called the boundary set, is a triplet and I, called the interior set, is the set of points that fall in the circumcircle through T. The size of the interior set is the degree of the configuration. As recently discovered by Neamtu (2004), for a chosen point set, the set of all degree k Delaunay configurations can be associated with a set of degree k plus 1 splines that form the basis of a spline space. In particular, for the trivial case of k equals 0, the spline space coincides with the PL interpolation functions over the Delaunay triangulation. Neamtu’s definition of the spline space relies only on a few structural properties of the Delaunay configurations. This raises the question whether there exist other sets of configurations with identical structural properties. If there are, then these sets of configurations—let us call them generalized configurations from hereon—can be substituted for Delaunay configurations in Neamtu’s definition of spline space thereby yielding a family of splines over the same point set

    Tools and Algorithms for the Construction and Analysis of Systems

    Get PDF
    This open access two-volume set constitutes the proceedings of the 27th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2021, which was held during March 27 – April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The total of 41 full papers presented in the proceedings was carefully reviewed and selected from 141 submissions. The volume also contains 7 tool papers; 6 Tool Demo papers, 9 SV-Comp Competition Papers. The papers are organized in topical sections as follows: Part I: Game Theory; SMT Verification; Probabilities; Timed Systems; Neural Networks; Analysis of Network Communication. Part II: Verification Techniques (not SMT); Case Studies; Proof Generation/Validation; Tool Papers; Tool Demo Papers; SV-Comp Tool Competition Papers

    Geometric algorithms for algebraic curves and surfaces

    Get PDF
    This work presents novel geometric algorithms dealing with algebraic curves and surfaces of arbitrary degree. These algorithms are exact and complete — they return the mathematically true result for all input instances. Efficiency is achieved by cutting back expensive symbolic computation and favoring combinatorial and adaptive numerical methods instead, without spoiling exactness in the overall result. We present an algorithm for computing planar arrangements induced by real algebraic curves. We show its efficiency both in theory by a complexity analysis, as well as in practice by experimental comparison with related methods. For the latter, our solution has been implemented in the context of the Cgal library. The results show that it constitutes the best current exact implementation available for arrangements as well as for the related problem of computing the topology of one algebraic curve. The algorithm is also applied to related problems, such as arrangements of rotated curves, and arrangments embedded on a parameterized surface. In R3, we propose a new method to compute an isotopic triangulation of an algebraic surface. This triangulation is based on a stratification of the surface, which reveals topological and geometric information. Our implementation is the first for this problem that makes consequent use of numerical methods, and still yields the exact topology of the surface.Diese Arbeit stellt neue Algorithmen für algebraische Kurven und Flächen von beliebigem Grad vor. Diese Algorithmen liefern für alle Eingaben das mathematisch korrekte Ergebnis. Wir erreichen Effizienz, indem wir aufwendige symbolische Berechnungen weitesgehend vermeiden, und stattdessen kombinatorische und adaptive numerische Methoden einsetzen, ohne die Exaktheit des Resultats zu zerstören. Der Hauptbeitrag ist ein Algorithmus zur Berechnung von planaren Arrangements, die durch reelle algebraische Kurven induziert sind. Wir weisen die Effizienz des Verfahrens sowohl theoretisch durch eine Komplexitätsanalyse, als auch praktisch durch experimentelle Vergleiche nach. Dazu haben wir unser Verfahren im Rahmen der Softwarebibliothek Cgal implementiert. Die Resultate belegen, dass wir die zur Zeit beste verfügbare exakte Software bereitstellen. Der Algorithmus wird zur Arrangementberechnung rotierter Kurven, oder für Arrangements auf parametrisierten Oberflächen eingesetzt. Im R3 geben wir ein neues Verfahren zur Berechnung einer isotopen Triangulierung einer algebraischen Oberfläche an. Diese Triangulierung basiert auf einer Stratifizierung der Oberfläche, die topologische und geometrische Informationen berechnet. Unsere Implementierung ist die erste für dieses Problem, welche numerische Methoden konsequent einsetzt, und dennoch die exakte Topologie der Oberfläche liefert

    High-dimensional polytopes defined by oracles: algorithms, computations and applications

    Get PDF
    Η επεξεργασία και ανάλυση γεωμετρικών δεδομένων σε υψηλές διαστάσεις διαδραματίζει ένα θεμελιώδη ρόλο σε διάφορους κλάδους της επιστήμης και της μηχανικής. Τις τελευταίες δεκαετίες έχουν αναπτυχθεί πολλοί επιτυχημένοι γεωμετρικοί αλγόριθμοι σε 2 και 3 διαστάσεις. Ωστόσο, στις περισσότερες περιπτώσεις, οι επιδόσεις τους σε υψηλότερες διαστάσεις δεν είναι ικανοποιητικές. Αυτή η συμπεριφορά είναι ευρέως γνωστή ως κατάρα των μεγάλων διαστάσεων (curse of dimensionality). Δυο πλαίσια λύσης που έχουν υιοθετηθεί για να ξεπεραστεί αυτή η δυσκολία είναι η εκμετάλλευση της ειδικής δομής των δεδομένων, όπως σε περιπτώσεις αραιών (sparse) δεδομένων ή στην περίπτωση που τα δεδομένα βρίσκονται σε χώρο χαμηλότερης διάστασης, και ο σχεδιασμός προσεγγιστικών αλγορίθμων. Στη διατριβή αυτή μελετάμε προβλήματα μέσα σε αυτά τα πλαίσια. Το κύριο ερευνητικό πεδίο της παρούσας εργασίας είναι η διακριτή και υπολογιστικής γεωμετρία και οι σχέσεις της με τους κλάδους της επιστήμης των υπολογιστών και τα εφαρμοσμένα μαθηματικά, όπως είναι η θεωρία πολυτόπων, οι υλοποιήσεις αλγορίθμων, οι πιθανοθεωρητικοί γεωμετρικοί αλγόριθμοι, η υπολογιστική αλγεβρική γεωμετρία και η βελτιστοποίηση. Τα θεμελιώδη γεωμετρικά αντικείμενα της μελέτης μας είναι τα πολύτοπα, και οι βασικές τους ιδιότητες είναι η κυρτότητα και ότι ορίζονται από ένα μαντείο (oracle) σε ένα χώρο υψηλής διάστασης. Η επεξεργασία και ανάλυση γεωμετρικών δεδομένων σε υψηλές διαστάσεις διαδραματίζει ένα θεμελιώδη ρόλο σε διάφορους κλάδους της επιστήμης και της μηχανικής. Τις τελευταίες δεκαετίες έχουν αναπτυχθεί πολλοί επιτυχημένοι γεωμετρικοί αλγόριθμοι σε 2 και 3 διαστάσεις. Ωστόσο, στις περισσότερες περιπτώσεις, οι επιδόσεις τους σε υψηλότερες διαστάσεις δεν είναι ικανοποιητικές. Δυο πλαίσια λύσης που έχουν υιοθετηθεί για να ξεπεραστεί αυτή η δυσκολία είναι η εκμετάλλευση της ειδικής δομής των δεδομένων, όπως σε περιπτώσεις αραιών (sparse) δεδομένων ή στην περίπτωση που τα δεδομένα βρίσκονται σε χώρο χαμηλότερης διάστασης, και ο σχεδιασμός προσεγγιστικών αλγορίθμων. Το κύριο ερευνητικό πεδίο της παρούσας εργασίας είναι η διακριτή και υπολογιστικής γεωμετρία και οι σχέσεις της με τους κλάδους της επιστήμης των υπολογιστών και τα εφαρμοσμένα μαθηματικά. Η συμβολή αυτής της διατριβής είναι τριπλή. Πρώτον, στο σχεδιασμό και την ανάλυση των γεωμετρικών αλγορίθμων για προβλήματα σε μεγάλες διαστάσεις. Δεύτερον, θεωρητικά αποτελέσματα σχετικά με το συνδυαστικό χαρακτηρισμό βασικών οικογενειών πολυτόπων. Τρίτον, η εφαρμογή και πειραματική ανάλυση των προτεινόμενων αλγορίθμων και μεθόδων. Η ανάπτυξη λογισμικού ανοιχτού κώδικα, που είναι διαθέσιμο στο κοινό και βασίζεται και επεκτείνει διαδεδομένες γεωμετρικές και αλγεβρικές βιβλιοθήκες λογισμικού, όπως η CGAL και το polymake.The processing and analysis of high dimensional geometric data plays a fundamental role in disciplines of science and engineering. The last decades many successful geometric algorithms has been developed in 2 and 3 dimensions. However, in most cases their performance in higher dimensions is poor. This behavior is commonly called the curse of dimensionality. A solution framework adopted for the healing of the curse of dimensionality is the exploitation of the special structure of the data, such as sparsity or low intrinsic dimension and the design of approximation algorithms. The main research area of this thesis is discrete and computational geometry and its connections to branches of computer science and applied mathematics. The contribution of this thesis is threefold. First, the design and analysis of geometric algorithms for problems concerning high-dimensional, convex polytopes, such as convex hull and volume computation and their applications to computational algebraic geometry and optimization. Second, the establishment of combinatorial characterization results for essential polytope families. Third, the implementation and experimental analysis of the proposed algorithms and methods. The developed software is opensource, publicly available and builds on and extends state-of-the-art geometric and algebraic software libraries such as CGAL and polymake
    corecore