SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Faster Geometric Algorithms via Dynamic Determinant Computation

Faster Geometric Algorithms via
Dynamic Determinant Computation
Vissarion Fisikopoulos
joint work with L. Pe˜aranda (now IMPA, Rio de Janeiro)
n

Department of Informatics, University of Athens

ESA, Ljubljana, 12.Sep.2012

V.Fisikopoulos | ESA’12

1 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation

Geometric algorithms and predicates

Setting
geometric algorithms → sequence of geometric predicates
many geometric predicates → determinants
as dimension grows predicates become more expensive

V.Fisikopoulos | ESA’12

2 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation

Geometric algorithms and predicates
Setting
geometric algorithms → sequence of geometric predicates
many geometric predicates → determinants
as dimension grows predicates become more expensive

Examples

b

Orientation: Does c
lie on, left or right
of ab?
ax ay 1
bx by 1
cx cy 1
V.Fisikopoulos | ESA’12

a
0

c
2 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation

Geometric algorithms and predicates
Setting
geometric algorithms → sequence of geometric predicates
many geometric predicates → determinants
as dimension grows predicates become more expensive

Examples
a

inCircle: Does d lie
on, inside or outside
of abc?
ax
bx
cx
dx

ay
by
cy
dy

V.Fisikopoulos | ESA’12

a2 + a2
x
y
b2 + b2
x
y
c2 + c2
x
y
d2 + d2
x
y

b

1
1
1
1

d

0
c

2 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Outline

1 Dynamic determinant computation

2 Geometric algorithms: convex hull

3 Implementation - experiments

V.Fisikopoulos | ESA’12

3 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Outline

1 Dynamic determinant computation

2 Geometric algorithms: convex hull

3 Implementation - experiments

V.Fisikopoulos | ESA’12

4 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Determinant: Exact Computation
Given matrix A ⊆ Rd×d
Theory: State-of-the-art O(dω ), ω ∼ 2.7 [KaltofenVillard05]
Practice: Gaussian elimination, O(d3 )

V.Fisikopoulos | ESA’12

5 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Determinant: Exact Computation
Given matrix A ⊆ Rd×d
Theory: State-of-the-art O(dω ), ω ∼ 2.7 [KaltofenVillard05]
Practice: Gaussian elimination, O(d3 )

Division-free algorithms
Laplace (cofactor) expansion, O(d!)
[Rote01], O(d4 )
[Bird11], O(dω+1 )

V.Fisikopoulos | ESA’12

5 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation

Determinant: Exact Computation
Given matrix A ⊆ Rd×d
Theory: State-of-the-art O(dω ), ω ∼ 2.7 [KaltofenVillard05]
Practice: Gaussian elimination, O(d3 )

Division-free algorithms
Laplace (cofactor) expansion, O(d!)
[Rote01], O(d4 )
[Bird11], O(dω+1 )

Working on integers
combinatorics, lattice polyhedra, algebraic geometry
V.Fisikopoulos | ESA’12

5 / 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 .

V.Fisikopoulos | ESA’12

6 / 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 .

Solution: Sherman-Morrison formula (1950)
A −1 = A−1 −

(A−1 (u − (A)i )) (eT A−1 )
i
1 + eT A−1 (u − (A)i )
i

