{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Semi-discrete Optimal Transport\n", "===============================\n", "\n", "$\\newcommand{\\dotp}[2]{\\langle #1, #2 \\rangle}$\n", "$\\newcommand{\\enscond}[2]{\\lbrace #1, #2 \\rbrace}$\n", "$\\newcommand{\\pd}[2]{ \\frac{ \\partial #1}{\\partial #2} }$\n", "$\\newcommand{\\umin}[1]{\\underset{#1}{\\min}\\;}$\n", "$\\newcommand{\\umax}[1]{\\underset{#1}{\\max}\\;}$\n", "$\\newcommand{\\umin}[1]{\\underset{#1}{\\min}\\;}$\n", "$\\newcommand{\\uargmin}[1]{\\underset{#1}{argmin}\\;}$\n", "$\\newcommand{\\norm}[1]{\\|#1\\|}$\n", "$\\newcommand{\\abs}[1]{\\left|#1\\right|}$\n", "$\\newcommand{\\choice}[1]{ \\left\\{ \\begin{array}{l} #1 \\end{array} \\right. }$\n", "$\\newcommand{\\pa}[1]{\\left(#1\\right)}$\n", "$\\newcommand{\\diag}[1]{{diag}\\left( #1 \\right)}$\n", "$\\newcommand{\\qandq}{\\quad\\text{and}\\quad}$\n", "$\\newcommand{\\qwhereq}{\\quad\\text{where}\\quad}$\n", "$\\newcommand{\\qifq}{ \\quad \\text{if} \\quad }$\n", "$\\newcommand{\\qarrq}{ \\quad \\Longrightarrow \\quad }$\n", "$\\newcommand{\\ZZ}{\\mathbb{Z}}$\n", "$\\newcommand{\\CC}{\\mathbb{C}}$\n", "$\\newcommand{\\RR}{\\mathbb{R}}$\n", "$\\newcommand{\\EE}{\\mathbb{E}}$\n", "$\\newcommand{\\Zz}{\\mathcal{Z}}$\n", "$\\newcommand{\\Ww}{\\mathcal{W}}$\n", "$\\newcommand{\\Vv}{\\mathcal{V}}$\n", "$\\newcommand{\\Nn}{\\mathcal{N}}$\n", "$\\newcommand{\\NN}{\\mathcal{N}}$\n", "$\\newcommand{\\Hh}{\\mathcal{H}}$\n", "$\\newcommand{\\Bb}{\\mathcal{B}}$\n", "$\\newcommand{\\Ee}{\\mathcal{E}}$\n", "$\\newcommand{\\Cc}{\\mathcal{C}}$\n", "$\\newcommand{\\Gg}{\\mathcal{G}}$\n", "$\\newcommand{\\Ss}{\\mathcal{S}}$\n", "$\\newcommand{\\Pp}{\\mathcal{P}}$\n", "$\\newcommand{\\Ff}{\\mathcal{F}}$\n", "$\\newcommand{\\Xx}{\\mathcal{X}}$\n", "$\\newcommand{\\Yy}{\\mathcal{Y}}$\n", "$\\newcommand{\\Mm}{\\mathcal{M}}$\n", "$\\newcommand{\\Ii}{\\mathcal{I}}$\n", "$\\newcommand{\\Dd}{\\mathcal{D}}$\n", "$\\newcommand{\\Ll}{\\mathcal{L}}$\n", "$\\newcommand{\\Tt}{\\mathcal{T}}$\n", "$\\newcommand{\\si}{\\sigma}$\n", "$\\newcommand{\\al}{\\alpha}$\n", "$\\newcommand{\\la}{\\lambda}$\n", "$\\newcommand{\\ga}{\\gamma}$\n", "$\\newcommand{\\Ga}{\\Gamma}$\n", "$\\newcommand{\\La}{\\Lambda}$\n", "$\\newcommand{\\si}{\\sigma}$\n", "$\\newcommand{\\Si}{\\Sigma}$\n", "$\\newcommand{\\be}{\\beta}$\n", "$\\newcommand{\\de}{\\delta}$\n", "$\\newcommand{\\De}{\\Delta}$\n", "$\\newcommand{\\phi}{\\varphi}$\n", "$\\newcommand{\\th}{\\theta}$\n", "$\\newcommand{\\om}{\\omega}$\n", "$\\newcommand{\\Om}{\\Omega}$\n", "$\\newcommand{\\eqdef}{\\equiv}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This numerical tour studies semi-discrete optimal transport, i.e. when\n", "one of the two measure is discrete. \n", "\n", "The initial papers that proposed this approach are [Oliker89,Aurenhammer98]. We refer to [Mérigot11,Lévy15] for modern references and fast implementations.\n", "\n", "This tour is not inteded to show efficient\n", "algorithm but only conveys the main underlying idea (c-transform,\n", "Laguerre cells, connexion to optimal quantization).\n", "In the Euclidean case, there exists efficient algorithm to compute\n", "Laguerre cells leveraging computational geometry algorithm for convex\n", "hulls [Aurenhammer87]." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dual OT and c-transforms\n", "------------------------\n", "The primal Kantorovitch OT problem reads\n", "$$ W_c(\\al,\\be) = \\umin{\\pi} \\enscond{\\int_{\\Xx \\times \\Yy} c(x,y) \\text{d}\\pi(x,y)}{ \\pi_1=\\al,\\pi_2=\\be }. $$\n", "It dual is\n", "$$ W_c(\\al,\\be) = \\umax{f,g} \\enscond{ \\int_\\Xx f \\text{d} \\al + \\int_\\Yy g \\text{d} \\be }{ f(x)+g(y) \\leq c(x,y) }. $$\n", "\n", "\n", "We consider the case where $\\al=\\sum_i a_i \\de_{x_i}$ is a discrete\n", "measure, so that the function $f(x)$ can be replaced by a vector\n", "$(f_i)_{i=1}^n \\in \\RR^n$. The optimal $g(y)$ function can the be\n", "replaced by the $c$-transform of $f$\n", "$$ f^c(y) \\eqdef \\umin{i} c(x_i,y) - f_i. $$\n", "\n", "\n", "The function to maximize is then\n", "$$ W_c(\\al,\\be) = \\umax{f \\in \\RR^n} \\Ee(f) \\eqdef \\sum_i f_i a_i + \\int f^c(y) \\text{d}\\be(y). $$\n", "\n", "Semi-discret via Gradient Ascent\n", "--------------------------------\n", "We now implement a gradient ascent scheme for the maximization of\n", "$\\Ee$. The evaluation of $\\Ee$) can be computed via the introduction\n", "of the partition of the domain in Laguerre cells\n", "$$ \\Yy = \\bigcup_{i} L_i(f) \\qwhereq L_i(f) \\eqdef \\enscond{y}{ \\forall j,\n", " c(x_i,y) - f_i \\leq c(x_j,y) - f_j }. $$\n", "When $f=0$, this corrsponds to the partition in Voronoi cells.\n", "\n", "\n", "One has that $\\forall y \\in L_i(f)$, $f^c(y) = c(x_i,y) - f_i$, i.e. $f^c$ is piecewise smooth\n", "according to this partition.\n", "\n", "\n", "The grid for evaluation of the \"continuous measure\"." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "p = 300 # size of the image for sampling, m=p*p\n", "t = np.linspace(0, 1, p)\n", "[V, U] = np.meshgrid(t, t)\n", "Y = np.concatenate((U.flatten()[None, :], V.flatten()[None, :]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First measure, sums of Dirac masses $\\al = \\sum_{i=1}^n a_i \\de_{x_i}$." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "n = 30\n", "X = .5+.5j + np.exp(1j*np.pi/4) * 1 * \\\n", " (.1*(np.random.rand(1, n)-.5)+1j*(np.random.rand(1, n)-.5))\n", "X = np.concatenate((np.real(X), np.imag(X)))\n", "a = np.ones(n)/n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Second measure $\\be$, potentially a continuous one (i.e. with a density),\n", "mixture of Gaussians. Here we discretize $\\beta = \\sum_{j=1}^m b_j \\de_{y_j}$ on a very fine grid." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def Gauss(mx, my, s): return np.exp((-(U-mx)**2-(V-my)**2)/(2*s**2))\n", "\n", "\n", "Mx = [.6, .4] # means\n", "My = [.9, .1]\n", "S = [.07, .09] # variance\n", "W = [.5, .5] # weights\n", "b = W[0]*Gauss(Mx[0], My[0], S[0]) + W[1]*Gauss(Mx[1], My[1], S[1])\n", "b = b/np.sum(b.flatten())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Display the two measures." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Col = np.random.rand(n, 3)\n", "plt.imshow(-b[::-1, :], extent=[0, 1, 0, 1], cmap='gray')\n", "plt.scatter(X[1, :], X[0, :], s=30, c=.8*Col);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Initial potentials." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "f = np.zeros(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "compute Laguerre cells and c-transform" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def distmat(x, y): return np.sum(\n", " x**2, 0)[:, None] + np.sum(y**2, 0)[None, :] - 2*x.transpose().dot(y)\n", "\n", "\n", "D = distmat(Y, X) - f[:].transpose()\n", "fC = np.min(D, axis=1)\n", "I = np.reshape(np.argmin(D, axis=1), [p, p])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dual value of the OT, $\\dotp{f}{a}+\\dotp{f^c}{\\be}$." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.10332540740714227\n" ] } ], "source": [ "OT = np.sum(f*a) + np.sum(fC*b.flatten())\n", "print(OT)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Display the Laguerre call partition (here this is equal to the Vornoi\n", "diagram since $f=0$)." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 1.0, 0.0, 1.0)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(I[::-1, :], extent=[0, 1, 0, 1])\n", "plt.scatter(X[1, :], X[0, :], s=20, c='k')\n", "plt.contour(t, t, I, np.linspace(-.5, n-.5, n), colors='k')\n", "plt.axis('off')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Where $\\be$ has a density with respect to Lebesgue measure, then\n", "$\\Ee$ is smooth, and its gradient reads\n", "$$ \\nabla \\Ee(f)_i = a_i - \\int_{L_i(f)} \\text{d}\\be(x). $$\n", "\n", "sum area captured" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Exercise 1__\n", "\n", "Implement a gradient ascent\n", "$$ f \\leftarrow f + \\tau \\nabla \\Ee(f). $$\n", "Experiment on the impact of $\\tau$, display the evolution of the OT value $\\Ee$ and\n", "of the Laguerre cells." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "tau = .02 # step size\n", "niter = 200 # iteration for the descent\n", "q = 6 # number of displays\n", "ndisp = np.unique(np.round(1 + (niter/4-1)*np.linspace(0, 1, q)**2))\n", "kdisp = 0\n", "f = np.zeros(n)\n", "E = np.zeros(niter)\n", "for it in range(niter):\n", " # compute Laguerre cells and c-transform\n", " D = distmat(Y, X) - f[:].transpose()\n", " fC = np.min(D, axis=1)\n", " I = np.reshape(np.argmin(D, axis=1), [p, p])\n", " E[it] = np.sum(f*a) + np.sum(fC*b.flatten())\n", " # display\n", " if (kdisp < len(ndisp)) and (ndisp[kdisp] == it):\n", " plt.subplot(2, 3, kdisp+1)\n", " plt.imshow(I[::-1, :], extent=[0, 1, 0, 1])\n", " plt.scatter(X[1, :], X[0, :], s=20, c='k')\n", " plt.contour(t, t, I, np.linspace(-.5, n-.5, n), colors='k')\n", " plt.axis('off')\n", " kdisp = kdisp+1\n", " # gradient\n", " R = (I[:, :, None] == np.arange(0, n)[None, None, :]) * b[:, :, None]\n", " nablaE = a-np.sum(R, axis=(0, 1)).flatten()\n", " f = f+tau*nablaE" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Display the evolution of the estimated OT distance." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(E, '-')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Stochastic Optimization\n", "-----------------------\n", "The function $\\Ee$ to minimize can be written as an expectation over a\n", "random variable $Y \\sim \\be$\n", "$$ \\Ee(f)=\\EE(E(f,Y)) \\qwhereq E(f,y) = \\dotp{f}{a} + f^c(y). $$\n", "\n", "\n", "As proposed in [Genevay16], one can thus use a stochastic gradient ascent scheme to minimize this\n", "function, at iteration $\\ell$\n", "$$ f \\leftarrow f + \\tau_\\ell \\nabla E(f,y_\\ell) $$\n", "where $y_\\ell \\sim Y$ is a sample drawn according to $\\be$ and the\n", "step size $\\tau_\\ell \\sim 1/\\ell$ should decay at a carefully chosen\n", "rate.\n", "\n", "\n", "The gradient of the integrated functional reads\n", "$$ \\nabla E(f,y)_i = a - 1_{L_i(f)}(y), $$\n", "where $1_A$ is the binary indicator function of a set $A$.\n", "\n", "\n", "Initialize the algorithm." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "f = np.zeros(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Draw the sample." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "k = np.int(np.random.rand(1) < W[1]) # select one of the two Gaussian\n", "y = np.array((S[k] * np.random.randn(1) + Mx[k],\n", " S[k] * np.random.randn(1) + My[k]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute the randomized gradient: detect Laguerre cell where $y$ is." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "R = np.sum(y**2) + np.sum(X**2, axis=0) - 2*y.transpose().dot(X) - f[:]\n", "i = np.argmin(R)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Randomized gradient." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "a = np.ones(n)/n\n", "nablaEy = a.copy()\n", "nablaEy[i] = nablaEy[i] - 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Exercise 2__\n", "\n", "Implement the stochastic gradient descent.\n", "Test various step size selection rule." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "niter = 300\n", "q = 6\n", "ndisp = np.unique(np.round(1 + (niter/2-1)*np.linspace(0, 1, q)**2))\n", "kdisp = 0\n", "E = np.zeros(niter)\n", "for it in range(niter):\n", " # sample\n", " k = np.int(np.random.rand(1) < W[1]) # select one of the two Gaussian\n", " y = np.array((S[k] * np.random.randn(1) + Mx[k],\n", " S[k] * np.random.randn(1) + My[k]))\n", " # detect Laguerre cell where y is\n", " R = np.sum(y**2) + np.sum(X**2, axis=0) - 2*y.transpose().dot(X) - f[:]\n", " i = np.argmin(R)\n", " # gradient\n", " nablaEy = a.copy()\n", " nablaEy[i] = nablaEy[i] - 1\n", " # gradient ascent\n", " l0 = 10 # warmup phase.\n", " tau = .1/(1 + it/l0)\n", " f = f + tau*nablaEy\n", " # compute Laguerre cells and c-transform\n", " D = distmat(Y, X) - f[:].transpose()\n", " fC = np.min(D, axis=1)\n", " I = np.reshape(np.argmin(D, axis=1), [p, p])\n", " E[it] = np.sum(f*a) + np.sum(fC*b.flatten())\n", " # display\n", " if (kdisp < len(ndisp)) and (ndisp[kdisp] == it):\n", " plt.subplot(2, 3, kdisp+1)\n", " plt.imshow(I[::-1, :], extent=[0, 1, 0, 1])\n", " plt.scatter(X[1, :], X[0, :], s=20, c='k')\n", " plt.contour(t, t, I, np.linspace(-.5, n-.5, n), colors='k')\n", " plt.axis('off')\n", " kdisp = kdisp+1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Display the evolution of the estimated OT distance (warning: recording this\n", "takes lot of time)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(E)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Optimal Quantization and Lloyd Algorithm\n", "----------------------------------------\n", "We consider the following optimal quantization problem [Gruber02]\n", "$$ \\umin{ (a_i)_i,(x_i)_i } W_c\\pa{ \\sum_i a_i \\de_{x_i},\\be }. $$\n", "This minimization is convex in $a$, and writing down the optimality\n", "condition, one has that the associated dual potential should be $f=0$,\n", "which means that the associated optimal Laguerre cells should be Voronoi\n", "cells $L_i(0)=V_i(x)$ associated to the sampling locations\n", "$$ V_i(x) = \\enscond{y}{ \\forall j, c(x_i,y) \\leq c(x_j,y) }. $$\n", "\n", "This problem is tightly connected to semi-discrete OT, and this connexion and its implications are studied in [Canas12].\n", "\n", "The minimization is non-convex with respect to the positions\n", "$x=(x_i)_i$ and one needs to solve\n", "$$ \\umin{x} \\Ff(x) \\eqdef \\sum_{i=1}^n \\int_{V_i(x)} c(x_i,y) \\text{d} \\be(y). $$\n", "For the sake of simplicity, we consider the case where\n", "$c(x,y)=\\frac{1}{2}\\norm{x-y}^2$.\n", "\n", "\n", "The gradient reads\n", "$$ \\nabla \\Ff(x)_i = x_i \\int_{V_i(x)} \\text{d}\\be - \\int_{V_i(x)} y \\text{d}\\be(y). $$\n", "The usual algorithm to compute stationary point of this energy is Lloyd's algorithm [Lloyd82], which\n", "iterate the fixed point\n", "$$ x_i \\leftarrow \\frac{ \\int_{V_i(x)} y \\text{d}\\be(y) }{ \\int_{V_i(x)} \\text{d}\\be }, $$\n", "i.e. one replaces the centroids by the barycenter of the cells.\n", "\n", "\n", "Intialize the centroids positions." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "X1 = X.copy()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute the Voronoi cells $V_i(x)$." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "D = D = distmat(Y, X1)\n", "fC = np.min(D, axis=1)\n", "I = np.reshape(np.argmin(D, axis=1), [p, p])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Update the centroids to the barycenters." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "A = (I[:, :, None] == np.arange(0, n)[None, None, :]) * b[:, :, None]\n", "B = (I[:, :, None] == np.arange(0, n)[None, None, :]) * \\\n", " b[:, :, None] * (U[:, :, None] + 1j*V[:, :, None])\n", "X1 = np.sum(B, axis=(0, 1)) / np.sum(A, axis=(0, 1))\n", "X1 = np.concatenate((np.real(X1)[None, :], np.imag(X1)[None, :]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Exercise 3__\n", "\n", "Implement Lloyd algortihm." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "niter = 60\n", "q = 6\n", "ndisp = np.unique(np.round(1 + (niter/4-1)*np.linspace(0, 1, q)**2))\n", "kdisp = 0\n", "E = np.zeros(niter)\n", "X1 = X.copy()\n", "for it in range(niter):\n", " # compute Voronoi cells\n", " D = D = distmat(Y, X1)\n", " fC = np.min(D, axis=1)\n", " I = np.reshape(np.argmin(D, axis=1), [p, p])\n", " E[it] = np.sum(fC*b.flatten())\n", " # display\n", " if (kdisp < len(ndisp)) and (ndisp[kdisp] == it):\n", " plt.subplot(2, 3, kdisp+1)\n", " plt.imshow(I[::-1, :], extent=[0, 1, 0, 1])\n", " plt.scatter(X[1, :], X[0, :], s=20, c='k')\n", " plt.contour(t, t, I, np.linspace(-.5, n-.5, n), colors='k')\n", " plt.axis('off')\n", " kdisp = kdisp+1\n", " # update barycenter\n", " A = (I[:, :, None] == np.arange(0, n)[None, None, :]) * b[:, :, None]\n", " B = (I[:, :, None] == np.arange(0, n)[None, None, :]) * \\\n", " b[:, :, None] * (U[:, :, None] + 1j*V[:, :, None])\n", " X1 = np.sum(B, axis=(0, 1)) / np.sum(A, axis=(0, 1))\n", " X1 = np.concatenate((np.real(X1)[None, :], np.imag(X1)[None, :]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Display the evolution of the estimated OT distance." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(E[1:-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "References\n", "----------\n", "* [Oliker89] Vladimir Oliker and Laird D Prussner. _On the numerical solution of the equation $\\frac{\\partial^2 z}{\\partial x^2} \\frac{\\partial^2 z}{\\partial y^2} - \\pa{\\frac{\\partial^2 z}{\\partial x\\partial y}}^2 = f$ and its discretizations_, I. Numerische Mathematik, 54(3):271-293, 1989.\n", "* [Aurenhammer98] Franz Aurenhammer, Friedrich Hoffmann and Boris Aronov. _Minkowski-type theorems and least-squares clustering_. Algorithmica, 20(1):61-76, 1998.\n", "* [Mérigot11] Quentin Mérigot. _A multiscale approach to optimal transport_. Comput. Graph. Forum, 30(5):1583-1592, 2011.\n", "* [Lévy15] Bruno Lévy. _A numerical algorithm for l2 semi-discrete optimal transport in 3D_. ESAIM: Mathematical Modelling and Numerical Analysis, 49(6):1693-1715, 2015.\n", "* [Aurenhammer87] Franz Aurenhammer. _Power diagrams: properties, algorithms and applications_. SIAM Journal on Computing, 16(1):78-96, 1987.\n", "* [Canas12] Guillermo Canas, Lorenzo Rosasco, _Learning probability measures with respect to optimal transport metrics_. In Advances in Neural Information Processing Systems, pp. 2492--2500, 2012.\n", "* [Gruber02] Peter M. Gruber. _Optimum quantization and its applications_. Adv. Math, 186:2004, 2002.\n", "* [Lloyd82] Stuart P. Lloyd, _Least squares quantization in PCM_, IEEE Transactions on Information Theory, 28 (2): 129-137, 1982.\n", "* [Genevay16] Aude Genevay, Marco Cuturi, Gabriel Peyré and Francis Bach. _Stochastic oppmization for large-scale optimal transport_. In Advances in Neural Information Processing Systems, pages 3440-3448, 2016." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.1" } }, "nbformat": 4, "nbformat_minor": 1 }