{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "TIY5iqnMT3Wr" }, "source": [ "# Low-Rank Sinkhorn" ] }, { "cell_type": "markdown", "metadata": { "id": "E_-S77MmiOou" }, "source": [ "We experiment with the low-rank (LR) Sinkhorn solver, proposed by Scetbon et al. as an alternative to the Sinkhorn algorithm. \n", "\n", "The idea of that solver is to compute optimal transport couplings that are low-rank, by design. Rather than look for a $n\\times m$ matrix $P_\\varepsilon$ that has a factorization $D(u)\\exp(-C/\\varepsilon)D(v)$ (as computed by the Sinkhorn algorithm) when solving a problem with cost $C$, the set of feasible plans is restricted to those adopting a factorization of the form $P_r = Q D(1/g) R^T$, where $Q$ is $n\\times r$, $R$ is $r \\times m$ are two thin matrices, and $g$ is a $r$-dimensional probability vector." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sys\n", "\n", "if \"google.colab\" in sys.modules:\n", " !pip install -q git+https://github.com/ott-jax/ott@main" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "q9wY2bCeUIB0" }, "outputs": [], "source": [ "import jax.numpy as jnp\n", "import jax\n", "import ott\n", "from ott.geometry import pointcloud\n", "from ott.problems.linear import linear_problem\n", "from ott.solvers.linear import sinkhorn, sinkhorn_lr\n", "import matplotlib.pyplot as plt\n", "\n", "plt.rcParams.update({\"font.size\": 18})" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "id": "PfiRNdhVW8hT" }, "outputs": [], "source": [ "def create_points(rng, n, m, d):\n", " rngs = jax.random.split(rng, 4)\n", " x = jax.random.normal(rngs[0], (n, d)) + 1\n", " y = jax.random.uniform(rngs[1], (m, d))\n", " a = jax.random.uniform(rngs[2], (n,))\n", " b = jax.random.uniform(rngs[3], (m,))\n", " a = a / jnp.sum(a)\n", " b = b / jnp.sum(b)\n", " return x, y, a, b" ] }, { "cell_type": "markdown", "metadata": { "id": "y4aQGprB_oeW" }, "source": [ "Create an OT problem comparing two point clouds\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "pN_f36ACALET" }, "outputs": [], "source": [ "rng = jax.random.PRNGKey(0)\n", "n, m, d = 19, 35, 2\n", "x, y, a, b = create_points(rng, n=n, m=m, d=d)\n", "\n", "geom = pointcloud.PointCloud(x, y, epsilon=0.1)\n", "ot_prob = linear_problem.LinearProblem(geom, a, b)" ] }, { "cell_type": "markdown", "metadata": { "id": "3RIn0E22ekGj" }, "source": [ "## Solve it with Sinkhorn and plot plan/map" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "height": 515 }, "executionInfo": { "elapsed": 11478, "status": "ok", "timestamp": 1641811696722, "user": { "displayName": "", "photoUrl": "", "userId": "" }, "user_tz": -60 }, "id": "Qxiswt7wc2b9", "outputId": "ceed2473-301c-4622-f2ca-981913162dc4" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAGUCAYAAADQw+3VAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABx20lEQVR4nO3dd3xT5f4H8E+6m6YNbRmlrCJQNsjyCrQMRQoIygXUIqMIAiKiION3UYHiQmToVZaAIijKpTIuG6EyZE9FhiC2pWUUSluSDjpzfn+0OTdpk/Scpqdtyuft67wMOc/znCdJk3zzTJUgCAKIiIiICE4VXQEiIiKiyoKBEREREVEhBkZEREREhRgYERERERViYERERERUiIERERERUSEGRkRERESFGBgRERERFXKp6AoQERFVVVlZWcjJySmTstzc3ODh4VEmZZF1DIyIiIgUkJWVBa1nDeQgvUzKCwgIQGxsLIMjhTEwIiIiUkBOTg5ykI4nMRkucLerrDxk40Ti58jJyWFgpDAGRkRERApygTtcVPYFRuCupuWGgREREZGSVIWHvRgclQsGRkRERApSOamgUtkXGakEFZBfRhUimzhdn4iIiKgQW4yIiIgUpFIVHHaVUTZVIQkYGBERESlJBfsjIyo37EojIiIiKsQWIyIiIgWxK82xMDAiIiJSUJnNSqNywcCIiIhISWXRZMQ2o3LDMUZEREREhdhiREREpCCOMXIsDIyIiIgUpFKVwRgjhkblhl1pRERERIXYYkRERKSkstpElsoFAyMiIiIFcbq+Y2FXGhERURWWlpaGyMhItG7dGhqNBlqtFp06dcKiRYuQk5NjV9l3797F1KlT0bRpU3h6esLPzw+hoaFYvXo1BEGwmm/79u2YNm0aevbsiUaNGsHHxwdubm4IDAxE3759sWbNGuTl5ZV4/XPnzmH48OGoW7cu3N3dUbt2bfzzn//EL7/8UurHpBJs1ZyIiIhKRa/XQ6vVopf2PbioPOwqK0/Iwn7dh9DpdPDx8ZGc78aNG+jRowfi4uIAAGq1Gvn5+cjOzgYAtGvXDtHR0fD19ZVdp7NnzyIsLAzJyckAAI1Gg6ysLDGgCQsLw7Zt2+Dm5lYsb6tWrXDp0iXx397e3sjNzUVWVpZ4X/v27bFr1y7UqlXL4vVXr16NCRMmiNfTarXQ6/ViQDZnzhxERkbKflxsMSIiIlKScb6+vYdMeXl5GDBgAOLi4lC7dm3s27cPGRkZyMzMxIYNG+Dt7Y3z589j+PDhssvW6XTo378/kpOT0axZM5w+fRppaWnIyMjAkiVL4Orqir1792Ly5MkW8w8ZMgQrV67EpUuXkJmZCb1ej4cPH+LWrVuYO3cunJyccO7cOURERFjMf/z4cbz22mvIy8vDwIEDkZCQgAcPHiApKQnjx48HAMydOxcbN26U/djYYkRERKQAscWo2qyyaTF68IGsFqOvv/4ar776KgDg2LFj6Ny5s9n5H3/8ES+//DIAYP/+/Xj66acl12fWrFn48MMP4enpiUuXLqFhw4Zm5+fNm4d33nkHzs7OuHz5MoKDgyWXDQDvvPMO5s2bBwBISEhA3bp1zc6HhobiyJEjaN26Nc6ePQtXV1ez83369MHevXsRFBSE69evw9nZWfK12WJERESkpLJoLCrF2Ou1a9cCAHr27FksKAKA8PBwMaBZt26drLKN6U3LMDVp0iRoNBrk5+dj/fr1cquOJ598Urx969Yts3MxMTE4cuQIAGDatGnFgiIAmDlzJgAgLi4Ohw8flnVtBkZEREQKUqlUBTPT7DlkdqVlZmbi6NGjAIC+fftarVefPn0AAD///LPksq9evYr4+HibZWs0GoSGhsou2+jXX38V6/jYY4+Zndu3b59421j/okJCQuDt7V2q6zMwIiIiUlIFjDG6cuUKDAYDgIKBztYYzyUmJiIlJUVS2RcvXiyW31bZly9fllRueno6Ll68iBkzZmDRokUAgBEjRqBGjRoWr1+zZk3UrFnTYlnOzs5o1qwZAJgN8paC6xgRERE5CL1eb/Zvd3d3uLu7F0t3+/Zt8XadOnWslmd67vbt2/Dz8yuxDnLL1uv1SE9Ph0ajKZbmxIkTFrv5nJ2dERERgSVLlli9vq1rG8+fPn3arL5SsMWIiIhIQWXZYFSvXj1otVrxMA5QLiotLU28rVarrdbN9JxpHlvKsmw3NzfUqlULtWrVMpvWP378eMyZMweenp5Wr2/r2qbnpT4uI7YYERERKahMNpEtzJ+QkGA2K81Sa5Ejad++PRITEwEABoMBMTEx+Pzzz7F8+XKsW7cO69evx3PPPVeudWKLERERkYPw8fExO6wFRsaBx0DBQGxrTM+Z5rFFqbKdnJzQuHFjLFmyBAsWLEB6ejqGDRuGO3fuWLy+rWubnpf6uMR6yEpNRERE8qjK6JAhMDBQvF10ursp03OmecqybB8fH4vji2x5/fXX4e7ujvT0dPz4448Wr2/r2qbnpT4uIwZGRERECrJ7qn7hIUfz5s3h5FTwFW86i6wo47mAgABJA68B85loUspu0aKFpHJNeXh4iPW5fv26xevfu3cPSUlJFvPn5+fjzz//BAC0bNlS1rUZGBEREVUxarUaXbt2BQDs2bPHYhpBELB3714AQO/evSWXHRwcjPr169ssOyMjQ1yLSE7ZRmlpaWLQU7Qr7JlnnhFvW7v+0aNHxUHXcq/PwIiIiEhJFdCVBkDcZ+zAgQM4efJksfNRUVGIiYkBAIwcOVL6w1GpxPQbNmwQN6g1tXTpUqSnp8PZ2RnDhg0zO2fc9NWWBQsWiOl69Ohhdu6xxx5DSEgIAGDRokXIzc0tlv+TTz4BADRo0ADdunUr8XqmGBgREREpyDgrzd5DroiICLRu3RqCIGDw4MGIjo4GUDD7KyoqCmPHjgVQsHp10X3SIiMjxetaCnymTZuGgIAAZGZm4tlnn8XZs2cBADk5OVi+fDlmzZoFABg3blyxfdKMM802b96Me/fuifcbDAZcuHAB48aNwwcffAAA6Nq1q8XVrefPnw9nZ2f8/vvvCA8PF8cTpaSk4PXXX8fu3bsBAJ9++qmsfdIATtcnIiKqklxcXLBt2zb07NkTcXFx6NWrF9RqNQwGA7KysgAA7dq1K9VeZlqtFjt27EBYWBguX76Mjh07wtvbG1lZWWILTu/evfHZZ58VyysIArZv347t27cDALy8vODp6Qm9Xo+cnBwx3VNPPYWoqCiLQWGXLl2wYsUKTJgwAZs3b8bmzZtRrVo16HQ6CIIAAJgzZw5efPFF2Y+NLUZEREQKqqgWIwAICgrChQsXMHv2bLRq1QoqlQqurq7o0KEDFi5ciBMnTsDX17dUZXfo0AGXLl3ClClT0KRJE+Tm5sLLywshISFYtWoVdu/ebXE5gWeffRarVq3CsGHD0LJlS3h6eiI1NRVubm5o1qwZRowYgZ07dyI6OtrmgPBXX30VJ0+exMsvv4w6deogMzMTNWvWxMCBAxEdHY3IyMhSPS6VYAytiIiIqMzo9XpotVr0q/cBXJ087Cor15CFXQmzoNPpzBZ4pLLHrjQiIiIFleXK16Q8dqURERERFWKLERERkYJMN4G1pwwqHwyMiIiIlMTIyKGwK42IiIioEFuMiIiIFMQGI8fCwIiIiEhBKpX8TWCLlSEwMiov7EojIiIiKsQWIyIiIiWxL82hsMXIhri4OHFhrlGjRil+vR49eti9ENjBgwfFMkq7HDoREZUdY1xk70Hlo0oHRidOnMAbb7yBDh06wN/fH66urlCr1ahXrx569OiBt956Cz/++COSkpIquqrkoHJzc7Fp0ya89tprePzxx1G7dm24ublBq9WiUaNGGDRoED777DPcuXOnoqtaosjISERGRuLbb7+tkOvr9XocPHgQixYtwtChQxEcHAwnJyebO3wr5YcffjDbo6pHjx6lLuvIkSNmjyMoKEhy3qSkJHzwwQfo0KED/Pz8oFar0ahRI4wePRonTpyQVIacvbhK+gF47949rFu3DqNHj0a7du1QrVo1uLq6wt/fH506dcLUqVNx5coVyY8PAH777TdMmjRJLM/FxQXVqlVDmzZtMG7cOBw5ckRWeUWFhYWZPcaK+vsmx1Elu9J0Oh3GjBmDTZs2FTuXl5eHmzdv4ubNmzh06BC++OILqFQqpKWlwcvLqwJqS45q/fr1mDVrFmJjY4udy83NhV6vR0xMDLZs2YLp06dj6NCh+Oijj1C/fv0KqG3J5s6dCwDo3r17ubSQmtLpdPD19UVl2Lrx/v37eOutt8qkrOzsbIwdO7ZUj2v//v0YNmwY7t27Z3Z/TEwMYmJi8O2332Lq1KlYsGBBmdS1JG+++SaWLVuG/Pz8YudSUlKQkpKCM2fO4PPPP8eUKVMwf/58ODs7Wy3PYDBgypQp+PLLL4s9PzqdDn/88Qf++OMPrFq1CuHh4VizZg08POTtN7Z27Vr8/PPPsvIogVuCOJYqFxjl5uYiLCwMJ0+eBAC4urriueeeQ0hICGrXrg1BEJCYmIjz589j//79uH37NgRBsPjBFRQUVCk+qKlyycvLw5tvvonly5eL9wUGBqJPnz5o3749qlevjqysLNy5cweHDh3CwYMHkZWVhe+//x7Ozs78xWpB0fegSqVC48aNcf/+faSmppZrXSZPnoz79+/Dy8sLGRkZdpX1wQcf4M8//5Rd1tmzZ/H8888jMzMTAPDMM89g8ODB0Gg0OHXqFL7++mtkZGRg4cKFcHd3x4cfflhimS1btiwxna2g/fLly2JQ1LJlSzz11FNo3bo1qlWrhnv37mHnzp3YvXs3DAYDFi1aBJ1Oh1WrVlkt7+2338YXX3wh/nvAgAHo0aMHAgMDce/ePRw/fhxRUVHIz8/Hhg0bkJ+fj40bN5b4OI3u3buHt99+GwDK5LW0ixPs75/hV1G5qXKB0dKlS8WgKCgoCLt370azZs0sphUEAceOHcOKFSvg5FSlexWpDL311ltiUOTh4YH58+fjtddeg5ubW7G0//rXv5CSkoIFCxbg3//+d3lX1WG4uLggPDwcHTp0QIcOHdC+fXtotVr06NEDhw4dKrd67N69G+vXr4eTkxPmzJmDGTNmlLqsCxcu4NNPPwUAvP/++5g6daqkfIIgYNy4cWJQFBkZiTlz5ojnhw0bhtGjR6Nbt27Q6/WYN28eXnrpJbRu3dpmudWrV8fAgQNL92AAODs7Y9iwYZgyZQo6dOhQ7PzEiRPx008/YejQocjLy8Pq1asxdOhQPPXUU8XSxsXF4csvvxTL3bVrF3r37m2W5s0338T06dPRvXt3pKenIyoqCr/99hsef/xxSfWdNGkSUlJS0K5dO7Rs2RLff/+9/AddRthi5FiqXDSwfv168fby5cutBkVAwR9a165d8d1330GtVpdH9cjB/fTTT1i2bBmAgqBo3759ePPNNy0GRUZ+fn6YN28ejh8/jsaNG5dXVR2KRqPBjz/+iGnTpqFnz57QarXlXof09HS89tprAAq+5Dt16lTqsvLz8zFmzBjk5uZiwIABGDRokOS827Ztw7lz5wAA//jHPzB79uxiadq2bYt58+YBKOiSev/990tdV6k2bNiA77//3mJQZDRkyBCzbsi1a9daTLd//34YDAYAwKBBg4oFRUbt27fH+PHjxX//+uuvkuq6bds2bNy4EU5OTli5cqXNLj2ioqpcYPTnn3+Kt7t3725XWVJmpVmaSbZhwwY888wzCAgIgLu7Oxo0aIBRo0aZ1c0ekZGR4jVbtWqFW7du2UwfHx+PqVOnolmzZvDy8kK1atXQpUsXLFu2DHl5eZKueeXKFbz11lto1aoVtFotPD090aBBA7z44ovYsmVLifmDgoLMBp5mZWXhiy++QEhICGrVqgUnJyezAa5F0+fl5WHlypUICQlB9erV4enpiSZNmuCNN97AzZs3JT0GewmCgFmzZon//uijjxASEiI5f9u2bfHee+9ZPZ+SkoIPPvgAnTt3Ro0aNeDm5obatWujV69e+PLLL5GVlVXiNW7fvo3Zs2ejc+fO8PPzg6urK3x9fdGkSROEhobi7bffLvblUvTv99ChQxYH5h48eFDyY3VEM2fORHx8POrWrYuPPvrIrrI+//xznDlzBhqNBkuXLpWV9z//+Y94e9KkSVZbCkaNGgUfHx8AwM6dOxXvKvL19ZWU7oUXXhBv//HHHxbTmI6batKkic3ygoODxdtSHqNer8frr78OAHjjjTfQsWPHEvMorWBWmfRB8JaPin4Uj44q15VmOjAwKSmpXAe6ZmVlYejQodi6davZ/fHx8Vi7di02bNiALVu2oG/fvqUq32AwYOLEiVixYgUAoEuXLtixY4fND6w9e/Zg6NChePDggdn9x48fx/Hjx7F161Zs374d7u7uVsuYM2cOPvroo2KDLuPj4xEfH4+oqCj06NEDmzZtgp+fX4mPIzY2FgMGDMClS5dKTAsUDIYdOHAgjh49anb/9evXcf36dfzwww/Yt2+fzV+yZWHPnj1icFujRg288cYbZVb2f//7X4waNarY65SYmIjExERER0dj4cKF2Lp1K9q1a2exjJ07dyI8PBzp6elm9z948AAPHjzA9evXceTIEXzzzTfFrlMakZGR4oDtiIgIhx47dezYMbEl8Msvv4S3t3epy4qJiRFbeT744APUq1dP1ow608HCYWFhVtOp1WqEhoZi586dePjwIQ4dOoR+/fqVut5lxfS5e/jwocU0tWrVEm//9ddfNsszPd+8efMSrz9jxgzcunULdevWlTT2qjyonAoOu8rgGKNyU+UCo0aNGuHixYsACj7gymvGBgCMHj0aW7duRYcOHRAeHo769evj/v37WL9+PY4dO4bs7GwMHz4cV69eRfXq1WWVnZ2djWHDhokz7fr164eoqCibXYC//fYbFixYAEEQMH78eHTu3Bnu7u44c+YMVqxYgYyMDOzbtw8fffSR1ab4mTNn4pNPPgFQMBYgPDwcTz31FDw9PfHHH3/gm2++wd27d3Hw4EH07NkTJ0+etDlzJDs7G4MGDcKlS5cQEhKCwYMHIzAwEElJSbh7926x9Hl5eRg8eDCOHj2Knj17YuDAgahduzZu3bqF1atX49KlS0hNTUV4eDguXbpks0vLXvv27RNvv/jii2V2rV27dmHw4MFi4NmtWzcMGTIE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LVuv1yM9PV1S2XKub+vapuelPi6jShUYATDrB42JibGazt3dHT4+PmYHERFRZVOWLUb16tUz6y2ZN2+exWumpaWJt9VqtdW6mZ4zzWOLkmXLub6ta5uel3tt7rtBRETkIBISEswaAtzdlVvE9FFV6QKjEydOiLctjXQnIiJyJGWxCawxv9QeEuPAY6BgILY1pudM88gp21p9SlO2nOvbelym5+Veu1wDI0EQbP5xZGdn49133wUAeHl54emnn1asLjGx0gaZGZ08Fic57dBh7SWnDaztmF2Act7kp87clJy2dQvLA+mscXWt2quw+/jI+zWo5DYfx07ES05bvbrtJm5TwY2ry6pHzVoaWemVkpcvfUuQ8GHtJKeV+xoqtc2H3HrkZOdKTitnyxi52yA5OUkbISI1XZlQFR72liFDYGCgePvWrVto06aNxXS3bt2ymEdO2dYCI2PZPj4+0GjK7n1rvL5p3W1dX+rjMir1X0Zqairu378vHsbR75mZmWb3mw64Onz4MHr16oXvvvsON2/+78syNzcX0dHRCA0NxcmTJwEAs2fPRrVq1UpbPSIiokdW8+bNxeDPdBZZUcZzAQEB8PPzk1S26Uw0KWW3aNFCUrlSGa9/7949JCUlWUyTn5+PP//8EwDQsmVLWeWXOjBq164datSoIR7GWWELFiwwu/+NN94Q8wiCgOjoaIwcORL16tWDWq1GjRo14OXlhV69euH06dNwcnLCO++8gxkzZpS2akRERJVGRSzwqFar0bVrVwDAnj17LKYRBAF79+4FAPTu3Vty2cHBwahfv77NsjMyMvDrr7/KLluKZ555Rrxt7fpHjx4VB13LvX65zkpr3bo1Fi5ciMGDByM4OBienp548OABPD090bZtW7zxxhv47bff8NFHH5VntYiIiBRTEesYAUBERASAgt3qjb0xpqKiosTZ3yNHjpTxeFRi+g0bNogb1JpaunQp0tPT4ezsjGHDhsmvvA2PPfYYQkJCAACLFi1Cbm7xbtxPPvkEANCgQQN069ZNVvmlDozi4uIgCEKJx7fffivm8ff3x9SpU/HTTz/h6tWrSE5ORm5uLnQ6HX777Td8+eWXaN26dWmrRERERIUiIiLQunVrCIKAwYMHi2sDGgwGREVFYezYsQAKVq8uOqY3MjJSbKmyFPhMmzYNAQEByMzMxLPPPouzZ88C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y5YJbm5uAgBhwoQJFusWExMjeHl5CQCE0NBQ4dq1a4IgCEJ6erowd+5cQaVSCQCE+fPnW8x/9OhRwdnZWQAgDBo0SLh586YgCIKQnJwsTJgwQaz7f/7zH9nPGwMjIiKiKio2NlYICgoSAwW1Wi14eHiI/27Xrp3FTVpLCowEQRDOnDkj+Pv7i+m8vb0FV1dX8d+9e/cWsrKyrNZt586dglqtFtNrtVox2AEgvPLKK4LBYLCaf9WqVYKLi4uYvlq1amJABUCYM2eO3KdLEARuIktERFRlBQUF4cKFC5g9ezZatWoFlUoFV1dXdOjQAQsXLsSJEyfg6+tbqrI7dOiAS5cuYcqUKWjSpAlyc3Ph5eWFkJAQrFq1Crt377a6nAAA9OvXDxcuXMDYsWMRFBSErKws+Pr64plnnsFPP/2Eb775xuZWKK+++ipOnjyJl19+GXXq1EFmZiZq1qyJgQMHIjo6utTrO6kEQRBKlZOIiIioimGLEREREVEhBkZEREREhRgYERERERViYERERERUiIERERERUSEGRkRERESFGBgRERERFWJgRERERFSIgRERERFRIQZGRERERIUYGBEREREVYmBEREREVIiBEREREVEhBkZEREREhf4fTpl+sa49KEQAAAAASUVORK5CYII=\n", "text/plain": [ "