det(A ) = (1 + eT A−1 (u − (A)i )det(A)
i
Complexity: O(d2 )

V.Fisikopoulos | ESA’12

Algorithm: dyn inv

6 / 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

6 / 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?
A: Use the adjoint of A (Aadj ) → exact divisions

V.Fisikopoulos | ESA’12

6 / 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?
A: Use the adjoint of A (Aadj ) → exact divisions
Complexity: O(d2 )

V.Fisikopoulos | ESA’12

Algorithm: dyn adj

6 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull

Outline

1 Dynamic determinant computation

2 Geometric algorithms: convex hull

3 Implementation - experiments

V.Fisikopoulos | ESA’12

7 / 16
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

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

V.Fisikopoulos | ESA’12

8 / 16
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 construction

connect each outer point to the
visible segments
visibility test = orientation test

Similar problems: Delaunay, regular triangulations, point-location
V.Fisikopoulos | ESA’12

8 / 16
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

9 / 16
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
p1
A=

p1 p2 p3
1

1

1

p2

p3

Orientation(p1 , p2 , p3 ) = det(A) in O(dω )

V.Fisikopoulos | ESA’12

9 / 16
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
p1
A =

p1 p4 p3
p4
1

1

1

p2

p3

Orientation(p1 , p2 , p4 ) = det(A ) in O(d2 )

V.Fisikopoulos | ESA’12

9 / 16
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
p1
A =

p1 p4 p3
p4
1

1

1

p2

p3

Orientation(p1 , p2 , p4 ) = det(A ) in O(d2 )
Store det(A), A−1 + update det(A ), A −1 (Sherman-Morrison)
V.Fisikopoulos | ESA’12

9 / 16
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(d2 t))
Proof: update det(A ), A −1

Corollary
Orientation predicates involved in point-location: O(d) (space: O(d2 t))
Proof: update only det(A )

Corollary
Incremental convex hull and volume comput.: O(dω+1 nt) → O(d3 nt)
V.Fisikopoulos | ESA’12

10 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Outline

1 Dynamic determinant computation

2 Geometric algorithms: convex hull

3 Implementation - experiments

V.Fisikopoulos | ESA’12

11 / 16
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

12 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Determinant experiments

Uniform distributed rational coefficients, matrix A ⊆ Qd×d .

d
3
4
5
6
7
8
9
10
spec:

Bird
.013
.046
.122
.268
.522
.930
1.520
2.380

CGAL
.021
.050
.110
.225
.412
.710
1.140
1.740

Eigen
.014
.033
.072
.137
.243
.390
.630
.940

Laplace
.008
.020
.056
.141
.993
–
–
–

Maple
.058
.105
.288
.597
.824
1.176
1.732
2.380

dyn inv
.046
.108
.213
.376
.613
.920
1.330
1.830

dyn adj
.023
.042
.067
.102
.148
.210
.310
.430

Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux

V.Fisikopoulos | ESA’12

13 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Determinant experiments
Uniform distributed integer coefficients, matrix A ⊆ Zd×d .

d
3
4
5
6
7
8
9
10
11
12
13
spec:

Bird
.002
.012
.032
.072
.138
.244
.408
.646
.956
1.379
1.957

CGAL
.021
.041
.080
.155
.253
.439
.689
1.031
1.485
2.091
2.779

Eigen
.013
.028
.048
.092
.149
.247
.376
.568
.800
1.139
1.485

Laplace
.002
.005
.016
.040
.277
–
–
–
–
–
–

Linbox
.872
1.010
1.103
1.232
1.435
1.626
1.862
2.160
10.127
13.101
–

Maple
.045
.094
.214
.602
.716
.791
.906
1.014
1.113
1.280
1.399

dyn inv
.030
.058
.119
.197
.322
.486
.700
.982
1.291
1.731
2.078

dyn adj
.008
.015
.023
.033
.046
.068
.085
.107
.133
.160
.184

Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux

V.Fisikopoulos | ESA’12

13 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Convex hull implementation
Hashed dynamic determinants
dyn inv & dyn adj + hash table (dets & matrices)
geometric software → geometric predicates

Convex hull software
randomized incremental (triangulation/CGAL)
beneath-and-beyond (bb) (polymake)
double description method (cdd)
gift-wrapping with reverse search (lrs)

triangulation + hashed dynamic determinants = hdch z or hdch q
V.Fisikopoulos | ESA’12

14 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Convex hull experiments
6-dim points, integer coeffs uniformly distributed inside a 6-ball

70

hdch_q
hdch_z
triang
lrs
bb
cdd

60

Time (sec)

50

