SlideShare a Scribd company logo
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

What's hot (13)

PDF
Presentation of volesti in eRum 2020
Apostolos Chalkis
 
PDF
Mapping analysis
Fujitsu Laboratories of Europe
 
PDF
Numerical inflation: simulation of observational parameters
Milan Milošević
 
PDF
Sampling Spectrahedra: Volume Approximation and Optimization
Apostolos Chalkis
 
PDF
A Unifying Review of Gaussian Linear Models (Roweis 1999)
Feynman Liang
 
PDF
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Vissarion Fisikopoulos
 
PDF
Oracle-based algorithms for high-dimensional polytopes.
Vissarion Fisikopoulos
 
PDF
Improving Spatial Codification in Semantic Segmentation
Universitat Politècnica de Catalunya
 
PDF
RDFS with Attribute Equations via SPARQL Rewriting
Stefan Bischof
 
PDF
Real-world Applications of Symbolic Regression
Facultad de Informática UCM
 
PPT
Model Checking Base on Interoplation
leticia2307
 
PDF
The Origin of Grad-CAM
Shintaro Yoshida
 
PDF
Yuki Oyama - Markov assignment for a pedestrian activity-based network design...
Yuki Oyama
 
Presentation of volesti in eRum 2020
Apostolos Chalkis
 
Numerical inflation: simulation of observational parameters
Milan Milošević
 
Sampling Spectrahedra: Volume Approximation and Optimization
Apostolos Chalkis
 
A Unifying Review of Gaussian Linear Models (Roweis 1999)
Feynman Liang
 
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Vissarion Fisikopoulos
 
Oracle-based algorithms for high-dimensional polytopes.
Vissarion Fisikopoulos
 
Improving Spatial Codification in Semantic Segmentation
Universitat Politècnica de Catalunya
 
RDFS with Attribute Equations via SPARQL Rewriting
Stefan Bischof
 
Real-world Applications of Symbolic Regression
Facultad de Informática UCM
 
Model Checking Base on Interoplation
leticia2307
 
The Origin of Grad-CAM
Shintaro Yoshida
 
Yuki Oyama - Markov assignment for a pedestrian activity-based network design...
Yuki Oyama
 

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

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

More from Vissarion Fisikopoulos (18)

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

Recently uploaded (20)

PPTX
Cancer
Vartika
 
PPTX
Single-Cell Multi-Omics in Neurodegeneration p1.pptx
KanakChaudhary10
 
PDF
Investigatory_project Topic:-effect of electrolysis in solar desalination .pdf
shubham997ku
 
PPTX
1-SEAFLOOR-SPREADINGGGGGGGGGGGGGGGGGGGG.pptx
JohnCristoffMendoza
 
PDF
Global Health Initiatives: Lessons from Successful Programs (www.kiu.ac.ug)
publication11
 
PDF
POLISH JOURNAL OF SCIENCE №87 (2025)
POLISH JOURNAL OF SCIENCE
 
PDF
feismo.com-dll-for-science-11-4th-pr_9ffe2eea16c7798a3e81949d38e20447.pdf
RODULFOVPAQUINGAN
 
PPTX
Indian Podophyllum [Autosaved].pptx done
TahirChowdhary1
 
PPTX
Paired Sketching of Distributed User Interfaces:Workflow, Protocol, Software ...
Jean Vanderdonckt
 
PPTX
Chromosomal Aberration (Mutation) and Classification.
Dr-Haseeb Zubair Tagar
 
PPTX
Fake Science: Where it comes from and how to avoid beign part of it
Leonid Schneider
 
PDF
EV REGENERATIVE ACCELERATION INNOVATION SUMMARY PITCH June 13, 2025.pdf
Thane Heins NOBEL PRIZE WINNING ENERGY RESEARCHER
 
PPTX
MEDICINAL CHEMISTRY PROSPECTIVES IN DESIGN OF EGFR INHIBITORS.pptx
40RevathiP
 
PDF
The First Detection of Molecular Activity in the Largest Known Oort Cloud Com...
Sérgio Sacani
 
PDF
The MUSEview of the Sculptor galaxy: survey overview and the planetary nebula...
Sérgio Sacani
 
PPTX
(Normal Mechanism)physiology of labour.pptx
DavidSalman2
 
PDF
Study of Appropriate Information Combination in Image-based Obfuscated Malwar...
takahashi34
 
PDF
Isro (Indian space research organization)
parineetaparineeta23
 
PDF
The Gender Binary & LGBTI People: Religious Myth and Medical Malpractice
Veronica Drantz, PhD
 
PDF
Enzyme Kinetics_Lecture 8.5.2025 Enzymology.pdf
ayeshaalibukhari125
 
Cancer
Vartika
 
Single-Cell Multi-Omics in Neurodegeneration p1.pptx
KanakChaudhary10
 
Investigatory_project Topic:-effect of electrolysis in solar desalination .pdf
shubham997ku
 
1-SEAFLOOR-SPREADINGGGGGGGGGGGGGGGGGGGG.pptx
JohnCristoffMendoza
 
Global Health Initiatives: Lessons from Successful Programs (www.kiu.ac.ug)
publication11
 
POLISH JOURNAL OF SCIENCE №87 (2025)
POLISH JOURNAL OF SCIENCE
 
feismo.com-dll-for-science-11-4th-pr_9ffe2eea16c7798a3e81949d38e20447.pdf
RODULFOVPAQUINGAN
 
Indian Podophyllum [Autosaved].pptx done
TahirChowdhary1
 
Paired Sketching of Distributed User Interfaces:Workflow, Protocol, Software ...
Jean Vanderdonckt
 
Chromosomal Aberration (Mutation) and Classification.
Dr-Haseeb Zubair Tagar
 
Fake Science: Where it comes from and how to avoid beign part of it
Leonid Schneider
 
EV REGENERATIVE ACCELERATION INNOVATION SUMMARY PITCH June 13, 2025.pdf
Thane Heins NOBEL PRIZE WINNING ENERGY RESEARCHER
 
MEDICINAL CHEMISTRY PROSPECTIVES IN DESIGN OF EGFR INHIBITORS.pptx
40RevathiP
 
The First Detection of Molecular Activity in the Largest Known Oort Cloud Com...
Sérgio Sacani
 
The MUSEview of the Sculptor galaxy: survey overview and the planetary nebula...
Sérgio Sacani
 
(Normal Mechanism)physiology of labour.pptx
DavidSalman2
 
Study of Appropriate Information Combination in Image-based Obfuscated Malwar...
takahashi34
 
Isro (Indian space research organization)
parineetaparineeta23
 
The Gender Binary & LGBTI People: Religious Myth and Medical Malpractice
Veronica Drantz, PhD
 
Enzyme Kinetics_Lecture 8.5.2025 Enzymology.pdf
ayeshaalibukhari125
 

"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