This document summarizes optimal transport and provides an elementary introduction. It describes the optimal transport problem of finding a transport map that moves mass from one distribution to another while minimizing costs. This is relaxed using the Kantorovich formulation, which finds a transport plan rather than a map. Duality is also introduced, showing the equivalence between the primal problem of minimizing costs and the dual problem of maximizing a function. The relationship is explained using a discrete version of the transport problem.
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Optimal Transport for a Computer Programmer's Point of View
1. Mathématiques - Informatique
Optimal Transport
From a Computer Perspective
Summer School « Geometric Measure Theory and
Calculus of Variations », Grenoble, June 2015
Bruno Lévy
ALICE Géométrie & Lumière
CENTRE INRIA Nancy Grand-Est
2. Part. 1. Goals and Motivations - Understanding
Part. 2. Optimal Transport Elementary intro.
Part. 3. The Semi-Discrete Case
Part. 4. Understanding Going
Part. 5. Concluding Words
OVERVIEW
24. Part. 1 Optimal Transport
while preserving mass and minimizing the effort ?
?
T
25. Part. 1 Optimal Transport
while preserving mass and minimizing the effort ?
?
T
26. Part. 1 Optimal Transport
while preserving mass and minimizing the effort ?
?
T
27. Part. 1 Optimal Transport
OT=
Yann Brenier:
it can be replaced with the Monge-Ampère
28. Part. 1 Optimal Transport
OT=
Yann Brenier:
it can be replaced with the Monge-Ampère
New ways of simulating physics with a computer
29. Part. 1 Optimal Transport
OT=
Yann Brenier:
Laplace operator is used in a PDE,
it can be replaced with the Monge-Ampère
New ways of simulating physics with a computer
Fast Fourier Transform
30. Part. 1 Optimal Transport
OT=
Yann Brenier:
Laplace operator is used in a PDE,
it can be replaced with the Monge-Ampère
New ways of simulating physics with a computer
Fast Fourier Transform Fast OT algo. ???
32. Part. 1 Optimal Transport
Gaspard Monge geometry and light
ANR TOMMI Workshop
33. Part. 1 Optimal Transport
[Castro, Merigot, Thibert 2014]
Optimal transport
geometry and light
[Caffarelli, Kochengin, and Oliker 1999]
34. Part. 1 Optimal Transport Image Processing
Barycenters / mixing textures Video-style transfer
[Nicolas Bonneel, Julien Rabin, Gabriel
Peyre, Hanspeter Pfister]
[Nicolas Bonneel, Kalyan Sunkavalli, Sylvain
Paris, Hanspeter Pfister]
35. Part. 1 Optimal Transport
Optimal transport - geometry and light
[Chwartzburg, Testuz, Tagliasacchi, Pauly, SIGGRAPH 2014]
36. Part. 1. Motivations
Discretization of functionals involving the Monge-Ampère operator,
Benamou, Carlier, Mérigot, Oudet
arXiv:1408.4536
The variational formulation of the Fokker-Planck equation
Jordan, Kinderlehrer and Otto
SIAM J. on Mathematical Analysis
Geostrophic current
38. Part. 1 Optimal Transport
The millenium simulation project, Max Planck Institute fur Astrophysik
pc/h : parsec (= 3.2 light years)
39. Part. 1 Optimal Transport
Optimal transport E.U.R.
The universal swimming pool
40. Part. 1 Optimal Transport
Optimal transport E.U.R.
let there be light !
The millenium simulation project,
Max Planck Institute fur Astrophysik
pc/h : parsec (= 3.2 light years)
41. Part. 1 Optimal Transport
Optimal transport E.U.R.
let there be light !
The millenium simulation project,
Max Planck Institute fur Astrophysik
pc/h : parsec (= 3.2 light years)
In 2002: 5 hours of computation
on a super-computer for 5000 points
with a O(n3) algorithm.
42. Part. 1 Optimal Transport
Optimal transport E.U.R.
let there be light !
The millenium simulation project,
Max Planck Institute fur Astrophysik
pc/h : parsec (= 3.2 light years)
In 2002: 5 hours of computation
on a super-computer for 5000 points
with a O(n3) algorithm.
Can we do the computation with
1 000 000 points ?
44. Part. 2 Optimal Transport problem
(X; ) (Y; )
Two measures , such that d (x) = d (x)
X Y
45. Part. 2 Optimal Transport problem
A map T is a transport map between and if
(T-1(B)) = (B) for any Borel subset B of Y
(X; ) (Y; )
46. Part. 2 Optimal Transport problem
A map T is a transport map between and if
(T-1(B)) = (B) for any Borel subset B
B
(X; ) (Y; )
47. Part. 2 Optimal Transport problem
A map T is a transport map between and if
(T-1(B)) = (B) for any Borel subset B
B
T-1(B)
(X; ) (Y; )
48. Part. 2 Optimal Transport problem
A map T is a transport map between and if
(T-1(B)) = (B) for any Borel subset B
(or = T# the pushforward of )
(X; ) (Y; )
49. Part. 2 Optimal Transport problem
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
(X; ) (Y; )
50. Part. 2 Optimal Transport problem
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
Difficult to study
If has an atom (isolated Dirac),
it can only be mapped to another Dirac
(T needs to be a map)
51. Part. 2 Optimal Transport problem
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
Transport from a measure concentrated on L1 onto another one concentrated on L2 and L3
52. Part. 2 Optimal Transport problem
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
Transport from a measure concentrated on L1 onto another one concentrated on L2 and L3
53. Part. 2 Optimal Transport problem
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
Transport from a measure concentrated on L1 onto another one concentrated on L2 and L3
54. Part. 2 Optimal Transport problem
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
Transport from a measure concentrated on L1 onto another one concentrated on L2 and L3
The infimum is never realized by a map, need for a relaxation
55. Part. 2 Optimal Transport Kantorovich
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
(1942):
Find a measure defined on X x Y
such that x in X d (x,y) = d (y)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
56. Part. 2 Optimal Transport Kantorovich
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
Find a measure defined on X x Y
such that x in X d (x,y) = d (y)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
(x,y
How much sand goes from x to y
57. Part. 2 Optimal Transport Kantorovich
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
Find a measure defined on X x Y
such that x in X d (x,y) = d (y)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
Everything that is
transported from x
58. Part. 2 Optimal Transport Kantorovich
problem:
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
Find a measure defined on X x Y
such that x in X d (x,y) = d (y)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
Everything that is
transported to y
59. Part. 2 Optimal Transport Kantorovich
Transport plan example 1/4 : translation of a segment
60. Part. 2 Optimal Transport Kantorovich
Transport plan example 1/4 : translation of a segment
61. Part. 2 Optimal Transport Kantorovich
Transport plan example 2/4 : spitting a segment
70. Part. 2 Optimal Transport Duality
Duality is easier to understand with a discrete version
71. Part. 2 Optimal Transport Duality
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
72. Part. 2 Optimal Transport Duality
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
=
11
12
1n
22
2n
mn
IRmn
73. Part. 2 Optimal Transport Duality
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
=
11
12
1n
22
2n
mn
c =
c11
c12
c1n
c22
c2n
cmn
IRmnIRmn
74. Part. 2 Optimal Transport Duality
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
=
11
12
1n
22
2n
mn
c =
c11
c12
c1n
c22
c2n
cmn
cij = || xi yj ||2
IRmnIRmn
75. Part. 2 Optimal Transport Duality
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
0
=
11
12
1n
22
2n
mn
c =
c11
c12
c1n
c22
c2n
cmn
cij = || xi yj ||2
mn X m
IRmnIRmn
76. Part. 2 Optimal Transport Duality
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
=
11
12
1n
22
2n
mn
c =
c11
c12
c1n
c22
c2n
cmn
cij = || xi yj ||2
mn X n
mn X m
IRmnIRmn
77. Part. 2 Optimal Transport Duality
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
=
11
12
1n
22
2n
mn
c =
c11
c12
c1n
c22
c2n
cmn
IRmnIRmn
mn X n
mn X m
78. Part. 2 Optimal Transport Duality
Consider L( , ) = <c, > - < , P1 - u> - < , P2 - v>
(DMK):
Min <c, >
P1 = u
s.t. P2 = v< u, v > denotes the dot product between u and v
79. Part. 2 Optimal Transport Duality
Consider L( , ) = <c, > - < , P1 - u> - < , P2 - v>
Remark: Sup[ L( , ) ] = < c, > if P1 = u and P2 = v
IRm
IRn
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
80. Part. 2 Optimal Transport Duality
Consider L( , ) = <c, > - < , P1 - u> - < , P2 - v>
Remark: Sup[ L( , ) ] = < c, > if P1 = u and P2 = v
IRm
IRn
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
0
81. Part. 2 Optimal Transport Duality
Consider L( , ) = <c, > - < , P1 - u> - < , P2 - v>
Remark: Sup[ L( , ) ] = < c, > if P1 = u and P2 = v
IRm
IRn
Consider now: Inf [ Sup[ L( , ) ] ]
IRm
IRn
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
82. Part. 2 Optimal Transport Duality
Consider L( , ) = <c, > - < , P1 - u> - < , P2 - v>
Remark: Sup[ L( , ) ] = < c, > if P1 = u and P2 = v
IRm
IRn
Consider now: Inf [ Sup[ L( , ) ] ] = Inf [ < c, > ]
IRm
IRn
P1 = u
P2 = v
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
83. Part. 2 Optimal Transport Duality
Consider L( , ) = <c, > - < , P1 - u> - < , P2 - v>
Remark: Sup[ L( , ) ] = < c, > if P1 = u and P2 = v
IRm
IRn
Consider now: Inf [ Sup[ L( , ) ] ] = Inf [ < c, > ] (DMK)
IRm
IRn
0
P1 = u
P2 = v
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
84. Part. 2 Optimal Transport Duality
IRm
IRn
Inf [ Sup[ <c, > - < , P1 - u> - < , P2 - v> ] ]
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
88. Part. 2 Optimal Transport Duality
IRm
IRn
Sup[ Inf[ < ,c-P1
t P2
t > + < ,u> + < , v> ] ]
Interpret
Sup[ < ,u> + < , v> ]
IRm
IRn
P1
t + P2
t c
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
(DDMK)
89. Part. 2 Optimal Transport Duality
IRm
IRn
Sup[ Inf[ < ,c-P1
t P2
t > + < ,u> + < , v> ] ]
Interpret
Sup[ < ,u> + < , v> ]
IRm
IRn
P1
t + P2
t c i + j cij (i,j)
A
(DMK):
Min <c, >
P1 = u
s.t. P2 = v
(DDMK)
90. Part. 2 Optimal Transport Kantorovich dual
Find a measure defined on X x Y
such that x in X d (x,y) = d (x)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X d + Y d
91. Part. 2 Optimal Transport Kantorovich dual
Find a measure defined on X x Y
such that x in X d (x,y) = d (x)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X d + Y d
Your point of view:
Try to minimize transport cost
92. Part. 2 Optimal Transport Kantorovich dual
Find a measure defined on X x Y
such that x in X d (x,y) = d (x)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X d + Y d Try to maximize transport price
Your point of view:
Try to minimize transport cost
93. Part. 2 Optimal Transport Kantorovich dual
Find a measure defined on X x Y
such that x in X d (x,y) = d (x)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X (x)d + Y (y)d
What they charge for loading at x
Your point of view:
Try to minimize transport cost
94. Part. 2 Optimal Transport Kantorovich dual
Find a measure defined on X x Y
such that x in X d (x,y) = d (x)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X (x)d + Y (y)d
What they charge for loading at x What they charge for unloading at y
Your point of view:
Try to minimize transport cost
95. Part. 2 Optimal Transport Kantorovich dual
Find a measure defined on X x Y
such that x in X d (x,y) = d (x)
and y in Y d (x,y) = d (x)
that minimizes X x Y || x y ||2 d (x,y)
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X (x)d + Y (y)d
What they charge for loading at x What they charge for unloading at y
Price (loading + unloading) cannot
be greater than transport cost
(else you do the job yourself)
Your point of view:
Try to minimize transport cost
96. Part. 2 Optimal Transport c-conjugate functions
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X (x)d + Y (y)d
97. Part. 2 Optimal Transport c-conjugate functions
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X (x)d + Y (y)d
If we got two functions and that satisfy the constraint
Then it is possible to obtain a better solution by replacing with c defined by:
For all y, c(y) = inf x in X ½|| x y ||2 - (y)
98. Part. 2 Optimal Transport c-conjugate functions
Find two functions in L1( ) and in L1( )
Such that for all x,y, (x) + y ||2
that maximize X (x)d + Y (y)d
If we got two functions and that satisfy the constraint
Then it is possible to obtain a better solution by replacing with c defined by:
For all y, c(y) = inf x in X ½|| x y ||2 - (y)
c is called the c-conjugate function of
If there is a function such that = c then is said to be c-concave
If is c-concave, then cc =
99. Part. 2 Optimal Transport c-conjugate functions
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
100. Part. 2 Optimal Transport c-conjugate functions
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
is called a
101. Part. 2 Optimal Transport c-subdifferential
What about our initial problem ?
is called a
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
102. Part. 2 Optimal Transport c-subdifferential
is called a
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
104. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
105. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
Heuristic argument (at the beginning of the same chapter):
106. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
Heuristic argument (at the beginning of the same chapter):
107. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
Heuristic argument (at the beginning of the same chapter):
108. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
Heuristic argument (at the beginning of the same chapter):
109. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
Heuristic argument (at the beginning of the same chapter):
110. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
Heuristic argument (at the beginning of the same chapter):
111. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
Heuristic argument (at the beginning of the same chapter):
w
112. Part. 2 Optimal Transport c-subdifferential
Proof: see OTON, chap. 10.
Heuristic argument (at the beginning of the same chapter):
-w
113. Part. 2 Optimal Transport c-subdifferential
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
114. Part. 2 Optimal Transport c-subdifferential
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
{
grad (x) with (x) := (½ x2- (x))
115. Part. 2 Optimal Transport convexity
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
{
grad (x) with (x) := (½ x2- (x))
is convex
116. Part. 2 Optimal Transport convexity
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
{
grad (x) with (x) := (½ x2- (x))
is convex
117. Part. 2 Optimal Transport convexity
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
{
grad (x) with (x) := (½ x2- (x))
is convex
118. Part. 2 Optimal Transport no collision
If T(.) exists, then
T(x) = x grad (x) = grad (½ x2- (x) )
{grad (x)
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
is convex
119. Part. 2 Optimal Transport no collision
If T(.) exists, then
T(x) = x grad (x) = grad (½ x2- (x) )
{grad (x)
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
is convex
120. Part. 2 Optimal Transport no collision
If T(.) exists, then
T(x) = x grad (x) = grad (½ x2- (x) )
{grad (x)
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
is convex
121. Part. 2 Optimal Transport Monge-Ampere
What about our initial problem ? If T(.) exists, then one can show that:
T(x) = x grad (x) = grad (½ x2- (x) )
{
for all borel set A, A d = T(A) (|JT|) d (change of variable)
Jacobian of T (1st order derivatives)
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
grad (x) with (x) := (½ x2- (x))
122. Part. 2 Optimal Transport Monge-Ampere
What about our initial problem ? If T(.) exists, then one can show that:
T(x) = x grad (x) = grad (½ x2- (x) )
{
for all borel set A, A d = T(A) (|JT|) d = T(A) (H ) d
Det. of the Hessian of (2nd order derivatives)
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
grad (x) with (x) := (½ x2- (x))
123. Part. 2 Optimal Transport Monge-Ampere
What about our initial problem ?
T(x) = x grad (x) = grad (½ x2- (x) )
{grad (x) with (x) := (½ x2- (x))
When and have a density u and v, (H (x)). v(grad (x)) = u(x)
Monge-Ampère
equation
for all borel set A, A d = T(A) (|JT|) d = T(A) (H ) d
Find a c-concave function
that maximizes X (x)d + Y
c(y)d
124. Part. 2 Optimal Transport summary
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
125. Part. 2 Optimal Transport summary
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
(Kantorovich formulation, dual, c-convex functions)
126. Part. 2 Optimal Transport summary
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
(Kantorovich formulation, dual, c-convex functions)
Monge-Ampère equation
(When and have a density u and v resp.)
Solve (H (x)). v(grad (x)) = u(x)
127. Part. 2 Optimal Transport summary
Find a transport map T that minimizes C(T) = X || x T(x) ||2 d (x)
(Kantorovich formulation, dual, c-convex functions)
Brenier, Mc Cann, Trudinger: The optimal transport map is then given by:
T(x) = grad (x)
Solve (H (x)). v(grad (x)) = u(x) Monge-Ampère equation
(When and have a density u and v resp.)
128. Part. 2 Optimal Transport Isoperimetric inequality
For a given volume,
ball is the shape that minimizes border area
129. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: Given f: IRn sufficiently regular
Explanation in [Dario Cordero Erauquin] course notes
130. Part. 2 Optimal Transport Isoperimetric inequality
n Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: Given f: IRn sufficiently regular
Explanation in [Dario Cordero Erauquin] course notes
131. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: Given f: IRn sufficiently regular
Explanation in [Dario Cordero Erauquin] course notes
132. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: Given f: IRn sufficiently regular
Consider a compact set such that Vol( ) = Vol(B2
3)
and f = the indicatrix function of
133. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: Given f: IRn sufficiently regular
Consider a compact set such that Vol( ) = Vol(B2
3)
and f = the indicatrix function of
Vol Vol(B2
3)1/3 Vol(B2
3)2/3
134. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: Given f: IRn sufficiently regular
Consider a compact set such that Vol( ) = Vol(B2
3)
and f = the indicatrix function of
Vol Vol(B2
3)1/3 Vol(B2
3)2/3
Vol = Vol 2
3)
135. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
136. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
We suppose w.l.o.g. that f n/(n-1) = 1
137. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
There exists an optimal transport T = grad between
f n/(n-1)(x)dx and 1B2
n/Vol(B2
n)dx
We suppose w.l.o.g. that f n/(n-1) = 1
138. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
There exists an optimal transport T = grad between
f n/(n-1)(x)dx and 1B2
n/Vol(B2
n)dx
We suppose w.l.o.g. that f n/(n-1) = 1
Monge-Ampère equation: Vol(B2
n) fn/(n-1)(x) = det Hess
139. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
There exists an optimal transport T = grad between
f n/(n-1)(x)dx and 1B2
n/Vol(B2
n)dx
We suppose w.l.o.g. that f n/(n-1) = 1
Monge-Ampère equation: Vol(B2
n) fn/(n-1)(x) = det Hess
Arithmetico-geometric ineq: det (H) 1/n
140. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
There exists an optimal transport T = grad between
f n/(n-1)(x)dx and 1B2
n/Vol(B2
n)dx
We suppose w.l.o.g. that f n/(n-1) = 1
Monge-Ampère equation: Vol(B2
n) fn/(n-1)(x) = det Hess
Arithmetico-geometric ineq: det (H) 1/n
det (Hess ) 1/n )/n
141. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
There exists an optimal transport T = grad between
f n/(n-1)(x)dx and 1B2
n/Vol(B2
n)dx
We suppose w.l.o.g. that f n/(n-1) = 1
Monge-Ampère equation: Vol(B2
n) fn/(n-1)(x) = det Hess
Arithmetico-geometric ineq: det (H) 1/n
det (Hess ) 1/n )/n
det (Hess ) 1/n / n
142. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
We suppose w.l.o.g. that f n/(n-1) = 1
det (Hess ) 1/n )/n
Monge-Ampère equation:
Vol(B2
n) fn/(n-1)(x) = det Hess
143. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
We suppose w.l.o.g. that f n/(n-1) = 1
Vol(B2
n) = Vol(B2
n) f n/(n-1)
= f Vol(B2
n) f 1/(n-1)
det (Hess ) 1/n )/n
Monge-Ampère equation:
Vol(B2
n) fn/(n-1)(x) = det Hess
144. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
We suppose w.l.o.g. that f n/(n-1) = 1
Vol(B2
n) = Vol(B2
n) f n/(n-1)
= f Vol(B2
n) f 1/(n-1)
det (Hess ) 1/n )/n
Monge-Ampère equation:
Vol(B2
n) fn/(n-1)(x) = det Hess
145. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
We suppose w.l.o.g. that f n/(n-1) = 1
Vol(B2
n) = Vol(B2
n) f n/(n-1)
= f Vol(B2
n) f 1/(n-1)
= - grad f . grad
det (Hess ) 1/n )/n
Monge-Ampère equation:
Vol(B2
n) fn/(n-1)(x) = det Hess
146. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
We suppose w.l.o.g. that f n/(n-1) = 1
Vol(B2
n) = Vol(B2
n) f n/(n-1)
= f Vol(B2
n) f 1/(n-1)
1/n
= - grad f . grad | grad f | (T = grad B2
n )
det (Hess ) 1/n )/n
Monge-Ampère equation:
Vol(B2
n) fn/(n-1)(x) = det Hess
147. Part. 2 Optimal Transport Isoperimetric inequality
Vol(B2
n)1/n ( f n/(n-1))(n-1)/n
L1 Sobolev inegality: a proof with OT [Gromov]
We suppose w.l.o.g. that f n/(n-1) = 1
Vol(B2
n) = Vol(B2
n) f n/(n-1)
= f Vol(B2
n) f 1/(n-1)
= - grad f . grad | grad f | (T = grad B2
n )
Vol(B2
n)1/n
det (Hess ) 1/n )/n
Monge-Ampère equation:
Vol(B2
n) fn/(n-1)(x) = det Hess
149. Part. 3 Optimal Transport how to program ?
Continuous
(X; ) (Y; )
150. Part. 3 Optimal Transport how to program ?
Continuous
Semi-discrete
(X; ) (Y; )
151. Part. 3 Optimal Transport how to program ?
Continuous
Semi-discrete
Discrete
(X; ) (Y; )
152. Part. 3 Optimal Transport how to program ?
Continuous
Semi-discrete
Discrete
(X; ) (Y; )
153. Part. 3 Optimal Transport semi-discrete
X
c (x)d + Y (y)d
Sup
c
(DMK)
(X; ) (Y; )
154. Part. 3 Optimal Transport semi-discrete
(X; ) (Y; )
j (yj) vj
X
c (x)d + Y (y)d
Sup
c
(DMK)
155. Part. 3 Optimal Transport semi-discrete
X
c (x)d + Y (y)d
Sup
c
(DMK)
j (yj) vj
156. Part. 3 Optimal Transport semi-discrete
X
c (x)d + Y (y)d
Sup
c
(DMK)
X inf yj Y [ || x yj ||2 - (yj) ] d
j (yj) vj
157. Part. 3 Optimal Transport semi-discrete
X
c (x)d + Y (y)d
Sup
c
(DMK)
j Lag (yj) || x yj ||2 - (yj) d
X inf yj Y [ || x yj ||2 - (yj) ] d
j (yj) vj
158. Part. 3 Optimal Transport semi-discrete
G( ) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj
Sup
c
(DMK)
Where: Lag (yj) = { x | || x yj ||2 (yj) < || x yj ||2 - (yj ) }
159. Part. 3 Optimal Transport semi-discrete
G( ) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj
Sup
c
(DMK)
Where: Lag (yj) = { x | || x yj ||2 (yj) < || x yj ||2 - (yj ) }
Laguerre diagram of the yj
(with the L2 cost || x y ||2 used here, Power diagram)
160. Part. 3 Optimal Transport semi-discrete
G( ) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj
Sup
c
(DMK)
Where: Lag (yj) = { x | || x yj ||2 (yj) < || x yj ||2 - (yj ) }
Laguerre diagram of the yj
(with the L2 cost || x y ||2 used here, Power diagram)
Weight of yj in the power diagram
161. Part. 3 Optimal Transport semi-discrete
G( ) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj
Sup
c
(DMK)
Where: Lag (yj) = { x | || x yj ||2 (yj) < || x yj ||2 - (yj ) }
Laguerre diagram of the yj
(with the L2 cost || x y ||2 used here, Power diagram)
Weight of yj in the power diagram
is determined by the
weight vector [ (y1) (y2 (ym)]
162. Part. 3 Optimal Transport semi-discrete
G( ) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj
Sup
c
(DMK)
Where: Lag (yj) = { x | || x yj ||2 (yj) < || x yj ||2 - (yj ) }
Laguerre diagram of the yj
(with the L2 cost || x y ||2 used here, Power diagram)
Weight of yj in the power diagram
is determined by the
weight vector [ (y1) (y2 (ym)]
For all weight vector, is c-concave
166. Part. 3 Optimal Transport
Theorem: (direct consequence of MK duality
alternative proof in [Aurenhammer, Hoffmann, Aronov 98] ):
Given a measure with density, a set of points (yj), a set of positive coefficients vj
such that vj d (x), it is possible to find the weights W = [ (y1) (y2 (ym)]
such that the map TS
W is the unique optimal transport map
between and = vj (yj)
167. Part. 3 Optimal Transport
Theorem: (direct consequence of MK duality
alternative proof in [Aurenhammer, Hoffmann, Aronov 98] ):
Given a measure with density, a set of points (yj), a set of positive coefficients vj
such that vj d (x), it is possible to find the weights W = [ (y1) (y2 (ym)]
such that the map TS
W is the unique optimal transport map
between and = vj (yj)
Proof: G( ) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj
Is a concave function of the weight vector [ (y1) (y2 (ym)]
168. Part. 3 Optimal Transport
Theorem: (direct consequence of MK duality
alternative proof in [Aurenhammer, Hoffmann, Aronov 98] ):
Given a measure with density, a set of points (yj), a set of positive coefficients vj
such that vj d (x), it is possible to find the weights W = [ (y1) (y2 (ym)]
such that the map TS
W is the unique optimal transport map
between and = vj (yj)
Proof: G( ) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj
Is a concave function of the weight vector [ (y1) (y2 (ym)]
169. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
The (unknown) weights W = [ (y1) (y2 (ym)]
170. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
T : an arbitrary but fixed assignment.
171. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
T : an arbitrary but fixed assignment.
172. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
T : an arbitrary but fixed assignment.
173. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
T : an arbitrary but fixed assignment.
174. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
W
fT(W)
fT(W)
175. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
W
fT(W)
fT(W)
176. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
fT(W) is linear in W
fT(W)
W
fT(W)
Fixed T
177. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
fT(W) is linear in W
f TW
(W) : defined by power diagram
fT(W)
fixed W
W
178. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
fT(W) is linear in W
f TW
(W) = minT fT(W)
fT(W)
fixed W
W
179. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
fT(W) is linear in W
TW
(W) is concave !!
(because its graph is the lower
enveloppe of linear functions)
fT(W)
W
fT(W)
f TW
(W) = minT fT(W)
180. Part. 3 Optimal Transport the AHA paper
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
fT(W) is linear in W
TW
(W) is concave
(because its graph is the lower
enveloppe of linear functions)
fT(W)
W
fT(W)
f TW
(W) = minT fT(W)
Consider g(W) = f TW
vj j
181. Part. 3 Optimal Transport the AHA paper
fT(W)
W
fT(W)
f TW
(W) = minT fT(W)
Consider g(W) = f TW
vj j
vj - pow(yj)|| x yj ||2d (x) and g is concave.j =
Idea of the proof
Consider the function fT(W) = (|| x T(x) ||2 (T(X)))d (x)
fT(W) is linear in W
TW
(W) is concave
(because its graph is the lower
enveloppe of linear functions)
182. Part. 3 Optimal Transport the algorithm
Semi-discrete OT Summary:
X
c (x)d + Y (y)d
Sup
c
(DMK) G( ) =
183. Part. 3 Optimal Transport the algorithm
Semi-discrete OT Summary:
G( ) = g(W) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj is concave
X
c (x)d + Y (y)d
Sup
c
(DMK) G( ) =
184. Part. 3 Optimal Transport the algorithm
Semi-discrete OT Summary:
G( ) = g(W) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj is concave
vj - pow(yj)|| x yj ||2d (x) (= 0 at the maximum)G / j =
X
c (x)d + Y (y)d
Sup
c
(DMK) G( ) =
185. Part. 3 Optimal Transport the algorithm
Semi-discrete OT Summary:
G( ) = g(W) = j Lag (yj) || x yj ||2 - (yj) d + j (yj) vj is concave
vj - pow(yj)|| x yj ||2d (x) (= 0 at the maximum)G / j =
X
c (x)d + Y (y)d
Sup
c
(DMK) G( ) =
Desired mass at yj Mass transported to yj
186. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Input: two tetrahedral meshes M1 and M2
Output: a morphing between M1 and M2
187. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Input: two tetrahedral meshes M1 and M2
Output: a morphing between M1 and M2
Step 1: sample M2 with N points (s1 sN)
188. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Input: two tetrahedral meshes M1 and M2
Output: a morphing between M1 and M2
Step 1: sample M2 with N points (s1 sN)
Step 2: initialize the weights (w1 wN) = (0 0)
189. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Input: two tetrahedral meshes M1 and M2
Output: a morphing between M1 and M2
Step 1: sample M2 with N points (s1 sN)
Step 2: initialize the weights (w1 wN
Step 3: minimize g(w1 wN) with a quasi-Newton algorithm:
190. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Input: two tetrahedral meshes M1 and M2
Output: a morphing between M1 and M2
Step 1: sample M2 with N points (s1 sN)
Step 2: initialize the weights (w1 wN
Step 3: minimize g(w1 wN) with a quasi-Newton algorithm:
For each iterate (s1 sN)(k):
191. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Input: two tetrahedral meshes M1 and M2
Output: a morphing between M1 and M2
Step 1: sample M2 with N points (s1 sN)
Step 2: initialize the weights (w1 wN) = (0 0)
Step 3: minimize g(w1 wN) with a quasi-Newton algorithm:
For each iterate (s1 sN)(k):
Compute Pow( (wi, si) M1 [Nivoliers, L 2014, Curves and Surfaces]
192. Part. 3 Optimal Transport the algorithm
Compute Pow( (wi, si) M1 [Nivoliers, L 2014, Curves and Surfaces]
Implementation in GEOGRAM (http://alice.loria.fr/software/geogram
193. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Input: two tetrahedral meshes M1 and M2
Output: a morphing between M1 and M2
Step 1: sample M2 with N points (s1 sN)
Step 2: initialize the weights (w1 wN
Step 3: minimize g(w1 wN) with a quasi-Newton algorithm:
For each iterate (s1 sN)(k):
Compute Pow( (wi, si) M1 [L 2014, Curves and Surfaces]
Compute g and grad g
194. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Input: two tetrahedral meshes M1 and M2
Output: a morphing between M1 and M2
Step 1: sample M2 with N points (s1 sN)
Step 2: initialize the weights (w1 wN
Step 3: minimize g(w1 wN) with a quasi-Newton algorithm:
For each iterate (s1 sN)(k):
Compute Pow( (wi, si) M1 [L 2014, Curves and Surfaces]
Compute g and grad g
+ Multilevel version [Merigot 2011] (2D), [L 2014 arXiv, M2AN 2015] (3D)
195. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Summary:
The algorithm computes the weights wi such that the power cells associated with
the Diracs correspond to the preimages of the Diracs.
196. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Summary:
The algorithm computes the weights wi such that the power cells associated with
the Diracs correspond to the preimages of the Diracs.
197. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Summary:
The algorithm computes the weights wi such that the power cells associated with
the Diracs correspond to the preimages of the Diracs.
198. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Summary:
The algorithm computes the weights wi such that the power cells associated with
the Diracs correspond to the preimages of the Diracs.
199. Part. 3 Optimal Transport the algorithm
The [AHA] paper summary:
The optimal weights minimize a convex function
The gradient of this convex function is easy to compute
Note: the weight w(s) correspond to the Kantorovich potential (x)
Monge-
The algorithm:
Summary:
The algorithm computes the weights wi such that the power cells associated with
the Diracs correspond to the preimages of the Diracs.
201. Part. 4 Optimal Transport ???
Wait a minute:
This means that one can move (and possibly deform)
a power diagram simply by changing the weights ?
202. Part. 4 Optimal Transport ???
Wait a minute:
This means that one can move (and possibly deform)
a power diagram simply by changing the weights ?
Reminder: Power diagram in 2d = intersection between
Voronoi diagram in 3d and IR2
hi = sqrt(wmax wi)
Height of point i Weight of point i
217. Part. 4 Optimal Transport 2D examples
Numerical Experiment: Splitting a disk
218. Part. 4 Optimal Transport 2D examples
Numerical Experiment: A disk becomes two disks
219. Part. 4 Optimal Transport 3D examples
Numerical Experiment: A sphere becomes a cube
220. Part. 4 Optimal Transport 3D examples
Numerical Experiment: A sphere becomes two spheres
221. Part. 4 Optimal Transport 3D examples
Numerical Experiment: Armadillo to sphere
222. Part. 4 Optimal Transport 3D examples
Numerical Experiment: Other examples
223. Part. 4 Optimal Transport 3D examples
Numerical Experiment: Varying density
224. Part. 4 Optimal Transport 3D examples
Numerical Experiment: Performances
225. Part. 4 Optimal Transport 3D examples
Numerical Experiment: Performances
Note that a few years ago, several hours of supercomputer time were needed
for computing OT with a few thousand Dirac masses, with a combinatorial
algorithm in O(n3)
226. Part. 4 Optimal Transport 3D examples
Numerical Experiment: Performances
Note that a few years ago, several hours of supercomputer time were needed
for computing OT with a few thousand Dirac masses, with a combinatorial
algorithm in O(n3)
With the semi-discrete algorithm, it takes less than 10 seconds on my laptop
227. Part. 4 Optimal Transport 3D examples
Numerical Experiment: Performances
Note that a few years ago, several hours of supercomputer time were needed
for computing OT with a few thousand Dirac masses, with a combinatorial
algorithm in O(n3)
In the semi-discrete setting, my 3D version of multigrid algorithm
computes OT for 1 million Dirac masses in less than 1 hour on a laptop PC
228. Part. 4 Optimal Transport 3D examples
Numerical Experiment: Performances
Note that a few years ago, several hours of supercomputer time were needed
for computing OT with a few thousand Dirac masses, with a combinatorial
algorithm in O(n3)
In the semi-discrete setting, my 3D version of multigrid algorithm
computes OT for 1 million Dirac masses in less than 1 hour on a laptop PC
Even much faster convergence can probably be reached with a true Newton
229. Conclusions Open questions
* Connections with physics, Legendre transform and entropy ?
[Cuturi & Peyré] regularized discrete optimal transport why does it work ?
Hint 1: Minimum action principle subject to conservation laws
* More continuous numerical algorithms ?
[Benamou & Brenier] fluid dynamics point of view very elegant, but 4D problem !!
FEM-type adaptive discretization of the subdifferential (graph of T) ?
* Can we characterize OT in other semi-discrete settings ?
measures supported on unions of spheres
piecewise linear densities
* Connections with computational geometry ?
Singularity set [Figalli] = set of points where T is discontinuous
Voronoi diagrams
230. Conclusions - References
Some references (that this presentation is based on)
A Multiscale Approach to Optimal Transport,
Quentin Mérigot, Computer Graphics Forum, 2011
Variational Principles for Minkowski Type Problems, Discrete Optimal Transport,
and Discrete Monge-Ampere Equations
Xianfeng Gu, Feng Luo, Jian Sun, S.-T. Yau, ArXiv 2013
Minkowski-type theorems and least-squares clustering
AHA! (Aurenhammer, Hoffmann, and Aronov), SIAM J. on math. ana. 1998
Topics on Optimal Transportation, 2003
Optimal Transport Old and New, 2008
Cédric Villani
231. Conclusions - References
Other references (that I need to read and understand)
Polar factorization and monotone rearrangement of vector-valued functions
Yann Brenier, Comm. On Pure and Applied Mathematics, June 1991
A computational fluid mechanics solution of the Monge-Kantorovich mass transfer
problem, J.-D. Benamou, Y. Brenier, Numer. Math. 84 (2000), pp. 375-393
Pogorelov, Alexandrov Gradient maps, Minkovsky problem (older than AHA
paper, some overlap, in slightly different context, formalism used by Gu & Yau)
Rockafeller Convex optimization Theorem to switch inf(sup()) sup(inf())
with convex functions (used to justify Kantorovich duality)
New textbook: Filippo Santambrogio Optimal Transport for Applied
Mathematician, Calculus of Variations, PDEs and Modeling Jan 15, 2015
232. Online resources
All the sourcecode/documentation available from:
alice.loria.fr/software/geogram
Computes semi-discrete OT in 3D
Scales up to millions Dirac masses on a laptop
L., A numerical algorithm for semi-discrete L2 OT in 3D,
ESAIM Math. Modeling and Analysis, accepted
(draft: http://arxiv.org/abs/1409.1279 <= to be fixed: bug
in MA equation in this version, fixed in M2AN journal version)
233. Acknowledgements
Funding: European Research Council french
GOODSHAPE ERC-StG-205693
VORPALINE ERC-PoC-334829
ANR MORPHO, ANR BECASIM
Quentin Merigot, Yann Brenier, Boris Thibert, Emmanuel Maitre,
Jean-David Benamou, Filippo Santambrogio, Edouard Oudet, Hervé Pajot.
ANR TOMMI, ANR GEOMETRYA