hdch q (hdch z)
rational (integer)
arithmetic
drawback: memory
consuption

40
30
20
10
0
100

spec:

150

200

250
300
350
400
Number of input points

450

500

500 6D
triang
hdch z
hdch q

points
0.1GB
2.8GB
3.8GB

Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux

V.Fisikopoulos | ESA’12

15 / 16
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
hdch z
triang
hdch z
triang
hdch z
triang
hdch z
triang

|A|

8
8
9
9
10
10
11
11

120
120
70
70
50
50
39
39

preprocess
time (sec)
45.20
156.55
45.69
176.62
43.45
188.68
38.82
181.35

ds mem
(MB)
6913
134
6826
143
6355
127
5964
122

# cells
triang
319438
319438
265874
265874
207190
207190
148846
148846

query time (sec)
1K
1000K
0.41
392.55
14.42 14012.60
0.28
276.90
13.80 13520.43
0.27
217.45
14.40 14453.46
0.18
189.56
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

16 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Conclusions and Future work
The code
http://hdch.sourceforge.net

Future work
Delaunay triangulations (inSphere predicate)
gift-wrapping convex hull algorithms
overcome large memory consumption (clean periodically the hash
table)
filtered computations
CGAL submission

V.Fisikopoulos | ESA’12

17 / 16
Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments

Conclusions and Future work
The code
http://hdch.sourceforge.net

Future work
Delaunay triangulations (inSphere predicate)
gift-wrapping convex hull algorithms
overcome large memory consumption (clean periodically the hash
table)
filtered computations
CGAL submission

THANK YOU !!!
V.Fisikopoulos | ESA’12

17 / 16

Weitere ähnliche Inhalte

Ähnlich wie Faster Geometric Algorithms via Dynamic Determinant Computation

Large Scale Recommendation: a view from the Trenches
Large Scale Recommendation: a view from the TrenchesLarge Scale Recommendation: a view from the Trenches
Large Scale Recommendation: a view from the TrenchesAnne-Marie Tousch
 
Parabolic Restricted Three Body Problem
Parabolic Restricted Three Body ProblemParabolic Restricted Three Body Problem
Parabolic Restricted Three Body ProblemEsther Barrabés Vera
 
Data Assimilation in Numerical Weather Prediction Models
Data Assimilation in Numerical Weather Prediction ModelsData Assimilation in Numerical Weather Prediction Models
Data Assimilation in Numerical Weather Prediction ModelsAfrica Perianez
 
The slides of my Ph.D. defense
The slides of my Ph.D. defenseThe slides of my Ph.D. defense
The slides of my Ph.D. defenseApostolos Chalkis
 
Sampling-Based Planning Algorithms for Multi-Objective Missions
Sampling-Based Planning Algorithms for Multi-Objective MissionsSampling-Based Planning Algorithms for Multi-Objective Missions
Sampling-Based Planning Algorithms for Multi-Objective MissionsMd Mahbubur Rahman
 
Kernel for Chordal Vertex Deletion
Kernel for Chordal Vertex DeletionKernel for Chordal Vertex Deletion
Kernel for Chordal Vertex DeletionAkankshaAgrawal55
 
An Iteratively Coupled Solution Method for Partial and Super-Cavitation Predi...
An Iteratively Coupled Solution Method for Partial and Super-Cavitation Predi...An Iteratively Coupled Solution Method for Partial and Super-Cavitation Predi...
An Iteratively Coupled Solution Method for Partial and Super-Cavitation Predi...João Baltazar
 
Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.Vissarion Fisikopoulos
 
A navigation mesh_for_dynamic_environments
A navigation mesh_for_dynamic_environmentsA navigation mesh_for_dynamic_environments
A navigation mesh_for_dynamic_environmentsRoger Hernando Buch
 
Basics of Integration and Derivatives
Basics of Integration and DerivativesBasics of Integration and Derivatives
Basics of Integration and DerivativesFaisal Waqar
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problemjfrchicanog
 
