Raw File
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "555895da",
   "metadata": {},
   "outputs": [],
   "source": [
    "# hide: begin\n",
    "import os\n",
    "import warnings\n",
    "\n",
    "warnings.simplefilter(\"ignore\")\n",
    "os.environ[\"TF_CPP_MIN_LOG_LEVEL\"] = \"3\"\n",
    "# hide: end\n",
    "\n",
    "from typing import Optional\n",
    "from time import perf_counter\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import tensorflow as tf\n",
    "import tensorflow_probability as tfp\n",
    "from matplotlib.axes import Axes\n",
    "\n",
    "import gpflow\n",
    "from gpflow.experimental.check_shapes import check_shapes, check_shape\n",
    "\n",
    "# hide: begin\n",
    "%matplotlib inline\n",
    "plt.rcParams[\"figure.figsize\"] = (12, 5)\n",
    "# hide: end"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "32a011b9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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A7Xs/FSSOGtasB93rmbnF3P17OckV3e2nTqvh4bTr8/sx2dO9aOTLaQjvV5+eefgnGilcsa5gzUmSUb7xP8bt+9QNBbdyyd66+KNm09Ja+0XjwvO+AAAUaHwAQCiQuEDAESFwgcAiAqFDwAQFQofACAqxBnez6zIQQstjUbCantkRR28uZLkpSGCcX28d6W1G3eoO1uwLkH3evsYcYQj+/bGs4/ejSu00nbIGfeiEN7roWG0uDoynj3fm4vjbyI8JZzxAQCiQuEDAESFwgcAiAqFDwAQFQofACAqFD4AQFQofACAqJDji1ULLY1GtnkjS+fk9FrO+RnzgxNIS1I70Bacdk1Jzjj2hr3tpO7s28vxWWveQg5PktTKeIttiVIv52ekM1Pnu33qJDud+KMa7sJY27bnps7CnKgZRa/j0fHAGR8AICqjKnzr16/XvHnz1NbWpoULF2r79u0jmrdx40YlSaLLL798NLsFAKBlTRe+Rx99VF1dXVq9erV27typ888/X4sXL9Zbb71lznvjjTf0d3/3d7r00ktHfbAAALSq6cK3du1aXXfddVq2bJnOPvtsbdiwQZMnT9aDDz6YOSdNU1111VX6yle+otNOO62lAwYAoBVNFb5qtaodO3aos7Pz1xvI5dTZ2alt27ZlzvvqV7+qWbNm6fOf//zojxQAgGOgqas69+/frzRN1d7ePuz29vZ2vfzyy0ed88wzz+iBBx7QCy+8MOL9VCoVVSqVoX/39fU1c5gAAGQa06s6Dx48qKVLl+q+++7TzJkzRzxvzZo1mj59+tBPR0fHGB4lACAmTZ3xzZw5U/l8Xr29vcNu7+3t1ezZs99z/5///Od64403dNlllw3d1mgcya4UCgW98sorOv30098zb+XKlerq6hr6d19fH8XvePNyfh4jB+j1+hvTnJ/Td05WDk+SUmdd8ta+nblObivxxq3QmdePz3tOnJ56VjbLy20Fr1+fk1erNfKZY1avPkmqhey5klRzc37ZD66mujm34QQcvXeglUFMncft9zh0MoLWoU+AnJ6nqcJXKpW0YMECdXd3D0USGo2Guru7tWLFivfc/8wzz9SLL7447Lbbb79dBw8e1D/90z9lFrNyuaxyudzMoQEAMCJN/+WWrq4uXXPNNbrwwgt10UUXad26derv79eyZcskSVdffbVOPfVUrVmzRm1t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\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.stats import multivariate_normal\n",
    "\n",
    "\n",
    "def plot_data_normals(ax, data, var):\n",
    "    def _pdf(x):\n",
    "        r = 0.0\n",
    "        for d in data:\n",
    "            r += multivariate_normal.pdf(x, mean=d, cov=var)\n",
    "        return r / len(data)\n",
    "    \n",
    "    n_grid = 50\n",
    "    Xplots = np.linspace(0.0, 1.0, n_grid)\n",
    "    Xplot1, Xplot2 = np.meshgrid(Xplots, Xplots)\n",
    "    Xplot = np.stack([Xplot1, Xplot2], axis=-1)\n",
    "    Xplot = Xplot.reshape([n_grid ** 2, 2])\n",
    "    pdf = _pdf(Xplot)\n",
    "    ax.pcolor(Xplot1, Xplot2, pdf.reshape(Xplot1.shape))\n",
    "    \n",
    "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(5, 5))\n",
    "\n",
    "data_x = np.array([\n",
    "    [0.5, 0.8],\n",
    "    [0.8, 0.5],\n",
    "    [0.8, 0.2]\n",
    "])\n",
    "data_var = np.array(0.02)\n",
    "\n",
    "plot_data_normals(ax, data_x, data_var)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "28a02cfa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fc342a59480>]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9UAAAGsCAYAAADT+IQ/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACCCElEQVR4nOzdd3hUVf7H8feUzKQnhDQSAqH33gSUoiCiYlessNgVXZV1Vaw/XRW7rqsua1+7YMGGINIsNGlKh9ASQiqkl6n398dgkBWUQJKb8nk9z33I3Jyb+YSbZO53zrnnWAzDMBARERERERGRarOaHUBERERERESkoVJRLSIiIiIiInKMVFSLiIiIiIiIHCMV1SIiIiIiIiLHSEW1iIiIiIiIyDFSUS0iIiIiIiJyjFRUi4iIiIiIiBwju9kBjobf72fv3r1ERERgsVjMjiMiIiIiIiKNnGEYlJSUkJSUhNV65P7oBlFU7927l5SUFLNjiIiIiIiISBOTkZFBy5Ytj/j5BlFUR0REAIFvJjIy0uQ0IiIiIiIi0tgVFxeTkpJSVY8eSYMoqn8d8h0ZGamiWkREREREROrMn92CrInKRERERERERI6RimoRERERERGRY6SiWkREREREROQYqagWEREREREROUYqqkVERERERESOkYpqERERERERkWOkolpERERERETkGKmoFhERERERETlGKqpFREREREREjlG1i+rvvvuOcePGkZSUhMViYdasWX96jMvl4p577qF169Y4nU5SU1N5/fXXjyWviIiIiIiISL1hr+4BZWVl9OrViyuvvJLzzjvvqI656KKLyMnJ4bXXXqN9+/ZkZWXh9/urHVZERERERESkPql2UT127FjGjh171O3nzJnD4sWL2bFjBzExMQCkpqZW92lFRERERERE6p1av6f6888/p3///jzxxBMkJyfTsWNHbr/9dioqKo54jMvlori4+JBNREREREREpL6pdk91de3YsYMffviB4OBgPv30U/Lz87nxxhvZt28fb7zxxmGPmTZtGg8++GBtRxMREWmUfH6DdZlFlFZ6yavcS35lFtGOWAYkdyY1NszseCIiIo2KxTAM45gPtlj49NNPOeecc47Y5tRTT+X7778nOzubqKgoAD755BMuuOACysrKCAkJ+d0xLpcLl8tV9bi4uJiUlBSKioqIjIw81rgi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gz+88ayCUq3h33v37iU5OZklS5YwePDgqv133HEHixcvZvny5b87xuFw8N///pdLLrmkat9LL73Egw8+SE5Ozu/aw+F7qlNSUur98G8RERERERFpHGpl+HdsbCw2m+13xXBOTg6JiYmHPSYxMbFa7QGcTidOp7M60URERERERETqXLVWuXc4HPTr14/58+dX7fP7/cyfP/+QnuvfGjx48CHtAebNm3fE9iIiIiIiIiINRbUX1JsyZQoTJ06kf//+DBw4kOeee46ysjImTZoEwIQJE0hOTmbatGkA3HLLLQwfPpynn36aM844gw8++ICVK1fy8ssv1+x3IiIiIiIiIlLHql1Ujx8/nry8PO6//36ys7Pp3bs3c+bMqZqMLD09Hav1YAf4kCFDeO+997j33nu5++676dChA7NmzTrqNapFRERERERE6qtqr1NthoayTrWIiIiIiIg0Dkdbh1brnmoREREREREROUhFtYiIiIiIiMgxUlEtIiIiIiIicoxUVIuIiIiIiIgcIxXVIiIiIiIiIsdIRbWIiIiIiIjIMVJRLSIiIiIiInKMVFSLiIiIiIiIHCMV1SIiIiIiIiLHyG52gKNhGAYAxcXFJicRERERERGRpuDX+vPXevRIGkRRXVJSAkBKSorJSURERERERKQpKSkpISoq6oiftxh/VnbXA36/n7179xIREYHFYjE7zhEVFxeTkpJCRkYGkZGRZseRI9B5qv90jhoGnaeGQeepYdB5qv90jhoGnaeGoaGcJ8MwKCkpISkpCav1yHdON4ieaqvVSsuWLc2OcdQiIyPr9Q+HBOg81X86Rw2DzlPDoPPUMOg81X86Rw2DzlPD0BDO0x/1UP9KE5WJiIiIiIiIHCMV1SIiIiIiIiLHSEV1DXI6nTzwwAM4nU6zo8gf0Hmq/3SOGgadp4ZB56lh0Hmq/3SOGgadp4ahsZ2nBjFRmYiIiIiIiEh9pJ5qERERERERkWOkolpERERERETkGKmoFhERERERETlGKqpFREREREREjpGKahEREREREZFjpKL6OOzatYurrrqKNm3aEBISQrt27XjggQdwu91/eFxlZSWTJ0+mefPmhIeHc/7555OTk1NHqZueRx55hCFDhhAaGkp0dPRRHfOXv/wFi8VyyHbaaafVbtAm7ljOk2EY3H///bRo0YKQkBBGjRrFtm3bajdoE7d//34uu+wyIiMjiY6O5qqrrqK0tPQPjxkxYsTvfp+uv/76OkrcNLz44oukpqYSHBzMoEGDWLFixR+2nzlzJp07dyY4OJgePXowe/bsOkradFXnHL355pu/+50JDg6uw7RN03fffce4ceNISkrCYrEwa9asPz1m0aJF9O3bF6fTSfv27XnzzTdrPWdTVt1ztGjRot/9LlksFrKzs+smcBM1bdo0BgwYQEREBPHx8Zxzzjls2bLlT49ryK9NKqqPw+bNm/H7/fznP/9hw4YNPPvss0yfPp277777D4+77bbb+OKLL5g5cyaLFy9m7969nHfeeXWUuulxu91ceOGF3HDDDdU67rTTTiMrK6tqe//992spocCxnacnnniC559/nunTp7N8+XLCwsIYM2YMlZWVtZi0abvsssvYsGED8+bN48svv+S7777j2muv/dPjrrnmmkN+n5544ok6SNs0fPjhh0yZMoUHHniA1atX06tXL8aMGUNubu5h2y9ZsoRLLrmEq666ijVr1nDOOedwzjnnsH79+jpO3nRU9xwBREZGHvI7s3v37jpM3DSVlZXRq1cvXnzxxaNqv3PnTs444wxGjhzJ2rVrufXWW7n66quZO3duLSdtuqp7jn61ZcuWQ36f4uPjaymhACxevJjJkyezbNky5s2bh8fj4dRTT6WsrOyIxzT41yZDatQTTzxhtGnT5oifLywsNIKCgoyZM2dW7du0aZMBGEuXLq2LiE3WG2+8YURFRR1V24kTJxpnn312reaRwzva8+T3+43ExETjySefrNpXWFhoOJ1O4/3336/FhE3Xxo0bDcD46aefqvZ9/fXXhsViMTIzM4943PDhw41bbrmlDhI2TQMHDjQmT55c9djn8xlJSUnGtGnTDtv+oosuMs4444xD9g0aNMi47rrrajVnU1bdc1Sd1yupHYDx6aef/mGbO+64w+jWrdsh+8aPH2+MGTOmFpPJr47mHC1cuNAAjIKCgjrJJIeXm5trAMbixYuP2Kahvzapp7qGFRUVERMTc8TPr1q1Co/Hw6hRo6r2de7cmVatWrF06dK6iChHadGiRcTHx9OpUyduuOEG9u3bZ3Yk+Y2dO3eSnZ19yO9SVFQUgwYN0u9SLVm6dCnR0dH079+/at+oUaOwWq0sX778D4999913iY2NpXv37kydOpXy8vLajtskuN3/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\n",
      "text/plain": [
       "<Figure size 1200x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mvn = multivariate_normal((0.0, 0.0), 0.1)\n",
    "X1 = np.linspace(-2, 2, 200)[:, None]\n",
    "\n",
    "X2 = np.zeros_like(X1)\n",
    "X = np.concatenate([X1, X2], axis=1)\n",
    "pc = mvn.pdf(X)\n",
    "plt.plot(X1, pc)\n",
    "sc = np.max(pc)\n",
    "\n",
    "X2 = 0.5 * np.ones_like(X1)\n",
    "X = np.concatenate([X1, X2], axis=1)\n",
    "po = mvn.pdf(X)\n",
    "plt.plot(X1, po)\n",
    "so = np.max(po)\n",
    "\n",
    "plt.plot(X1, po * sc / so, \":\")                   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "id": "677e6d5d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fc322cd8f70>]"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1100x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "@check_shapes(\n",
    "    \"data: [n_data, n_dim]\",\n",
    "    \"var: []\",\n",
    "    \"x_leading: [n_x, n_leading_dim]\",\n",
    "    \"x: [n_x]\",\n",
    "    \"return: [n_x]\",\n",
    ")\n",
    "def cond_marg_cdf(data, var, x_leading, x):\n",
    "    data = tf.convert_to_tensor(data)\n",
    "    var = tf.convert_to_tensor(var)\n",
    "    x_leading = tf.convert_to_tensor(x_leading)\n",
    "    x = tf.convert_to_tensor(x)\n",
    "    dtype = data.dtype\n",
    "    assert var.dtype == dtype\n",
    "    assert x_leading.dtype == dtype\n",
    "    assert x.dtype == dtype\n",
    "    n_x, n_leading_dim = x_leading.shape\n",
    "    n_data = len(data)\n",
    "    data_scale = tf.sqrt(var)\n",
    "    if n_leading_dim == 0:\n",
    "        scales = check_shape(\n",
    "            tf.ones((n_x, n_data), dtype=dtype),\n",
    "            \"[n_x, n_data]\",\n",
    "        )\n",
    "    else:\n",
    "        data_dist_mean = check_shape(\n",
    "            data[:, :n_leading_dim+1],\n",
    "            \"[n_data, n_leading_dim_p1]\",\n",
    "        )\n",
    "        data_dist_scale = tf.fill((n_data, n_leading_dim+1), data_scale)\n",
    "        data_dist = tfp.distributions.MultivariateNormalDiag(data_dist_mean, data_dist_scale)\n",
    "        x_max = check_shape(\n",
    "            tf.concat([\n",
    "                tf.tile(x_leading[:, None, :], [1, n_data, 1]),\n",
    "                tf.tile(data[None, :, n_leading_dim, None], [n_x, 1, 1]),\n",
    "            ], axis=-1),\n",
    "            \"[n_x, n_data, n_leading_dim_p1]\",\n",
    "        )\n",
    "        scales = check_shape(\n",
    "            data_dist.prob(x_max),\n",
    "            \"[n_x, n_data]\",\n",
    "        )\n",
    "    \n",
    "    dim_dist = tfp.distributions.Normal(data[:, n_leading_dim], data_scale)\n",
    "    cdfs = check_shape(\n",
    "        dim_dist.cdf(x[:, None]),\n",
    "        \"[n_x, n_data]\"\n",
    "    )\n",
    "    assert scales.dtype == dtype\n",
    "    assert cdfs.dtype == dtype\n",
    "    return tf.reduce_sum(\n",
    "        cdfs * scales / tf.reduce_sum(scales, axis=-1, keepdims=True),\n",
    "        axis=-1,\n",
    "    )\n",
    "    \n",
    "Nplot = 100\n",
    "Xplot = np.linspace(0, 1, Nplot)[:, None]\n",
    "fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(11, 5))\n",
    "\n",
    "\n",
    "y = cond_marg_cdf(data_x, data_var, np.zeros((Nplot, 0)), Xplot[:, 0])\n",
    "ax1.plot(Xplot, y)\n",
    "\n",
    "y = cond_marg_cdf(data_x, data_var, np.full((Nplot, 1), 0.7), Xplot[:, 0])\n",
    "ax2.plot(Xplot, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "id": "e63e3e3f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(), dtype=float32, numpy=1.9999999>"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "@check_shapes(\n",
    "    \"x_min: [broadcast batch...]\",\n",
    "    \"x_max: [broadcast batch...]\",\n",
    "    \"y_target: [broadcast batch...]\",\n",
    "    \"return: [batch...]\"\n",
    ")\n",
    "def binary_search(f, x_min, x_max, y_target, n_iter: int = 50):\n",
    "    x_min = tf.convert_to_tensor(x_min)\n",
    "    x_max = tf.convert_to_tensor(x_max)\n",
    "    y_target = tf.convert_to_tensor(y_target)\n",
    "    shape = tf.broadcast_dynamic_shape(\n",
    "        tf.broadcast_dynamic_shape(tf.shape(x_min), tf.shape(x_max)),\n",
    "        tf.shape(y_target),\n",
    "    )\n",
    "    x_min = tf.broadcast_to(x_min, shape)\n",
    "    x_max = tf.broadcast_to(x_max, shape)\n",
    "    y_target = tf.broadcast_to(y_target, shape)\n",
    "    for _ in range(n_iter):\n",
    "        # print(\"x_min\", x_min.shape, x_min.dtype, \"x_max\", x_max.shape, x_max.dtype)\n",
    "        x_cur = check_shape(x_min + (x_max - x_min) / 2, \"[broadcast batch...]\")\n",
    "        # print(\"x_cur\", x_cur.shape, x_cur.dtype)\n",
    "        tf.debugging.assert_all_finite(x_cur, \"x_cur broken\")\n",
    "        y_cur = check_shape(f(x_cur), \"[batch...]\")\n",
    "        # print(float(x_cur), \"->\", float(y_cur))\n",
    "        # print(\"y_cur\", y_cur.shape, y_cur.dtype, \"y_target\", y_target.shape, y_target.dtype)\n",
    "        tf.debugging.assert_all_finite(y_cur, \"y_cur broken\")\n",
    "        is_small = y_cur < y_target\n",
    "        x_min = tf.where(is_small, x_cur, x_min)\n",
    "        x_max = tf.where(is_small, x_max, x_cur)\n",
    "    return x_min\n",
    "\n",
    "binary_search(lambda x: x**2, 0.0, 10.0, 4.0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "id": "817be397",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.LineCollection at 0x7fc3230596c0>"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1100x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(11, 5))\n",
    "min_bound = np.array(-1e100)\n",
    "max_bound = np.array(1e100)\n",
    "\n",
    "n = 100\n",
    "\n",
    "X1 = np.linspace(0, 1, n)\n",
    "f = lambda x_candidate: cond_marg_cdf(data_x, data_var, np.zeros((1, 0)), [x_candidate])[0]\n",
    "y = [f(b) for b in X1]\n",
    "ax1.plot(X1, y)\n",
    "xl1 = np.array(0.25)\n",
    "x1 = binary_search(f, min_bound, max_bound, xl1, n_iter=500)\n",
    "ax1.hlines(xl1, 0, 1)\n",
    "ax1.vlines(x1, 0, 1)\n",
    "\n",
    "X2 = np.linspace(0, 1, n)\n",
    "f = lambda x_candidate: cond_marg_cdf(data_x, data_var, [[x1]], [x_candidate])[0]\n",
    "y = [f(b) for b in X2]\n",
    "ax2.plot(X2, y)\n",
    "xl2 = np.array(0.25)\n",
    "x2 = binary_search(f, min_bound, max_bound, xl2, n_iter=500)\n",
    "ax2.hlines(xl2, 0, 1)\n",
    "ax2.vlines(x2, 0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "id": "055d55f2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(1, 2), dtype=float64, numpy=array([[0.5589773 , 0.48320788]])>"
      ]
     },
     "execution_count": 133,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "@tf.function\n",
    "@check_shapes(\n",
    "    \"data: [n_data, n_dim]\",\n",
    "    \"var: []\",\n",
    "    \"ys: [n_y, n_dim]\",\n",
    "    \"return: [n_y, n_dim]\",\n",
    ")\n",
    "def project_on_data(data, var, ys):\n",
    "    data = tf.convert_to_tensor(data)\n",
    "    var = tf.convert_to_tensor(var)\n",
    "    ys = tf.convert_to_tensor(ys)\n",
    "    dtype = data.dtype\n",
    "    min_bound = tf.constant([-1e100], dtype=dtype)\n",
    "    max_bound = tf.constant([1e100], dtype=dtype)\n",
    "    result = []\n",
    "    n_y, n_dim = ys.shape\n",
    "    x_leading = tf.zeros((n_y, 0), dtype=dtype)\n",
    "    for d in range(n_dim):\n",
    "        f = lambda x_candidate: cond_marg_cdf(data, var, x_leading, x_candidate)\n",
    "        # print(\"ys[d]\", ys[:, d].shape)\n",
    "        x = binary_search(f, min_bound, max_bound, ys[:, d], n_iter=500)\n",
    "        x_leading = tf.concat([x_leading, x[:, None]], axis=-1)\n",
    "    return x_leading\n",
    "\n",
    "project_on_data(data_x, data_var, np.array([[0.25, 0.25]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "id": "f637b4d8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fc2f693ded0>"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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NhYvXowtW7YMu82WLVuGXB8AlixZ4nv9qWIk++p0yWQSmUwG06dPL9Y0J4yR7q+vf/3rqK6uxuc+97mxmOaEMZL99atf/QqLFi3CihUrUFNTg0suuQQPPPAAXFdpyTQFjGR/XXXVVdi2bdvg6dB9+/Zh48aN+OhHPzomc55sRuu9Pu/uDMXW0dEB13UHuz2cVFNTg1dffXXYbVpbW4e9fmtra9HmORGMZF+d7itf+Qrq6+vPeDFNRSPZXy+88AJ++MMfYufOnWMww4llJPtr3759eO655/CZz3wGGzduxN69e3H77bcjk8lg1apVYzHtcTOS/XXjjTeio6MD11xzDYwxyGazuO2223D33XePxZQnHb/3+q6uLvT19SEej+d0OxPuiI/GzoMPPoj169fj6aefRiwWG+/pTDjd3d1YtmwZHn30UVRVVY33dCYFz/NQXV2NH/zgB1iwYAGWLl2Ke+65B2vXrh3vqU1ImzdvxgMPPIDvfe972L59O37xi19gw4YN+MY3vjHeU5vSJtwRX1VVFRzHQVtb25DL29raUFtbO+w2tbW1eV1/qhjJvjrpoYcewoMPPojf/OY3uOyyy4o5zQkj3/31xhtv4M0338T1118/eJl3oiV3KBTCnj17MHfu3OJOehyN5PVVV1eHcDgMxznVmvyiiy5Ca2sr0uk0IpFIUec8nkayv+677z4sW7YMn//85wEAl156KXp7e3HrrbfinnvuGdLblPzf68vLy3M+2gMm4BFfJBLBggUL0NzcPHiZ53lobm7GokWLht1m0aJFQ64PAM8++6zv9aeKkewrAPjWt76Fb3zjG9i0aROuvPLKsZjqhJDv/rrwwgvx8ssvY+fOnYP/PvGJT+ADH/gAdu7ciYaGhrGc/pgbyevr6quvxt69ewc/IADAa6+9hrq6uild9ICR7a9kMnlGcTv5ocHwa5TPMGrv9fmtuxkb69evN9Fo1Dz++ONm165d5tZbbzWVlZWmtbXVGGPMsmXLzF133TV4/RdffNGEQiHz0EMPmd27d5tVq1YFKs6Qz7568MEHTSQSMT//+c/NoUOHBv91d3eP10MYU/nur9MFbVVnvvvrwIEDpqyszNxxxx1mz5495te//rWprq42//AP/zBeD2FM5bu/Vq1aZcrKysy//du/mX379pn/+I//MHPnzjWf+tSnxushjKnu7m6zY8cOs2PHDgPAPPzww2bHjh3mrbfeMsYYc9ddd5lly5YNXv9knOHv//7vze7du82aNWumTpzBGGO+853vmLPPPttEIhGzcOFC84c//GFw7LrrrjM333zzkOv/9Kc/Neeff76JRCLmve99r9mwYcMYz3j85LOvzjnnHAPgjH+rVq0a+4mPk3xfW+8WtMJnTP7766WXXjKNjY0mGo2aOXPmmG9+85smm82O8azHTz77K5PJmK9+9atm7ty5JhaLmYaGBnP77bebY8eOjf3Ex8Hzzz8/7PvRyX108803m+uuu+6MbebPn28ikYiZM2eO+dGPfpT3/bItERERBcqE+xsfERFRMbHwERFRoLDwERFRoLDwERFRoLDwERFRoLDwERFRoLDwERFRoLDwERFRoLDwERFRoLDwERFRoLDwERFRoLDwERFRoPz/ja1pEfkdFlwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(5, 5))\n",
    "plot_data_normals(ax, data_x, data_var)\n",
    "ivl = np.array([[0.25, 0.25], [0.25, 0.5], [0.25, 0.75], [0.5, 0.25], [0.5, 0.5], [0.5, 0.75], [0.75, 0.25], [0.75, 0.5], [0.75, 0.75]])\n",
    "ax.scatter(ivl[:, 0], ivl[:, 1])\n",
    "ivp = project_on_data(data_x, data_var, ivl)\n",
    "ax.scatter(ivp[:, 0], ivp[:, 1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "id": "3b3ea909",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fc2f6567b80>"
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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c889h3Xr1uHBBx/Md9cmvYI6cquoqIBlWWhvbx9wf3t7O6qqqoZdp6qqKqPlJ7Js9s9JP/rRj/Dwww/j5ZdfxmWXXZbLbuZNpvvn/fffxwcffICFCxf23+e6LgAgEAhg9+7dOP/883Pb6XGUzfunuroawWAQlmX133fxxRejra0NyWQSoVAop30eT9nsn/vvvx+33XYbvva1rwEALr30UvT09ODrX/867r333gFzW05Guu/n8vLynB61AQV25BYKhTB37lxs2rSp/z7XdbFp0ybU19cPu059ff2A5QHgpZde0i4/kWWzfwDgBz/4AR588EFs2LAB8+bNG4+u5kWm+2fWrFl45513sGPHjv6/G2+8Eddeey127NiB2tra8ex+zmXz/rnqqquwZ8+e/qAPAO+99x6qq6t9FdiA7PZPb2/vkAB28oeA4pj0+f1+znnKSobWrl2rwuGwevLJJ9XOnTvV17/+dTV16lTV1tamlFLqtttuU8uXL+9f/o9//KMKBALqRz/6kdq1a5dqbm72fSlAJvvn4YcfVqFQSP3mN79RR44c6f/r6urK11PIqUz3z2B+z5bMdP8cOHBAlZWVqWXLlqndu3er3/72t6qyslL98z//c76eQk5lun+am5tVWVmZ+vd//3e1d+9e9bvf/U6df/756uabb87XU8iprq4u9fbbb6u3335bAVCPPvqoevvtt9X+/fuVUkotX75c3Xbbbf3LnywF+Kd/+ie1a9cutXr16slbCqCUUo899pg6++yzVSgUUvPnz1evv/56f9s111yjFi9ePGD5Z599Vl144YUqFAqpT3ziE2rdunXj3OPxlcn+OeeccxSAIX/Nzc3j3/Fxkun753R+D25KZb5/tmzZourq6lQ4HFbnnXee+t73vqds2x7nXo+fTPZPKpVS3/nOd9T555+vIpGIqq2tVXfddZf66KOPxr/j4+DVV18d9vvk5D5ZvHixuuaaa4asM2fOHBUKhdR5552n/u3f/m1c+sr53IiIyHcK6pobERHRWGBwIyIi32FwIyIi32FwIyIi32FwIyIi32FwIyIi32FwIyIi32FwIyIi32FwIyIi32FwIyIi32FwIyIi3/n/AYBq9gJe2+gVAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.stats import qmc\n",
    "\n",
    "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(5, 5))\n",
    "plot_data_normals(ax, data_x, data_var)\n",
    "ivl = qmc.Halton(d=2, scramble=True).random(n=9)\n",
    "ax.scatter(ivl[:, 0], ivl[:, 1])\n",
    "ivp = project_on_data(data_x, data_var, ivl)\n",
    "ax.scatter(ivp[:, 0], ivp[:, 1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8e80bffe",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.10.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
back to top