Faster Geometric Algorithms via Dynamic Determinant Computation
Faster Geometric Algorithms via
Dynamic Determinant Computation
Vissarion Fisikopoulos
joint work with L. Pe˜naranda (now IMPA, Rio de Janeiro)
Department of Informatics, University of Athens, Greece
ESA, Ljubljana, 14.Sep.2012
V.Fisikopoulos | ESA’12 1 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation
Geometric algorithms and predicates
Setting
geometric algorithms → sequence of geometric predicates
many geometric predicates → determinants
Hi-dim: as dimension grows predicates become more expensive
V.Fisikopoulos | ESA’12 2 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation
Geometric algorithms and predicates
Setting
geometric algorithms → sequence of geometric predicates
many geometric predicates → determinants
Hi-dim: as dimension grows predicates become more expensive
Examples
Orientation: Does c
lie on, left or right
of ab?
ax ay 1
bx by 1
cx cy 1
0
a
b
c
V.Fisikopoulos | ESA’12 2 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation
Geometric algorithms and predicates
Setting
geometric algorithms → sequence of geometric predicates
many geometric predicates → determinants
Hi-dim: as dimension grows predicates become more expensive
Examples
inCircle: Does d lie
on, inside or outside
of abc?
ax ay a2
x + a2
y 1
bx by b2
x + b2
y 1
cx cy c2
x + c2
y 1
dx dy d2
x + d2
y 1
0
a
b
c
d
V.Fisikopoulos | ESA’12 2 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work
Outline
1 Motivation and existing work
2 Dynamic determinant computation
3 Geometric algorithms: convex hull
4 Implementation - experiments
V.Fisikopoulos | ESA’12 3 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work
Outline
1 Motivation and existing work
2 Dynamic determinant computation
3 Geometric algorithms: convex hull
4 Implementation - experiments
V.Fisikopoulos | ESA’12 4 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work
Motivation
Algorithms for resultant polytopes [Emiris,F,Konaxis,Pe˜naranda SoCG’12]
[YuJensen’12] (discriminant polytopes [Emiris, F, Dickenstein])
Respol: compute resultant, discriminant polytopes up to dim. 6
4-d resultant polytope
V.Fisikopoulos | ESA’12 5 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work
Motivation
Algorithms for resultant polytopes [Emiris,F,Konaxis,Pe˜naranda SoCG’12]
[YuJensen’12] (discriminant polytopes [Emiris, F, Dickenstein])
Respol: compute resultant, discriminant polytopes up to dim. 6
Counting lattice points in polyhedra [Barvinock’99] [DeLoera et.al’04],
Integer convex optimization [Gr¨otschel,Lov´asz,Schrijver’88]
4-d resultant polytope
V.Fisikopoulos | ESA’12 5 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work
Motivation
Algorithms for resultant polytopes [Emiris,F,Konaxis,Pe˜naranda SoCG’12]
[YuJensen’12] (discriminant polytopes [Emiris, F, Dickenstein])
Respol: compute resultant, discriminant polytopes up to dim. 6
Counting lattice points in polyhedra [Barvinock’99] [DeLoera et.al’04],
Integer convex optimization [Gr¨otschel,Lov´asz,Schrijver’88]
4-d resultant polytope
Focusing on . . .
Hi-dim CompGeom (3 < d < 10)
Computation over the integers
V.Fisikopoulos | ESA’12 5 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work
Existing work
Determinant: exact computation
Given matrix A ⊆ Rd×d
Theory: State-of-the-art O(dω), ω ∼ 2.37 [CoppersmithWinograd90]
Practice: Gaussian elimination, O(d3)
V.Fisikopoulos | ESA’12 6 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work
Existing work
Determinant: exact computation
Given matrix A ⊆ Rd×d
Theory: State-of-the-art O(dω), ω ∼ 2.37 [CoppersmithWinograd90]
Practice: Gaussian elimination, O(d3)
Division-free determinant algorithms
Laplace (cofactor) expansion, O(d!)
[Rote01], O(d4)
[Bird11], O(dω+1)
V.Fisikopoulos | ESA’12 6 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work
Existing work
Determinant: exact computation
Given matrix A ⊆ Rd×d
Theory: State-of-the-art O(dω), ω ∼ 2.37 [CoppersmithWinograd90]
Practice: Gaussian elimination, O(d3)
Division-free determinant algorithms
Laplace (cofactor) expansion, O(d!)
[Rote01], O(d4)
[Bird11], O(dω+1)
Dynamic determinant computation
Dynamic transitive closure in graphs [Sankowski FOCS’04]
V.Fisikopoulos | ESA’12 6 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation
Outline
1 Motivation and existing work
2 Dynamic determinant computation
3 Geometric algorithms: convex hull
4 Implementation - experiments
V.Fisikopoulos | ESA’12 7 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation
Dynamic Determinant Computations
One-column update problem
Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of
A, (A)i, is replaced by u ⊆ Rd.
V.Fisikopoulos | ESA’12 8 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation
Dynamic Determinant Computations
One-column update problem
Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of
A, (A)i, is replaced by u ⊆ Rd.
Solution: Sherman-Morrison formula (1950)
A −1
= A−1
−
(A−1(u − (A)i)) (eT
i A−1)
1 + eT
i A−1(u − (A)i)
det(A ) = (1 + eT
i A−1
(u − (A)i)det(A)
Only vector×vector, vector×matrix → Complexity: O(d2)
Algorithm: dyn inv
V.Fisikopoulos | ESA’12 8 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation
Dynamic Determinant Computations
One-column update problem
Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of
A, (A)i, is replaced by u ⊆ Rd.
Variant Sherman-Morrison formulas
Q: What happens if we work over the integers?
V.Fisikopoulos | ESA’12 8 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation
Dynamic Determinant Computations
One-column update problem
Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of
A, (A)i, is replaced by u ⊆ Rd.
Variant Sherman-Morrison formulas
Q: What happens if we work over the integers?
A: Use the adjoint of A (Aadj) → exact divisions
V.Fisikopoulos | ESA’12 8 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation
Dynamic Determinant Computations
One-column update problem
Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of
A, (A)i, is replaced by u ⊆ Rd.
Variant Sherman-Morrison formulas
Q: What happens if we work over the integers?
A: Use the adjoint of A (Aadj) → exact divisions
Complexity: O(d2) Algorithm: dyn adj
V.Fisikopoulos | ESA’12 8 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
Outline
1 Motivation and existing work
2 Dynamic determinant computation
3 Geometric algorithms: convex hull
4 Implementation - experiments
V.Fisikopoulos | ESA’12 9 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Example
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem
Definition
The convex hull of A ⊆ Rd is the smallest convex set containing A.
Incremental convex hull - Beneath-and-Beyond
connect each outer point to the
visible segments
visibility test = orientation test
Similar problems: Delaunay, regular triangulations, point-location
V.Fisikopoulos | ESA’12 10 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem: REVISITED
convex hull → sequence of similar orientation predicates
take advantage of computations done in previous steps
V.Fisikopoulos | ESA’12 11 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem: REVISITED
convex hull → sequence of similar orientation predicates
take advantage of computations done in previous steps
Incremental convex hull construction → 1-column updates
p2 p5
p2 p4 p5
1 1 1
A =
p1
p3
p4
Orientation(p2, p4, p5) = det(A)
V.Fisikopoulos | ESA’12 11 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem: REVISITED
convex hull → sequence of similar orientation predicates
take advantage of computations done in previous steps
Incremental convex hull construction → 1-column updates
p2 p5
p6 p4 p5
1 1 1
A =
p1
p3
p4
p6
Orientation(p6, p4, p5) = det(A ) in O(d2)
V.Fisikopoulos | ESA’12 11 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
The convex hull problem: REVISITED
convex hull → sequence of similar orientation predicates
take advantage of computations done in previous steps
Incremental convex hull construction → 1-column updates
p2 p5
p6 p4 p5
1 1 1
A =
p1
p3
p4
p6
Orientation(p6, p4, p5) = det(A ) in O(d2)
Store det(A), A−1 + update det(A ), A −1 (Sherman-Morrison)
V.Fisikopoulos | ESA’12 11 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull
Dynamic determinants in geometric algorithms
Given A ⊆ Rd, n = |A| and t = the number of cells
Theorem
Orientation predicates in increm. convex hull: O(d2) (space: O(d2t))
Proof: update det(A ), A −1
Corollary
Orientation predicates involved in point-location: O(d) (space: O(d2t))
Proof: query point never enters data-set → update only det(A )
Corollary
Incremental convex hull and volume comput.: O(dω+1nt) → O(d3nt)
V.Fisikopoulos | ESA’12 12 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Outline
1 Motivation and existing work
2 Dynamic determinant computation
3 Geometric algorithms: convex hull
4 Implementation - experiments
V.Fisikopoulos | ESA’12 13 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Determinant implementation
Dynamic determinant computation
C++, GNU Multiple Precision arithmetic library (GMP)
Implement dyn inv & dyn adj
Exact determinant computation software
LU decomposition (CGAL)
optimized LU decomposition (Eigen)
asymptotically optimal algorithms (LinBox)
Maple’s default determinant algorithm (Maple 14)
Bird’s algorithm (our implementation)
Laplace (cofactor) expansion (our implementation)
V.Fisikopoulos | ESA’12 14 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Determinant experiments
1-column updates in A ⊆ Qd×d (uniform distr. rational coefficients)
d Bird CGAL Eigen Laplace Maple dyn inv dyn adj
3 .013 .021 .014 .008 .058 .046 .023
4 .046 .050 .033 .020 .105 .108 .042
5 .122 .110 .072 .056 .288 .213 .067
6 .268 .225 .137 .141 .597 .376 .102
7 .522 .412 .243 .993 .824 .613 .148
8 .930 .710 .390 – 1.176 .920 .210
9 1.520 1.140 .630 – 1.732 1.330 .310
10 2.380 1.740 .940 – 2.380 1.830 .430
spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux
V.Fisikopoulos | ESA’12 15 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Determinant experiments
1-column updates in A ⊆ Qd×d (uniform distr. integer coefficients)
d Bird CGAL Eigen Laplace Linbox Maple dyn inv dyn adj
3 .002 .021 .013 .002 .872 .045 .030 .008
4 .012 .041 .028 .005 1.010 .094 .058 .015
5 .032 .080 .048 .016 1.103 .214 .119 .023
6 .072 .155 .092 .040 1.232 .602 .197 .033
7 .138 .253 .149 .277 1.435 .716 .322 .046
8 .244 .439 .247 – 1.626 .791 .486 .068
9 .408 .689 .376 – 1.862 .906 .700 .085
10 .646 1.031 .568 – 2.160 1.014 .982 .107
11 .956 1.485 .800 – 10.127 1.113 1.291 .133
12 1.379 2.091 1.139 – 13.101 1.280 1.731 .160
13 1.957 2.779 1.485 – – 1.399 2.078 .184
spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux
V.Fisikopoulos | ESA’12 15 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Convex hull implementation
Hashed dynamic determinants
dyn inv & dyn adj + hash table (dets & matrices)
plug into geometric software → geometric predicates
Convex hull software
randomized incremental (triang/CGAL)
beneath-and-beyond (bb) (polymake)
double description method (cdd)
gift-wrapping with reverse search (lrs)
triang/CGAL + hashed dynamic determinants = hdch z or hdch q
V.Fisikopoulos | ESA’12 16 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Convex hull experiments
6-dim points, integer coeffs uniformly distributed inside a 6-ball
0
10
20
30
40
50
60
70
100 150 200 250 300 350 400 450 500
Time(sec)
Number of input points
hdch_q
hdch_z
triang
lrs
bb
cdd
hdch q (hdch z)
rational (integer)
arithmetic
drawback: memory
consumption
500 6D points
triang 0.1GB
hdch z 2.8GB
hdch q 3.8GB
spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux
V.Fisikopoulos | ESA’12 17 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Point location experiments
triangulation of A ⊆ Zd
points uniformly distibuted on a d-ball surface
1K and 1000K query points uniformly distibuted on a d-cube
d |A| preprocess ds mem # cells query time (sec)
time (sec) (MB) triang 1K 1000K
hdch z 8 120 45.20 6913 319438 0.41 392.55
triang 8 120 156.55 134 319438 14.42 14012.60
hdch z 9 70 45.69 6826 265874 0.28 276.90
triang 9 70 176.62 143 265874 13.80 13520.43
hdch z 10 50 43.45 6355 207190 0.27 217.45
triang 10 50 188.68 127 207190 14.40 14453.46
hdch z 11 39 38.82 5964 148846 0.18 189.56
triang 11 39 181.35 122 148846 14.41 14828.67
up to 78 times faster using up to 50 times more memory
spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux
V.Fisikopoulos | ESA’12 18 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Conclusions and Future work
Orientation predicates. CH: O(d2), point location: O(d)
Efficient (division free) dynamic determinant implementation
More efficient CH implementation, 78× speed-up in point location
The code: http://hdch.sourceforge.net
V.Fisikopoulos | ESA’12 19 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Conclusions and Future work
Orientation predicates. CH: O(d2), point location: O(d)
Efficient (division free) dynamic determinant implementation
More efficient CH implementation, 78× speed-up in point location
The code: http://hdch.sourceforge.net
Future work
Delaunay triangulations (inSphere predicate)
overcome large memory consumption (hash table: clean periodically)
filtered computations
CGAL submission
V.Fisikopoulos | ESA’12 19 / 19
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments
Conclusions and Future work
Orientation predicates. CH: O(d2), point location: O(d)
Efficient (division free) dynamic determinant implementation
More efficient CH implementation, 78× speed-up in point location
The code: http://hdch.sourceforge.net
Future work
Delaunay triangulations (inSphere predicate)
overcome large memory consumption (hash table: clean periodically)
filtered computations
CGAL submission
THANK YOU !!!
V.Fisikopoulos | ESA’12 19 / 19

More Related Content

PDF
Faster Geometric Algorithms via Dynamic Determinant Computation
PDF
2018 IMSM: Semi-analytical BRDF-based Quantification of Light Reflection - MI...
PDF
AP Physics
PDF
Ilya Shkredov – Subsets of Z/pZ with small Wiener norm and arithmetic progres...
PDF
On the Effect of Geometries Simplification on Geo-spatial Link Discovery
PDF
GDRR Opening Workshop - Bayesian Inference for Common Cause Failure Rate Base...
PDF
Queue length estimation on urban corridors
Faster Geometric Algorithms via Dynamic Determinant Computation
2018 IMSM: Semi-analytical BRDF-based Quantification of Light Reflection - MI...
AP Physics
Ilya Shkredov – Subsets of Z/pZ with small Wiener norm and arithmetic progres...
On the Effect of Geometries Simplification on Geo-spatial Link Discovery
GDRR Opening Workshop - Bayesian Inference for Common Cause Failure Rate Base...
Queue length estimation on urban corridors

What's hot (13)

PDF
Presentation of volesti in eRum 2020
PDF
PDF
Numerical inflation: simulation of observational parameters
PDF
Sampling Spectrahedra: Volume Approximation and Optimization
PDF
A Unifying Review of Gaussian Linear Models (Roweis 1999)
PDF
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
PDF
Oracle-based algorithms for high-dimensional polytopes.
PDF
Improving Spatial Codification in Semantic Segmentation
PDF
RDFS with Attribute Equations via SPARQL Rewriting
PDF
Real-world Applications of Symbolic Regression
PPT
Model Checking Base on Interoplation
PDF
The Origin of Grad-CAM
PDF
Yuki Oyama - Markov assignment for a pedestrian activity-based network design...
Presentation of volesti in eRum 2020
Numerical inflation: simulation of observational parameters
Sampling Spectrahedra: Volume Approximation and Optimization
A Unifying Review of Gaussian Linear Models (Roweis 1999)
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Oracle-based algorithms for high-dimensional polytopes.
Improving Spatial Codification in Semantic Segmentation
RDFS with Attribute Equations via SPARQL Rewriting
Real-world Applications of Symbolic Regression
Model Checking Base on Interoplation
The Origin of Grad-CAM
Yuki Oyama - Markov assignment for a pedestrian activity-based network design...
Ad

Similar to "Faster Geometric Algorithms via Dynamic Determinant Computation." (20)

PPT
Discrete Computaional Geometry
PPT
NETWORKS AND NEW SUBNETTNG TEHCNOQUES IPV4
PPT
budget optimization using gaussian elimination ppt
PDF
Polyhedral computations in computational algebraic geometry and optimization
PDF
An algorithm for computing resultant polytopes
PDF
"An output-sensitive algorithm for computing projections of resultant polytop...
PDF
High-dimensional polytopes defined by oracles: algorithms, computations and a...
PDF
Graph theory discrete mathmatics
PDF
Computational Information Geometry: A quick review (ICMS)
PPT
Shape drawing algs
PDF
High-dimensional polytopes defined by oracles: algorithms, computations and a...
PDF
Relative squared distances to a conic
PDF
Numerical Solution of Linear algebraic Equation
PDF
Conctructing Polytopes via a Vertex Oracle
PDF
Volume and edge skeleton computation in high dimensions
PPTX
Nelder Mead Search Algorithm
PDF
Pattern learning and recognition on statistical manifolds: An information-geo...
PPT
99995320.ppt
PDF
Practical computation of Hecke operators
PPTX
UNIT_I [Autosaved].pptx
Discrete Computaional Geometry
NETWORKS AND NEW SUBNETTNG TEHCNOQUES IPV4
budget optimization using gaussian elimination ppt
Polyhedral computations in computational algebraic geometry and optimization
An algorithm for computing resultant polytopes
"An output-sensitive algorithm for computing projections of resultant polytop...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Graph theory discrete mathmatics
Computational Information Geometry: A quick review (ICMS)
Shape drawing algs
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Relative squared distances to a conic
Numerical Solution of Linear algebraic Equation
Conctructing Polytopes via a Vertex Oracle
Volume and edge skeleton computation in high dimensions
Nelder Mead Search Algorithm
Pattern learning and recognition on statistical manifolds: An information-geo...
99995320.ppt
Practical computation of Hecke operators
UNIT_I [Autosaved].pptx
Ad

More from Vissarion Fisikopoulos (18)

PDF
Efficient sampling of constraint spaces in practice
PDF
volesti: sampling efficiently from high dimensional distributions
PDF
High-dimensional sampling and volume computation
PDF
"Mesh of Periodic Minimal Surfaces in CGAL."
PDF
"Regular triangularions and resultant polytopes."
PDF
"Exact and approximate algorithms for resultant polytopes."
PDF
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
PDF
"Combinatorics of 4-dimensional resultant polytopes"
PDF
Working with spatial trajectories in Boost Geometry
PDF
High-dimensional sampling and volume computation
PDF
Enumeration of 2-level polytopes
PDF
The Newton polytope of the sparse resultant
PDF
Efficient Random-Walk Methods forApproximating Polytope Volume
PDF
A new practical algorithm for volume estimation using annealing of convex bodies
PDF
Volume computation and applications
PDF
Geodesic algorithms: an experimental study
PDF
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
PDF
Combinatorics of 4-dimensional Resultant Polytopes
Efficient sampling of constraint spaces in practice
volesti: sampling efficiently from high dimensional distributions
High-dimensional sampling and volume computation
"Mesh of Periodic Minimal Surfaces in CGAL."
"Regular triangularions and resultant polytopes."
"Exact and approximate algorithms for resultant polytopes."
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
"Combinatorics of 4-dimensional resultant polytopes"
Working with spatial trajectories in Boost Geometry
High-dimensional sampling and volume computation
Enumeration of 2-level polytopes
The Newton polytope of the sparse resultant
Efficient Random-Walk Methods forApproximating Polytope Volume
A new practical algorithm for volume estimation using annealing of convex bodies
Volume computation and applications
Geodesic algorithms: an experimental study
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
Combinatorics of 4-dimensional Resultant Polytopes

Recently uploaded (20)

PPTX
Platelet disorders - thrombocytopenia.pptx
PDF
Sustainable Biology- Scopes, Principles of sustainiability, Sustainable Resou...
PDF
final prehhhejjehehhehehehebesentation.pdf
PDF
No dilute core produced in simulations of giant impacts on to Jupiter
PPTX
The Female Reproductive System - Grade 10 ppt
PPTX
Heart Lung Preparation_Pressure_Volume.pptx
PPT
ecg for noob ecg interpretation ecg recall
PPT
Enhancing Laboratory Quality Through ISO 15189 Compliance
PPTX
diabetes and its complications nephropathy neuropathy
PPTX
limit test definition and all limit tests
PPT
Chapter 6 Introductory course Biology Camp
PDF
Sujay Rao Mandavilli IJISRT25AUG764 context based approaches to population ma...
PDF
Integrative Oncology: Merging Conventional and Alternative Approaches (www.k...
PDF
CuO Nps photocatalysts 15156456551564161
PPTX
LOGA.,M ScBIOCHEMISTRY.,DMLT.,DYMH.,DA.,PGDCA.,//*hplc chromatography pptx*//
PPTX
Cells and Organs of the Immune System (Unit-2) - Majesh Sir.pptx
PPT
Biochemestry- PPT ON Protein,Nitrogenous constituents of Urine, Blood, their ...
PDF
Geothermal Energy: Unlocking the Earth’s Heat for Power (www.kiu.ac.ug)
PDF
The Future of Telehealth: Engineering New Platforms for Care (www.kiu.ac.ug)
PDF
Telemedicine: Transforming Healthcare Delivery in Remote Areas (www.kiu.ac.ug)
Platelet disorders - thrombocytopenia.pptx
Sustainable Biology- Scopes, Principles of sustainiability, Sustainable Resou...
final prehhhejjehehhehehehebesentation.pdf
No dilute core produced in simulations of giant impacts on to Jupiter
The Female Reproductive System - Grade 10 ppt
Heart Lung Preparation_Pressure_Volume.pptx
ecg for noob ecg interpretation ecg recall
Enhancing Laboratory Quality Through ISO 15189 Compliance
diabetes and its complications nephropathy neuropathy
limit test definition and all limit tests
Chapter 6 Introductory course Biology Camp
Sujay Rao Mandavilli IJISRT25AUG764 context based approaches to population ma...
Integrative Oncology: Merging Conventional and Alternative Approaches (www.k...
CuO Nps photocatalysts 15156456551564161
LOGA.,M ScBIOCHEMISTRY.,DMLT.,DYMH.,DA.,PGDCA.,//*hplc chromatography pptx*//
Cells and Organs of the Immune System (Unit-2) - Majesh Sir.pptx
Biochemestry- PPT ON Protein,Nitrogenous constituents of Urine, Blood, their ...
Geothermal Energy: Unlocking the Earth’s Heat for Power (www.kiu.ac.ug)
The Future of Telehealth: Engineering New Platforms for Care (www.kiu.ac.ug)
Telemedicine: Transforming Healthcare Delivery in Remote Areas (www.kiu.ac.ug)

"Faster Geometric Algorithms via Dynamic Determinant Computation."

  • 1. Faster Geometric Algorithms via Dynamic Determinant Computation Faster Geometric Algorithms via Dynamic Determinant Computation Vissarion Fisikopoulos joint work with L. Pe˜naranda (now IMPA, Rio de Janeiro) Department of Informatics, University of Athens, Greece ESA, Ljubljana, 14.Sep.2012 V.Fisikopoulos | ESA’12 1 / 19
  • 2. Faster Geometric Algorithms via Dynamic Determinant Computation Geometric algorithms and predicates Setting geometric algorithms → sequence of geometric predicates many geometric predicates → determinants Hi-dim: as dimension grows predicates become more expensive V.Fisikopoulos | ESA’12 2 / 19
  • 3. Faster Geometric Algorithms via Dynamic Determinant Computation Geometric algorithms and predicates Setting geometric algorithms → sequence of geometric predicates many geometric predicates → determinants Hi-dim: as dimension grows predicates become more expensive Examples Orientation: Does c lie on, left or right of ab? ax ay 1 bx by 1 cx cy 1 0 a b c V.Fisikopoulos | ESA’12 2 / 19
  • 4. Faster Geometric Algorithms via Dynamic Determinant Computation Geometric algorithms and predicates Setting geometric algorithms → sequence of geometric predicates many geometric predicates → determinants Hi-dim: as dimension grows predicates become more expensive Examples inCircle: Does d lie on, inside or outside of abc? ax ay a2 x + a2 y 1 bx by b2 x + b2 y 1 cx cy c2 x + c2 y 1 dx dy d2 x + d2 y 1 0 a b c d V.Fisikopoulos | ESA’12 2 / 19
  • 5. Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work Outline 1 Motivation and existing work 2 Dynamic determinant computation 3 Geometric algorithms: convex hull 4 Implementation - experiments V.Fisikopoulos | ESA’12 3 / 19
  • 6. Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work Outline 1 Motivation and existing work 2 Dynamic determinant computation 3 Geometric algorithms: convex hull 4 Implementation - experiments V.Fisikopoulos | ESA’12 4 / 19
  • 7. Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work Motivation Algorithms for resultant polytopes [Emiris,F,Konaxis,Pe˜naranda SoCG’12] [YuJensen’12] (discriminant polytopes [Emiris, F, Dickenstein]) Respol: compute resultant, discriminant polytopes up to dim. 6 4-d resultant polytope V.Fisikopoulos | ESA’12 5 / 19
  • 8. Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work Motivation Algorithms for resultant polytopes [Emiris,F,Konaxis,Pe˜naranda SoCG’12] [YuJensen’12] (discriminant polytopes [Emiris, F, Dickenstein]) Respol: compute resultant, discriminant polytopes up to dim. 6 Counting lattice points in polyhedra [Barvinock’99] [DeLoera et.al’04], Integer convex optimization [Gr¨otschel,Lov´asz,Schrijver’88] 4-d resultant polytope V.Fisikopoulos | ESA’12 5 / 19
  • 9. Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work Motivation Algorithms for resultant polytopes [Emiris,F,Konaxis,Pe˜naranda SoCG’12] [YuJensen’12] (discriminant polytopes [Emiris, F, Dickenstein]) Respol: compute resultant, discriminant polytopes up to dim. 6 Counting lattice points in polyhedra [Barvinock’99] [DeLoera et.al’04], Integer convex optimization [Gr¨otschel,Lov´asz,Schrijver’88] 4-d resultant polytope Focusing on . . . Hi-dim CompGeom (3 < d < 10) Computation over the integers V.Fisikopoulos | ESA’12 5 / 19
  • 10. Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work Existing work Determinant: exact computation Given matrix A ⊆ Rd×d Theory: State-of-the-art O(dω), ω ∼ 2.37 [CoppersmithWinograd90] Practice: Gaussian elimination, O(d3) V.Fisikopoulos | ESA’12 6 / 19
  • 11. Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work Existing work Determinant: exact computation Given matrix A ⊆ Rd×d Theory: State-of-the-art O(dω), ω ∼ 2.37 [CoppersmithWinograd90] Practice: Gaussian elimination, O(d3) Division-free determinant algorithms Laplace (cofactor) expansion, O(d!) [Rote01], O(d4) [Bird11], O(dω+1) V.Fisikopoulos | ESA’12 6 / 19
  • 12. Faster Geometric Algorithms via Dynamic Determinant Computation | Motivation and existing work Existing work Determinant: exact computation Given matrix A ⊆ Rd×d Theory: State-of-the-art O(dω), ω ∼ 2.37 [CoppersmithWinograd90] Practice: Gaussian elimination, O(d3) Division-free determinant algorithms Laplace (cofactor) expansion, O(d!) [Rote01], O(d4) [Bird11], O(dω+1) Dynamic determinant computation Dynamic transitive closure in graphs [Sankowski FOCS’04] V.Fisikopoulos | ESA’12 6 / 19
  • 13. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Outline 1 Motivation and existing work 2 Dynamic determinant computation 3 Geometric algorithms: convex hull 4 Implementation - experiments V.Fisikopoulos | ESA’12 7 / 19
  • 14. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Dynamic Determinant Computations One-column update problem Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of A, (A)i, is replaced by u ⊆ Rd. V.Fisikopoulos | ESA’12 8 / 19
  • 15. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Dynamic Determinant Computations One-column update problem Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of A, (A)i, is replaced by u ⊆ Rd. Solution: Sherman-Morrison formula (1950) A −1 = A−1 − (A−1(u − (A)i)) (eT i A−1) 1 + eT i A−1(u − (A)i) det(A ) = (1 + eT i A−1 (u − (A)i)det(A) Only vector×vector, vector×matrix → Complexity: O(d2) Algorithm: dyn inv V.Fisikopoulos | ESA’12 8 / 19
  • 16. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Dynamic Determinant Computations One-column update problem Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of A, (A)i, is replaced by u ⊆ Rd. Variant Sherman-Morrison formulas Q: What happens if we work over the integers? V.Fisikopoulos | ESA’12 8 / 19
  • 17. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Dynamic Determinant Computations One-column update problem Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of A, (A)i, is replaced by u ⊆ Rd. Variant Sherman-Morrison formulas Q: What happens if we work over the integers? A: Use the adjoint of A (Aadj) → exact divisions V.Fisikopoulos | ESA’12 8 / 19
  • 18. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Dynamic Determinant Computations One-column update problem Given matrix A ⊆ Rd×d, answer queries for det(A) when i-th column of A, (A)i, is replaced by u ⊆ Rd. Variant Sherman-Morrison formulas Q: What happens if we work over the integers? A: Use the adjoint of A (Aadj) → exact divisions Complexity: O(d2) Algorithm: dyn adj V.Fisikopoulos | ESA’12 8 / 19
  • 19. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull Outline 1 Motivation and existing work 2 Dynamic determinant computation 3 Geometric algorithms: convex hull 4 Implementation - experiments V.Fisikopoulos | ESA’12 9 / 19
  • 20. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Example V.Fisikopoulos | ESA’12 10 / 19
  • 21. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 22. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 23. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 24. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 25. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 26. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 27. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 28. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 29. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 30. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 10 / 19
  • 31. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem Definition The convex hull of A ⊆ Rd is the smallest convex set containing A. Incremental convex hull - Beneath-and-Beyond connect each outer point to the visible segments visibility test = orientation test Similar problems: Delaunay, regular triangulations, point-location V.Fisikopoulos | ESA’12 10 / 19
  • 32. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem: REVISITED convex hull → sequence of similar orientation predicates take advantage of computations done in previous steps V.Fisikopoulos | ESA’12 11 / 19
  • 33. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem: REVISITED convex hull → sequence of similar orientation predicates take advantage of computations done in previous steps Incremental convex hull construction → 1-column updates p2 p5 p2 p4 p5 1 1 1 A = p1 p3 p4 Orientation(p2, p4, p5) = det(A) V.Fisikopoulos | ESA’12 11 / 19
  • 34. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem: REVISITED convex hull → sequence of similar orientation predicates take advantage of computations done in previous steps Incremental convex hull construction → 1-column updates p2 p5 p6 p4 p5 1 1 1 A = p1 p3 p4 p6 Orientation(p6, p4, p5) = det(A ) in O(d2) V.Fisikopoulos | ESA’12 11 / 19
  • 35. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull The convex hull problem: REVISITED convex hull → sequence of similar orientation predicates take advantage of computations done in previous steps Incremental convex hull construction → 1-column updates p2 p5 p6 p4 p5 1 1 1 A = p1 p3 p4 p6 Orientation(p6, p4, p5) = det(A ) in O(d2) Store det(A), A−1 + update det(A ), A −1 (Sherman-Morrison) V.Fisikopoulos | ESA’12 11 / 19
  • 36. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull Dynamic determinants in geometric algorithms Given A ⊆ Rd, n = |A| and t = the number of cells Theorem Orientation predicates in increm. convex hull: O(d2) (space: O(d2t)) Proof: update det(A ), A −1 Corollary Orientation predicates involved in point-location: O(d) (space: O(d2t)) Proof: query point never enters data-set → update only det(A ) Corollary Incremental convex hull and volume comput.: O(dω+1nt) → O(d3nt) V.Fisikopoulos | ESA’12 12 / 19
  • 37. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Outline 1 Motivation and existing work 2 Dynamic determinant computation 3 Geometric algorithms: convex hull 4 Implementation - experiments V.Fisikopoulos | ESA’12 13 / 19
  • 38. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Determinant implementation Dynamic determinant computation C++, GNU Multiple Precision arithmetic library (GMP) Implement dyn inv & dyn adj Exact determinant computation software LU decomposition (CGAL) optimized LU decomposition (Eigen) asymptotically optimal algorithms (LinBox) Maple’s default determinant algorithm (Maple 14) Bird’s algorithm (our implementation) Laplace (cofactor) expansion (our implementation) V.Fisikopoulos | ESA’12 14 / 19
  • 39. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Determinant experiments 1-column updates in A ⊆ Qd×d (uniform distr. rational coefficients) d Bird CGAL Eigen Laplace Maple dyn inv dyn adj 3 .013 .021 .014 .008 .058 .046 .023 4 .046 .050 .033 .020 .105 .108 .042 5 .122 .110 .072 .056 .288 .213 .067 6 .268 .225 .137 .141 .597 .376 .102 7 .522 .412 .243 .993 .824 .613 .148 8 .930 .710 .390 – 1.176 .920 .210 9 1.520 1.140 .630 – 1.732 1.330 .310 10 2.380 1.740 .940 – 2.380 1.830 .430 spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux V.Fisikopoulos | ESA’12 15 / 19
  • 40. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Determinant experiments 1-column updates in A ⊆ Qd×d (uniform distr. integer coefficients) d Bird CGAL Eigen Laplace Linbox Maple dyn inv dyn adj 3 .002 .021 .013 .002 .872 .045 .030 .008 4 .012 .041 .028 .005 1.010 .094 .058 .015 5 .032 .080 .048 .016 1.103 .214 .119 .023 6 .072 .155 .092 .040 1.232 .602 .197 .033 7 .138 .253 .149 .277 1.435 .716 .322 .046 8 .244 .439 .247 – 1.626 .791 .486 .068 9 .408 .689 .376 – 1.862 .906 .700 .085 10 .646 1.031 .568 – 2.160 1.014 .982 .107 11 .956 1.485 .800 – 10.127 1.113 1.291 .133 12 1.379 2.091 1.139 – 13.101 1.280 1.731 .160 13 1.957 2.779 1.485 – – 1.399 2.078 .184 spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux V.Fisikopoulos | ESA’12 15 / 19
  • 41. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Convex hull implementation Hashed dynamic determinants dyn inv & dyn adj + hash table (dets & matrices) plug into geometric software → geometric predicates Convex hull software randomized incremental (triang/CGAL) beneath-and-beyond (bb) (polymake) double description method (cdd) gift-wrapping with reverse search (lrs) triang/CGAL + hashed dynamic determinants = hdch z or hdch q V.Fisikopoulos | ESA’12 16 / 19
  • 42. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Convex hull experiments 6-dim points, integer coeffs uniformly distributed inside a 6-ball 0 10 20 30 40 50 60 70 100 150 200 250 300 350 400 450 500 Time(sec) Number of input points hdch_q hdch_z triang lrs bb cdd hdch q (hdch z) rational (integer) arithmetic drawback: memory consumption 500 6D points triang 0.1GB hdch z 2.8GB hdch q 3.8GB spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux V.Fisikopoulos | ESA’12 17 / 19
  • 43. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Point location experiments triangulation of A ⊆ Zd points uniformly distibuted on a d-ball surface 1K and 1000K query points uniformly distibuted on a d-cube d |A| preprocess ds mem # cells query time (sec) time (sec) (MB) triang 1K 1000K hdch z 8 120 45.20 6913 319438 0.41 392.55 triang 8 120 156.55 134 319438 14.42 14012.60 hdch z 9 70 45.69 6826 265874 0.28 276.90 triang 9 70 176.62 143 265874 13.80 13520.43 hdch z 10 50 43.45 6355 207190 0.27 217.45 triang 10 50 188.68 127 207190 14.40 14453.46 hdch z 11 39 38.82 5964 148846 0.18 189.56 triang 11 39 181.35 122 148846 14.41 14828.67 up to 78 times faster using up to 50 times more memory spec: Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux V.Fisikopoulos | ESA’12 18 / 19
  • 44. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Conclusions and Future work Orientation predicates. CH: O(d2), point location: O(d) Efficient (division free) dynamic determinant implementation More efficient CH implementation, 78× speed-up in point location The code: http://hdch.sourceforge.net V.Fisikopoulos | ESA’12 19 / 19
  • 45. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Conclusions and Future work Orientation predicates. CH: O(d2), point location: O(d) Efficient (division free) dynamic determinant implementation More efficient CH implementation, 78× speed-up in point location The code: http://hdch.sourceforge.net Future work Delaunay triangulations (inSphere predicate) overcome large memory consumption (hash table: clean periodically) filtered computations CGAL submission V.Fisikopoulos | ESA’12 19 / 19
  • 46. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Conclusions and Future work Orientation predicates. CH: O(d2), point location: O(d) Efficient (division free) dynamic determinant implementation More efficient CH implementation, 78× speed-up in point location The code: http://hdch.sourceforge.net Future work Delaunay triangulations (inSphere predicate) overcome large memory consumption (hash table: clean periodically) filtered computations CGAL submission THANK YOU !!! V.Fisikopoulos | ESA’12 19 / 19