Queue length estimation on urban corridors
Queue length estimation on urban corridorsQueue length estimation on urban corridors
Queue length estimation on urban corridorsGuillaume Costeseque
 
Singh presentation
Singh presentationSingh presentation
Singh presentationgagan22
 
Fast relaxation methods for the matrix exponential
Fast relaxation methods for the matrix exponential Fast relaxation methods for the matrix exponential
Fast relaxation methods for the matrix exponential David Gleich
 
CFD Cornell Energy Workshop - M.F. Campuzano Ochoa
CFD Cornell Energy Workshop - M.F. Campuzano OchoaCFD Cornell Energy Workshop - M.F. Campuzano Ochoa
CFD Cornell Energy Workshop - M.F. Campuzano OchoaMario Felipe Campuzano Ochoa
 
Comparing directional maps
Comparing directional mapsComparing directional maps
Comparing directional mapsRahul Rakshit
 

Ähnlich wie Faster Geometric Algorithms via Dynamic Determinant Computation (20)

Large Scale Recommendation: a view from the Trenches
Large Scale Recommendation: a view from the TrenchesLarge Scale Recommendation: a view from the Trenches
Large Scale Recommendation: a view from the Trenches
 
QCD Phase Diagram
QCD Phase DiagramQCD Phase Diagram
QCD Phase Diagram
 
Parabolic Restricted Three Body Problem
Parabolic Restricted Three Body ProblemParabolic Restricted Three Body Problem
Parabolic Restricted Three Body Problem
 
Data Assimilation in Numerical Weather Prediction Models
Data Assimilation in Numerical Weather Prediction ModelsData Assimilation in Numerical Weather Prediction Models
Data Assimilation in Numerical Weather Prediction Models
 
The slides of my Ph.D. defense
The slides of my Ph.D. defenseThe slides of my Ph.D. defense
The slides of my Ph.D. defense
 
Talk iccf 19_ben_hammouda
Talk iccf 19_ben_hammoudaTalk iccf 19_ben_hammouda
Talk iccf 19_ben_hammouda
 
Sampling-Based Planning Algorithms for Multi-Objective Missions
Sampling-Based Planning Algorithms for Multi-Objective MissionsSampling-Based Planning Algorithms for Multi-Objective Missions
Sampling-Based Planning Algorithms for Multi-Objective Missions
 
Kernel for Chordal Vertex Deletion
Kernel for Chordal Vertex DeletionKernel for Chordal Vertex Deletion
Kernel for Chordal Vertex Deletion
 
An Iteratively Coupled Solution Method for Partial and Super-Cavitation Predi...
An Iteratively Coupled Solution Method for Partial and Super-Cavitation Predi...An Iteratively Coupled Solution Method for Partial and Super-Cavitation Predi...
An Iteratively Coupled Solution Method for Partial and Super-Cavitation Predi...
 
Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.
 
A navigation mesh_for_dynamic_environments
A navigation mesh_for_dynamic_environmentsA navigation mesh_for_dynamic_environments
A navigation mesh_for_dynamic_environments
 
Basics of Integration and Derivatives
Basics of Integration and DerivativesBasics of Integration and Derivatives
Basics of Integration and Derivatives
 
GDRR Opening Workshop - Bayesian Inference for Common Cause Failure Rate Base...
GDRR Opening Workshop - Bayesian Inference for Common Cause Failure Rate Base...GDRR Opening Workshop - Bayesian Inference for Common Cause Failure Rate Base...
GDRR Opening Workshop - Bayesian Inference for Common Cause Failure Rate Base...
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
 
Queue length estimation on urban corridors
Queue length estimation on urban corridorsQueue length estimation on urban corridors
Queue length estimation on urban corridors
 
Volume computation and applications
Volume computation and applications Volume computation and applications
Volume computation and applications
 
Singh presentation
Singh presentationSingh presentation
Singh presentation
 
Fast relaxation methods for the matrix exponential
Fast relaxation methods for the matrix exponential Fast relaxation methods for the matrix exponential
Fast relaxation methods for the matrix exponential
 
CFD Cornell Energy Workshop - M.F. Campuzano Ochoa
CFD Cornell Energy Workshop - M.F. Campuzano OchoaCFD Cornell Energy Workshop - M.F. Campuzano Ochoa
CFD Cornell Energy Workshop - M.F. Campuzano Ochoa
 
Comparing directional maps
Comparing directional mapsComparing directional maps
Comparing directional maps
 

Mehr von Vissarion Fisikopoulos

"Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL.""Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL."Vissarion Fisikopoulos
 
"Regular triangularions and resultant polytopes."
"Regular triangularions and resultant polytopes." "Regular triangularions and resultant polytopes."
"Regular triangularions and resultant polytopes." Vissarion Fisikopoulos
 
"Exact and approximate algorithms for resultant polytopes."
"Exact and approximate algorithms for resultant polytopes." "Exact and approximate algorithms for resultant polytopes."
"Exact and approximate algorithms for resultant polytopes." Vissarion Fisikopoulos
 
"An output-sensitive algorithm for computing projections of resultant polytop...
"An output-sensitive algorithm for computing projections of resultant polytop..."An output-sensitive algorithm for computing projections of resultant polytop...
"An output-sensitive algorithm for computing projections of resultant polytop...Vissarion Fisikopoulos
 
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by OraclesEfficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by OraclesVissarion Fisikopoulos
 
"Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes""Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes"Vissarion Fisikopoulos
 
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Efficient Edge-Skeleton Computation for Polytopes Defined by OraclesEfficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Efficient Edge-Skeleton Computation for Polytopes Defined by OraclesVissarion Fisikopoulos
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...Vissarion Fisikopoulos
 
Working with spatial trajectories in Boost Geometry
Working with spatial trajectories in Boost GeometryWorking with spatial trajectories in Boost Geometry
Working with spatial trajectories in Boost GeometryVissarion Fisikopoulos
 
High-dimensional sampling and volume computation
High-dimensional sampling and volume computationHigh-dimensional sampling and volume computation
High-dimensional sampling and volume computationVissarion Fisikopoulos
 
Conctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex OracleConctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex OracleVissarion Fisikopoulos
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...Vissarion Fisikopoulos
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationVissarion Fisikopoulos
 
The Newton polytope of the sparse resultant
The Newton polytope of the sparse resultantThe Newton polytope of the sparse resultant
The Newton polytope of the sparse resultantVissarion Fisikopoulos
 
Volume and edge skeleton computation in high dimensions
Volume and edge skeleton computation in high dimensionsVolume and edge skeleton computation in high dimensions
Volume and edge skeleton computation in high dimensionsVissarion Fisikopoulos
 
Efficient Random-Walk Methods forApproximating Polytope Volume
Efficient Random-Walk Methods forApproximating Polytope VolumeEfficient Random-Walk Methods forApproximating Polytope Volume
Efficient Random-Walk Methods forApproximating Polytope VolumeVissarion Fisikopoulos
 
A new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodiesA new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodiesVissarion Fisikopoulos
 
Geodesic algorithms: an experimental study
Geodesic algorithms: an experimental studyGeodesic algorithms: an experimental study
Geodesic algorithms: an experimental studyVissarion Fisikopoulos
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)Vissarion Fisikopoulos
 

Mehr von Vissarion Fisikopoulos (20)

"Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL.""Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL."
 
"Regular triangularions and resultant polytopes."
"Regular triangularions and resultant polytopes." "Regular triangularions and resultant polytopes."
"Regular triangularions and resultant polytopes."
 
"Exact and approximate algorithms for resultant polytopes."
"Exact and approximate algorithms for resultant polytopes." "Exact and approximate algorithms for resultant polytopes."
"Exact and approximate algorithms for resultant polytopes."
 
"An output-sensitive algorithm for computing projections of resultant polytop...
"An output-sensitive algorithm for computing projections of resultant polytop..."An output-sensitive algorithm for computing projections of resultant polytop...
"An output-sensitive algorithm for computing projections of resultant polytop...
 
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by OraclesEfficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
 
"Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes""Combinatorics of 4-dimensional resultant polytopes"
"Combinatorics of 4-dimensional resultant polytopes"
 
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Efficient Edge-Skeleton Computation for Polytopes Defined by OraclesEfficient Edge-Skeleton Computation for Polytopes Defined by Oracles
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
 
Working with spatial trajectories in Boost Geometry
Working with spatial trajectories in Boost GeometryWorking with spatial trajectories in Boost Geometry
Working with spatial trajectories in Boost Geometry
 
High-dimensional sampling and volume computation
High-dimensional sampling and volume computationHigh-dimensional sampling and volume computation
High-dimensional sampling and volume computation
 
Conctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex OracleConctructing Polytopes via a Vertex Oracle
Conctructing Polytopes via a Vertex Oracle
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
 
Enumeration of 2-level polytopes
Enumeration of 2-level polytopesEnumeration of 2-level polytopes
Enumeration of 2-level polytopes
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimization
 
The Newton polytope of the sparse resultant
The Newton polytope of the sparse resultantThe Newton polytope of the sparse resultant
The Newton polytope of the sparse resultant
 
Volume and edge skeleton computation in high dimensions
Volume and edge skeleton computation in high dimensionsVolume and edge skeleton computation in high dimensions
Volume and edge skeleton computation in high dimensions
 
Efficient Random-Walk Methods forApproximating Polytope Volume
Efficient Random-Walk Methods forApproximating Polytope VolumeEfficient Random-Walk Methods forApproximating Polytope Volume
Efficient Random-Walk Methods forApproximating Polytope Volume
 
A new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodiesA new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodies
 
Geodesic algorithms: an experimental study
Geodesic algorithms: an experimental studyGeodesic algorithms: an experimental study
Geodesic algorithms: an experimental study
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
 

Kürzlich hochgeladen

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

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˜aranda (now IMPA, Rio de Janeiro) n Department of Informatics, University of Athens ESA, Ljubljana, 12.Sep.2012 V.Fisikopoulos | ESA’12 1 / 16
  • 2. Faster Geometric Algorithms via Dynamic Determinant Computation Geometric algorithms and predicates Setting geometric algorithms → sequence of geometric predicates many geometric predicates → determinants as dimension grows predicates become more expensive V.Fisikopoulos | ESA’12 2 / 16
  • 3. Faster Geometric Algorithms via Dynamic Determinant Computation Geometric algorithms and predicates Setting geometric algorithms → sequence of geometric predicates many geometric predicates → determinants as dimension grows predicates become more expensive Examples b Orientation: Does c lie on, left or right of ab? ax ay 1 bx by 1 cx cy 1 V.Fisikopoulos | ESA’12 a 0 c 2 / 16
  • 4. Faster Geometric Algorithms via Dynamic Determinant Computation Geometric algorithms and predicates Setting geometric algorithms → sequence of geometric predicates many geometric predicates → determinants as dimension grows predicates become more expensive Examples a inCircle: Does d lie on, inside or outside of abc? ax bx cx dx ay by cy dy V.Fisikopoulos | ESA’12 a2 + a2 x y b2 + b2 x y c2 + c2 x y d2 + d2 x y b 1 1 1 1 d 0 c 2 / 16
  • 5. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Outline 1 Dynamic determinant computation 2 Geometric algorithms: convex hull 3 Implementation - experiments V.Fisikopoulos | ESA’12 3 / 16
  • 6. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Outline 1 Dynamic determinant computation 2 Geometric algorithms: convex hull 3 Implementation - experiments V.Fisikopoulos | ESA’12 4 / 16
  • 7. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Determinant: Exact Computation Given matrix A ⊆ Rd×d Theory: State-of-the-art O(dω ), ω ∼ 2.7 [KaltofenVillard05] Practice: Gaussian elimination, O(d3 ) V.Fisikopoulos | ESA’12 5 / 16
  • 8. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Determinant: Exact Computation Given matrix A ⊆ Rd×d Theory: State-of-the-art O(dω ), ω ∼ 2.7 [KaltofenVillard05] Practice: Gaussian elimination, O(d3 ) Division-free algorithms Laplace (cofactor) expansion, O(d!) [Rote01], O(d4 ) [Bird11], O(dω+1 ) V.Fisikopoulos | ESA’12 5 / 16
  • 9. Faster Geometric Algorithms via Dynamic Determinant Computation | Dynamic determinant computation Determinant: Exact Computation Given matrix A ⊆ Rd×d Theory: State-of-the-art O(dω ), ω ∼ 2.7 [KaltofenVillard05] Practice: Gaussian elimination, O(d3 ) Division-free algorithms Laplace (cofactor) expansion, O(d!) [Rote01], O(d4 ) [Bird11], O(dω+1 ) Working on integers combinatorics, lattice polyhedra, algebraic geometry V.Fisikopoulos | ESA’12 5 / 16
  • 10. 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 6 / 16
  • 11. 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 A−1 ) i 1 + eT A−1 (u − (A)i ) i det(A ) = (1 + eT A−1 (u − (A)i )det(A) i Complexity: O(d2 ) V.Fisikopoulos | ESA’12 Algorithm: dyn inv 6 / 16
  • 12. 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 6 / 16
  • 13. 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 6 / 16
  • 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 . 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 ) V.Fisikopoulos | ESA’12 Algorithm: dyn adj 6 / 16
  • 15. Faster Geometric Algorithms via Dynamic Determinant Computation | Geometric algorithms: convex hull Outline 1 Dynamic determinant computation 2 Geometric algorithms: convex hull 3 Implementation - experiments V.Fisikopoulos | ESA’12 7 / 16
  • 16. 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 8 / 16
  • 17. 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 18. 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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. Incremental convex hull construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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 construction connect each outer point to the visible segments visibility test = orientation test V.Fisikopoulos | ESA’12 8 / 16
  • 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 construction connect each outer point to the visible segments visibility test = orientation test Similar problems: Delaunay, regular triangulations, point-location V.Fisikopoulos | ESA’12 8 / 16
  • 28. 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 9 / 16
  • 29. 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 p1 A= p1 p2 p3 1 1 1 p2 p3 Orientation(p1 , p2 , p3 ) = det(A) in O(dω ) V.Fisikopoulos | ESA’12 9 / 16
  • 30. 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 p1 A = p1 p4 p3 p4 1 1 1 p2 p3 Orientation(p1 , p2 , p4 ) = det(A ) in O(d2 ) V.Fisikopoulos | ESA’12 9 / 16
  • 31. 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 p1 A = p1 p4 p3 p4 1 1 1 p2 p3 Orientation(p1 , p2 , p4 ) = det(A ) in O(d2 ) Store det(A), A−1 + update det(A ), A −1 (Sherman-Morrison) V.Fisikopoulos | ESA’12 9 / 16
  • 32. 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(d2 t)) Proof: update det(A ), A −1 Corollary Orientation predicates involved in point-location: O(d) (space: O(d2 t)) Proof: update only det(A ) Corollary Incremental convex hull and volume comput.: O(dω+1 nt) → O(d3 nt) V.Fisikopoulos | ESA’12 10 / 16
  • 33. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Outline 1 Dynamic determinant computation 2 Geometric algorithms: convex hull 3 Implementation - experiments V.Fisikopoulos | ESA’12 11 / 16
  • 34. 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 12 / 16
  • 35. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Determinant experiments Uniform distributed rational coefficients, matrix A ⊆ Qd×d . d 3 4 5 6 7 8 9 10 spec: Bird .013 .046 .122 .268 .522 .930 1.520 2.380 CGAL .021 .050 .110 .225 .412 .710 1.140 1.740 Eigen .014 .033 .072 .137 .243 .390 .630 .940 Laplace .008 .020 .056 .141 .993 – – – Maple .058 .105 .288 .597 .824 1.176 1.732 2.380 dyn inv .046 .108 .213 .376 .613 .920 1.330 1.830 dyn adj .023 .042 .067 .102 .148 .210 .310 .430 Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux V.Fisikopoulos | ESA’12 13 / 16
  • 36. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Determinant experiments Uniform distributed integer coefficients, matrix A ⊆ Zd×d . d 3 4 5 6 7 8 9 10 11 12 13 spec: Bird .002 .012 .032 .072 .138 .244 .408 .646 .956 1.379 1.957 CGAL .021 .041 .080 .155 .253 .439 .689 1.031 1.485 2.091 2.779 Eigen .013 .028 .048 .092 .149 .247 .376 .568 .800 1.139 1.485 Laplace .002 .005 .016 .040 .277 – – – – – – Linbox .872 1.010 1.103 1.232 1.435 1.626 1.862 2.160 10.127 13.101 – Maple .045 .094 .214 .602 .716 .791 .906 1.014 1.113 1.280 1.399 dyn inv .030 .058 .119 .197 .322 .486 .700 .982 1.291 1.731 2.078 dyn adj .008 .015 .023 .033 .046 .068 .085 .107 .133 .160 .184 Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux V.Fisikopoulos | ESA’12 13 / 16
  • 37. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Convex hull implementation Hashed dynamic determinants dyn inv & dyn adj + hash table (dets & matrices) geometric software → geometric predicates Convex hull software randomized incremental (triangulation/CGAL) beneath-and-beyond (bb) (polymake) double description method (cdd) gift-wrapping with reverse search (lrs) triangulation + hashed dynamic determinants = hdch z or hdch q V.Fisikopoulos | ESA’12 14 / 16
  • 38. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Convex hull experiments 6-dim points, integer coeffs uniformly distributed inside a 6-ball 70 hdch_q hdch_z triang lrs bb cdd 60 Time (sec) 50 hdch q (hdch z) rational (integer) arithmetic drawback: memory consuption 40 30 20 10 0 100 spec: 150 200 250 300 350 400 Number of input points 450 500 500 6D triang hdch z hdch q points 0.1GB 2.8GB 3.8GB Intel Core i5-2400 3.1GHz, 6MB L2 cache, 8GB RAM, 64-bit Debian GNU/Linux V.Fisikopoulos | ESA’12 15 / 16
  • 39. 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 hdch z triang hdch z triang hdch z triang hdch z triang |A| 8 8 9 9 10 10 11 11 120 120 70 70 50 50 39 39 preprocess time (sec) 45.20 156.55 45.69 176.62 43.45 188.68 38.82 181.35 ds mem (MB) 6913 134 6826 143 6355 127 5964 122 # cells triang 319438 319438 265874 265874 207190 207190 148846 148846 query time (sec) 1K 1000K 0.41 392.55 14.42 14012.60 0.28 276.90 13.80 13520.43 0.27 217.45 14.40 14453.46 0.18 189.56 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 16 / 16
  • 40. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Conclusions and Future work The code http://hdch.sourceforge.net Future work Delaunay triangulations (inSphere predicate) gift-wrapping convex hull algorithms overcome large memory consumption (clean periodically the hash table) filtered computations CGAL submission V.Fisikopoulos | ESA’12 17 / 16
  • 41. Faster Geometric Algorithms via Dynamic Determinant Computation | Implementation - experiments Conclusions and Future work The code http://hdch.sourceforge.net Future work Delaunay triangulations (inSphere predicate) gift-wrapping convex hull algorithms overcome large memory consumption (clean periodically the hash table) filtered computations CGAL submission THANK YOU !!! V.Fisikopoulos | ESA’12 17 / 16