diff --git a/examples/notebooks/05_graph.ipynb b/examples/notebooks/05_graph.ipynb new file mode 100644 index 0000000..8f860c1 --- /dev/null +++ b/examples/notebooks/05_graph.ipynb @@ -0,0 +1,389 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0a22bd06", + "metadata": {}, + "source": [ + "# Graph Laplacians and Spectral Clustering\n", + "\n", + "Companion notebook for the `graph` module of `optimiz-rs`.\n", + "\n", + "Reference documentation: [graph_spectral.html](https://optimiz-r.readthedocs.io/en/latest/algorithms/graph_spectral.html)\n", + "\n", + "We demonstrate the four Python-exposed primitives:\n", + "\n", + "1. `combinatorial_laplacian_py`\n", + "2. `normalised_laplacian_py`\n", + "3. `random_walk_laplacian_py`\n", + "4. `spectral_cluster_py`\n", + "\n", + "Each is verified against an analytic ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3e190cea", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:44:15.206941Z", + "iopub.status.busy": "2026-05-12T09:44:15.206599Z", + "iopub.status.idle": "2026-05-12T09:44:16.002530Z", + "shell.execute_reply": "2026-05-12T09:44:16.000885Z" + } + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from optimizr import _core as opt\n", + "\n", + "rng = np.random.default_rng(42)" + ] + }, + { + "cell_type": "markdown", + "id": "af83bd65", + "metadata": {}, + "source": [ + "## 1. Combinatorial Laplacian\n", + "\n", + "For a non-negative symmetric weight matrix $W \\in \\mathbb{R}^{n\\times n}$ with degree matrix $D = \\mathrm{diag}(W \\mathbf{1})$:\n", + "\n", + "$$\n", + "L \\;=\\; D - W .\n", + "$$\n", + "\n", + "It is symmetric positive semidefinite and $L \\mathbf{1} = 0$, so the constant vector lies in its kernel." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c0ae98c1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:44:16.006248Z", + "iopub.status.busy": "2026-05-12T09:44:16.005847Z", + "iopub.status.idle": "2026-05-12T09:44:16.362683Z", + "shell.execute_reply": "2026-05-12T09:44:16.361515Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "L =\n", + " [[ 2. -1. -1.]\n", + " [-1. 2. -1.]\n", + " [-1. -1. 2.]]\n", + "|| L @ 1 ||_inf = 0.0\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Triangle graph (3-clique).\n", + "W3 = [\n", + " [0.0, 1.0, 1.0],\n", + " [1.0, 0.0, 1.0],\n", + " [1.0, 1.0, 0.0],\n", + "]\n", + "L = np.array(opt.combinatorial_laplacian_py(W3))\n", + "print('L =\\n', L)\n", + "\n", + "# Analytic check: L @ 1 = 0.\n", + "ones = np.ones(3)\n", + "err_kernel = float(np.max(np.abs(L @ ones)))\n", + "print('|| L @ 1 ||_inf =', err_kernel)\n", + "assert err_kernel < 1e-12\n", + "\n", + "fig, ax = plt.subplots(figsize=(4, 3.2))\n", + "im = ax.imshow(L, cmap='RdBu_r', vmin=-2, vmax=2)\n", + "ax.set_title('Combinatorial Laplacian (3-clique)')\n", + "plt.colorbar(im, ax=ax)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "13cb95ba", + "metadata": {}, + "source": [ + "## 2. Symmetric normalised Laplacian\n", + "\n", + "$$\n", + "L_{\\mathrm{sym}} \\;=\\; I - D^{-1/2} W D^{-1/2}.\n", + "$$\n", + "\n", + "Eigenvalues lie in $[0, 2]$ and the multiplicity of the zero eigenvalue equals the number of connected components." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "cc02bdc7", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:44:16.365813Z", + "iopub.status.busy": "2026-05-12T09:44:16.365536Z", + "iopub.status.idle": "2026-05-12T09:44:17.003051Z", + "shell.execute_reply": "2026-05-12T09:44:17.001539Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "eigenvalues = [4.4408921e-16 4.4408921e-16 1.5000000e+00 1.5000000e+00 1.5000000e+00\n", + " 1.5000000e+00]\n", + "number of zero eigenvalues = 2\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Two disconnected triangles -> two zero eigenvalues.\n", + "W6 = np.zeros((6, 6))\n", + "for (i, j) in [(0, 1), (1, 2), (0, 2), (3, 4), (4, 5), (3, 5)]:\n", + " W6[i, j] = 1.0\n", + " W6[j, i] = 1.0\n", + "Lsym = np.array(opt.normalised_laplacian_py(W6.tolist()))\n", + "eigvals = np.sort(np.linalg.eigvalsh(Lsym))\n", + "print('eigenvalues =', eigvals)\n", + "\n", + "# Two connected components -> exactly two near-zero eigenvalues.\n", + "n_zero = int(np.sum(np.abs(eigvals) < 1e-10))\n", + "print('number of zero eigenvalues =', n_zero)\n", + "assert n_zero == 2\n", + "\n", + "fig, axes = plt.subplots(1, 2, figsize=(8, 3.2))\n", + "im = axes[0].imshow(Lsym, cmap='RdBu_r', vmin=-1, vmax=1)\n", + "axes[0].set_title(r'$L_{\\mathrm{sym}}$ (2 disconnected triangles)')\n", + "plt.colorbar(im, ax=axes[0])\n", + "axes[1].plot(eigvals, 'o-')\n", + "axes[1].axhline(0.0, color='k', linewidth=0.5)\n", + "axes[1].set_xlabel('index')\n", + "axes[1].set_ylabel('eigenvalue')\n", + "axes[1].set_title('Spectrum of $L_{\\\\mathrm{sym}}$')\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "4ee010f7", + "metadata": {}, + "source": [ + "## 3. Random-walk Laplacian\n", + "\n", + "$$\n", + "L_{\\mathrm{rw}} \\;=\\; I - D^{-1} W.\n", + "$$\n", + "\n", + "The matrix $P = D^{-1} W$ is the row-stochastic transition matrix of the simple random walk on the graph. Hence $L_{\\mathrm{rw}} \\mathbf{1} = 0$." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "249bb72a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:44:17.006260Z", + "iopub.status.busy": "2026-05-12T09:44:17.005978Z", + "iopub.status.idle": "2026-05-12T09:44:17.298401Z", + "shell.execute_reply": "2026-05-12T09:44:17.297301Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "row sums of P = [1. 1. 1. 1. 1. 1.]\n", + "|| P @ 1 - 1 ||_inf = 0.0\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Lrw = np.array(opt.random_walk_laplacian_py(W6.tolist()))\n", + "P = np.eye(6) - Lrw\n", + "row_sums = P.sum(axis=1)\n", + "print('row sums of P =', row_sums)\n", + "err_stochastic = float(np.max(np.abs(row_sums - 1.0)))\n", + "print('|| P @ 1 - 1 ||_inf =', err_stochastic)\n", + "assert err_stochastic < 1e-12\n", + "\n", + "fig, ax = plt.subplots(figsize=(4, 3.2))\n", + "im = ax.imshow(Lrw, cmap='RdBu_r', vmin=-1, vmax=1)\n", + "ax.set_title(r'$L_{\\mathrm{rw}}$ (2 disconnected triangles)')\n", + "plt.colorbar(im, ax=ax)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "baaf3fe7", + "metadata": {}, + "source": [ + "## 4. Spectral clustering (Ng--Jordan--Weiss)\n", + "\n", + "Given a similarity matrix $W$ and a target number of clusters $k$:\n", + "\n", + "1. Build $L_{\\mathrm{sym}} = I - D^{-1/2} W D^{-1/2}$.\n", + "2. Stack the $k$ eigenvectors of $L_{\\mathrm{sym}}$ associated with the smallest eigenvalues as columns of $U \\in \\mathbb{R}^{n \\times k}$.\n", + "3. Row-normalise $U$ and apply Lloyd's $k$-means with k-means++ seeding to its rows.\n", + "\n", + "We test on two well-separated 2D Gaussian blobs. Ground truth: cluster purity equals $1.0$." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ddbc3936", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:44:17.302450Z", + "iopub.status.busy": "2026-05-12T09:44:17.302058Z", + "iopub.status.idle": "2026-05-12T09:44:17.805918Z", + "shell.execute_reply": "2026-05-12T09:44:17.803760Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "first 6 eigenvalues = [-6.47704929e-16 6.07023906e-07 9.56672916e-01 9.57721212e-01\n", + " 9.82109668e-01 9.84579761e-01]\n", + "fiedler value = 6.070239058352574e-07\n", + "cluster purity = 1.0\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3kAAAFdCAYAAAC+UqTcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACpCUlEQVR4nOzdd3gUVRfA4d/spvcE0gghoYbei3RQijRBRboUKYqIVBVUehNQRAFpiiKC8omgIEgRQap06b23NEIS0pPd+/0BWYhJIECSzYbzPk8e2Zk7M2c2cWbPzr3nakophRBCCCGEEEKIfEFn7gCEEEIIIYQQQmQfSfKEEEIIIYQQIh+RJE8IIYQQQggh8hFJ8oQQQgghhBAiH5EkTwghhBBCCCHyEUnyhBBCCCGEECIfkSRPCCGEEEIIIfIRSfKEEEIIIYQQIh+RJE8IIYQQQggh8hFJ8oQQQgghhBAiH5EkTwghhBAim3333XdomsalS5ceukzcl9/fn/xyfvv27aNOnTo4OjqiaRr//vuvuUMSGZAkT4g8auzYsWialuf2lVc0atSIRo0aPfZ2ly5dQtM0Pv3002yLZevWrWiaxtatW7Ntn0KIx3f06FHat29PQEAAdnZ2+Pn50bRpU2bNmmXu0HLFrl27GDt2LJGRkY9sGxMTw5gxY3jxxRfx8PBA0zS+++67TNsnJibywQcfUKhQIezt7alVqxabNm3KvuCFRUhOTua1114jIiKCzz//nCVLlhAQEPDQbdauXYumafz000+5FKUASfJEHpeXb9hxcXGMHTtWPtgDy5YtY+bMmeYOQwjxDNu1axfVq1fn8OHD9O3bl9mzZ9OnTx90Oh1ffPGFucPLFbt27WLcuHFZSvLCw8MZP348J0+epFKlSo9s37NnT2bMmEHXrl354osv0Ov1tGzZkh07dmRD5He9/vrrxMfHPzJpEOZz/vx5Ll++zPDhw+nXrx/dunXD3d39odscPnwYgIoVK+ZGiOIeK3MHIERmdu3aRePGjSlSpAh9+/bFx8eHq1ev8s8///DFF18wcOBAs8YXFxfHuHHjAJ7oiVJ+smzZMo4dO8bgwYPNHYoQ4hk1adIkXF1d2bdvH25ubmnWhYaGmieoPMzX15ebN2/i4+PD/v37qVGjRqZt9+7dy08//cT06dMZPnw4AN27d6d8+fK8//777Nq1K1ti0uv16PX6bNmXyBmp/y/99/+xhzly5Ai2trYEBQXlUFQiI/IkT+RZD96wP/74Y/r06cO4cePYsGFDtt1QclNsbKy5Q7AoRqORhIQEc4chhLAQ58+fp1y5chl++PTy8jL9O7X7+pkzZ+jWrRuurq54enoyatQolFJcvXqVtm3b4uLigo+PD5999lmafV2+fJm3336boKAg7O3tKVCgAK+99tpTjbO6fv06b7zxBt7e3tja2lKuXDkWLVqUps2dO3cYPHgwgYGB2Nra4uXlRdOmTTl48KDpvN577z0AihYtiqZpDx3/ZWtri4+PT5biW7FiBXq9nn79+pmW2dnZ0bt3b3bv3s3Vq1ez5RwzG7O2detWqlevjp2dHcWLF2f+/PkZDkPIyjFStzt37hw9e/bEzc0NV1dXevXqRVxcXJpz1jSNv//+O925zJ8/H03TOHbsGPB0fxM9e/YkMDAw3fInPb9H/Z08zKFDh2jRogUuLi44OTnxwgsv8M8//6SJtWHDhgC89tpraJqWpS+5jxw5QtmyZSWBz2WS5Ik8K6s3bABN03jnnXdYunQpQUFB2NnZUa1aNbZt25Zu26xcJAESEhIYO3YspUqVws7ODl9fX1555RXOnz/PpUuX8PT0BGDcuHGmm+nYsWOBuxdCJycnzp8/T8uWLXF2dqZr164AbN++nddee40iRYpga2uLv78/Q4YMIT4+/onfqz179tCyZUvc3d1xdHSkYsWKD+2elDouLaPxFw+eBzz6htGoUSPWrl3L5cuXTe/DgzesxMRExowZQ4kSJUzn+/7775OYmJjuuKm/w3LlymFra8v69euz/B4kJSUxevRoqlWrhqurK46OjtSvX58tW7Zkus3nn39OQEAA9vb2NGzY0HTDftCpU6do3749Hh4e2NnZUb16dVavXv3IeM6ePcurr76Kj48PdnZ2FC5cmE6dOhEVFZXlcxJCZF1AQAAHDhzI8P/jjHTs2BGj0cgnn3xCrVq1mDhxIjNnzqRp06b4+fkxdepUSpQowfDhw9PcS/bt28euXbvo1KkTX375JW+99RabN2+mUaNGaZKErAoJCeG5557jzz//5J133uGLL76gRIkS9O7dO003+Lfeeou5c+fy6quv8tVXXzF8+HDs7e05efIkAK+88gqdO3cGMI2VWrJkiele9TQOHTpEqVKlcHFxSbO8Zs2aAI8svJHVc8zs2C+++CK3bt1i3Lhx9O7dm/Hjx/Prr78+1TE6dOjAnTt3mDJlCh06dOC7774z9c4BaNWqFU5OTvzvf/9Lt+3y5cspV64c5cuXB7L/byIj2fV3kpnjx49Tv359Dh8+zPvvv8+oUaO4ePEijRo1Ys+ePQC8+eabfPjhhwC8++67LFmyhI8++uih+01MTOTMmTPSVdMclBB5VLNmzZSzs7M6evToI9sCqnz58qpgwYJq/PjxaurUqSogIEDZ29un2T44OFgVLlxY+fv7q/Hjx6u5c+eql156SQHq888/N7VLSUlRL7zwggJUp06d1OzZs9WUKVPU888/r3799VcVExOj5s6dqwD18ssvqyVLlqglS5aow4cPK6WU6tGjh7K1tVXFixdXPXr0UPPmzVPff/+9UkqpgQMHqpYtW6rJkyer+fPnq969eyu9Xq/at2+f5pzGjBmjsvK/6MaNG5WNjY0KCAhQY8aMUXPnzlXvvvuuatKkSab7unjxogLUt99+m+F7OWbMGNPrLl26KBsbGzV06FD19ddfq6lTp6o2bdqoH374wXT8ypUrq4IFC5reh1WrVimllDIYDKpZs2bKwcFBDR48WM2fP1+98847ysrKSrVt2zbdccuUKaM8PT3VuHHj1Jw5c9ShQ4cyPe+GDRuqhg0bml6HhYUpX19fNXToUDV37lw1bdo0FRQUpKytrdPsJ/XcK1SooAIDA9XUqVPVuHHjlIeHh/L09FTBwcGmtseOHVOurq6qbNmyaurUqWr27NmqQYMGStM0tXLlSlO7LVu2KEBt2bJFKaVUYmKiKlq0qCpUqJCaOHGi+vrrr9W4ceNUjRo11KVLlzI9JyHEk9u4caPS6/VKr9er2rVrq/fff19t2LBBJSUlpWmXej3s16+faVlKSooqXLiw0jRNffLJJ6blt2/fVvb29qpHjx6mZXFxcemOvXv3bgWYrvNKKfXtt98qQF28ePGhy3r37q18fX1VeHh4mn126tRJubq6mo7n6uqqBgwY8ND3YPr06en2nxX79u3L9J6glFLlypVTzz//fLrlx48fV4CaN2/eQ/ef1XPM6P1p06aNcnBwUNevXzctO3v2rLKyskpzX8vqMVJ//2+88Uaadi+//LIqUKBAmmWdO3dWXl5eKiUlxbTs5s2bSqfTqfHjx5uWPc3fRI8ePVRAQEC67f97387Ov5OMtGvXTtnY2Kjz58+blt24cUM5OzurBg0amJal3u9+/vnnLO33wIEDClCfffbZY8ckno4keSLPyuoNW6m7CQKg9u/fb1p2+fJlZWdnp15++WXTsqxeJBctWqQANWPGjHTHMhqNSqm7ScV/E6JUPXr0UIAaMWJEunUZ3QymTJmiNE1Tly9fNi3LSpKXkpKiihYtqgICAtTt27czjDOjfT1OkpeVG0arVq0yvEktWbJE6XQ6tX379jTL582bpwC1c+fONMfV6XTq+PHjDz1Wqv8meSkpKSoxMTFNm9u3bytvb+80N/PUc7e3t1fXrl0zLd+zZ48C1JAhQ0zLXnjhBVWhQgWVkJBgWmY0GlWdOnVUyZIlTcv+m+QdOnTosW6CQojssXfvXvXyyy8rBwcH033B09NT/fbbb6Y2qdfDvXv3ptm2Xbt2ClBhYWFplleuXFnVr18/w+MlJSWp8PBwFRYWptzc3NTgwYNN67KS5BmNRuXm5qb69eunwsLC0vyktt2xY4dSSqmAgABVvXr1NMnOf+VUklesWDHVokWLdMvPnz+f7kvS/3qcc/zv+5OSkqLs7e1Vly5d0u23TZs2pvva4xwjs9//jBkzFKCioqJMy3799VcFqD///NO0bNasWQpQp0+fzvB8H/dvIitJXnb/nfxXSkqKcnBwUB06dEi37s0331Q6nc70vjxukpca36ZNm7Icj8ge0l1T5FlNmzZl9+7dvPTSSxw+fJhp06bRvHlz/Pz8MuwuV7t2bapVq2Z6XaRIEdq2bcuGDRswGAwopfjll19o06YNSinCw8NNP82bNycqKsrUBfGXX36hYMGCGRZ3eZypCPr3759umb29venfsbGxhIeHU6dOHZRSHDp0KMv7hrvdWC5evMjgwYPTdWvNrikT3Nzc2LNnDzdu3HjsbX/++WfKlClD6dKl07zfzz//PEC6rpQNGzakbNmyTxSnXq/HxsYGuDueLyIigpSUFKpXr57hWIR27drh5+dnel2zZk1q1arFunXrAIiIiOCvv/4ydelJjf3WrVs0b96cs2fPcv369QxjcXV1BWDDhg3Z1lVHCPFoNWrUYOXKldy+fZu9e/cycuRI7ty5Q/v27Tlx4kSatkWKFEnz2tXVFTs7OwoWLJhu+e3bt02v4+PjGT16NP7+/tja2lKwYEE8PT2JjIx87O7YYWFhREZGsmDBAjw9PdP89OrVC7hf6GLatGkcO3YMf39/atasydixY7lw4cJjHe9J2dvbp+tiD5jGTT94X/uvxznH/woNDSU+Pp4SJUqkW/fgsic5xn9//6kVIh/8Xb/44ou4urqyfPly07Lly5dTuXJlSpUqZVqWnX8TGcnpv5OwsDDi4uIyLIxSpkwZjEZjlsZdZiS1smZWKriK7CXVNUWelnrDTkpK4vDhw6xatYrPP/+c9u3b8++//6ZJCEqWLJlu+1KlShEXF0dYWBg6nc50kVywYEGGx0u9SJ4/f56goCCsrJ78fxErKysKFy6cbvmVK1cYPXo0q1evTnMzAR77ZnD+/HkA07iAnDBt2jR69OiBv78/1apVo2XLlnTv3p1ixYo9ctuzZ89y8uTJTMeE/PemW7Ro0aeKdfHixXz22WecOnWK5OTkh+43s7+X1PEX586dQynFqFGjGDVqVIbHCw0NTZMoPni8oUOHMmPGDJYuXUr9+vV56aWXTEUehBA5y8bGhho1alCjRg1KlSpFr169+PnnnxkzZoypTUZFIDIrDKGUMv174MCBfPvttwwePJjatWvj6uqKpml06tQJo9H4WHGmtu/WrRs9evTIsE3qWKYOHTpQv359Vq1axcaNG5k+fTpTp05l5cqVtGjR4rGO+7h8fX0z/FLr5s2bABQqVCjTbR/nHJ/UkxwjK79rW1tb2rVrx6pVq/jqq68ICQlh586dTJ48Oc02T/M3kdkXsgaD4YnOz5x/Jxk5cuQIPj4+2TI2VDweSfKERcjKDftRcuNG8yBbW1t0urQPyw0GA02bNiUiIoIPPviA0qVL4+joyPXr1+nZs+djf0B4Ulm5qaR6mhuG0WikQoUKzJgxI8P1/v7+aV4/7NvgR/nhhx/o2bMn7dq147333sPLywu9Xs+UKVNMyfDjSP1dDB8+nObNm2fYJqNvl1N99tln9OzZk99++42NGzfy7rvvMmXKFP75558Mk38hRM6oXr06cD8heVorVqygR48eaapuJiQkZGluuv/y9PTE2dkZg8FAkyZNHtne19eXt99+m7fffpvQ0FCqVq3KpEmTTNfi7OrB8V+VK1dmy5YtREdHpym+klqQo3Llyplu+7jn+CAvLy/s7Ow4d+5cunUPLnuaYzxKx44dWbx4MZs3b+bkyZMopejYsWOaNk/zN+Hu7p5hu8uXL5v+nd1/J//l6emJg4MDp0+fTrfu1KlT6HS6dPfrrDp69ChVqlTJdL3RaGTw4MEsW7aMlJQUSpYsyR9//MGCBQs4c+ZMmgJxDRs25M0336RLly5omsbs2bOZPn06kZGRTJ06lQoVKtCnTx9u3rzJ0KFDM/2C9lkhSZ6wOJndsM+ePZuu7ZkzZ3BwcDB9g5TVi2Tx4sXZs2cPycnJWFtbZ9jmSW6mR48e5cyZMyxevJju3bublm/atOmx95UaJ8CxY8ce68aW2i3lvzeWB28qD3rSDxbFixfn8OHDvPDCCzn24SPVihUrKFasGCtXrkxzrMy+CMjs7yW1Mmjqk0pra+sn/tBQoUIFKlSowMcff8yuXbuoW7cu8+bNY+LEiU+0PyFE5rZs2UKjRo3SXWtSu2Bn1xxder0+zdMegFmzZmX4JVlW9vXqq6+a5hr9b6+MsLAwPD09MRgMxMTEpOkJ4OXlRaFChdJ0o3R0dATSX9ufVvv27fn0009ZsGCBaZ68xMREvv32W2rVqvXQBCCr55jZtk2aNOHXX3/lxo0bpieG586d448//siWYzxKkyZN8PDwYPny5Zw8eZKaNWum6x3yNH8TxYsXJyoqiiNHjpi+aL558yarVq167PPL6t/Jf+n1epo1a8Zvv/3GpUuXTPfBkJAQli1bRr169dJVVs2KmzdvEhYW9tAv0Ddu3MiuXbu4cOECjo6OHD58GDs7O7p27UrlypVJSEjAzs6Oa9eucejQIdq2bWvadvv27Zw4ccJUYbxly5bs2LGD0NBQqlSpQteuXbPU6yi/kiRP5FmPe8PevXs3Bw8epGrVqgBcvXqV3377jRdffNHULSOrN4FXX32VtWvXMnv2bIYMGZKmnVIKTdNwcHAAHu9mmhrHgzcDpdRDpzt4mKpVq1K0aFFmzpxpmu/nv3FmxMXFhYIFC7Jt27Y0E5h/9dVXado9zgeLjLqadujQgXXr1rFw4cI08yvB3TEMRqPR9KHkaT343qae9549e9i9e3e6sRcAv/76K9evXzd1t9y7dy979uwxvR9eXl40atSI+fPnM3DgQHx9fdNs/7APDdHR0Tg4OKTp7luhQgV0Ot1Db7RCiCc3cOBA4uLiePnllyldujRJSUns2rWL5cuXExgYaBq79LRat27NkiVLcHV1pWzZsuzevZs///yTAgUKPNH+PvnkE7Zs2UKtWrXo27cvZcuWJSIigoMHD/Lnn38SERHBnTt3KFy4MO3bt6dSpUo4OTnx559/sm/fvjRPj1LHpX/00Ud06tQJa2tr2rRpk+l1dvbs2URGRprGXK9Zs4Zr164Bd9/P1Gt/rVq1eO211xg5ciShoaGUKFGCxYsXc+nSJb755ptsOcfMjB07lo0bN1K3bl369++PwWBg9uzZlC9fPs3UDU9zjIextrbmlVde4aeffiI2NpZPP/00XZun+Zvo1KkTH3zwAS+//DLvvvsucXFxzJ07l1KlSqUZT56dfycZmThxIps2baJevXq8/fbbWFlZMX/+fBITE5k2bdrjv3Hc7aoJd5PyTz75JN367t27Y21tzZ07dzh16hQ1atQwfYZzcnKiQoUKrFu3jldeeYXly5fTunXrNH/L77//Pg4ODjRu3BgXFxe6du2Kh4cHHh4eVKxYkSNHjjzTSZ5U1xR5Vrly5VTRokXV0KFD1YIFC9Ts2bNVly5dlF6vV4GBgWmqSZLJFAp2dnamaQ2UujuFQkBAgHJwcFCDBg1S8+fPV1OmTFGvvfaacnd3N7VLSUlRjRo1Mk2hMGfOHDVt2jTVrFkz9euvv5ralS1bVvn4+Kg5c+aoH3/80TRdQ48ePZSjo2O6c0pKSlLFixdXBQsWVJMmTVKzZs1SjRo1UpUqVUpX2SyrUyisX79eWVtbq4CAADV27Fg1f/58NWTIENWsWbOH7mvEiBEKUL1791Zz585VnTt3VtWqVUtTXfP27dvK0dFR9ejRQ82YMUMtWLBAdejQIV055GnTppkqUy5btkytXr1aKXV3CoWWLVsqTdNUp06d1KxZs9TMmTPVW2+9pTw8PNS+ffvS/A4fp+zzf6trplZEfemll9T8+fPViBEjlJubmypXrlyaymUZTaEwfvx45eHhoQoUKKBu3Lhhanv8+HHl7u6uChQooEaMGKEWLFigJkyYoFq2bKkqVqxoavff6pqrVq1Sfn5+avDgweqrr75SX375papRo4aytrZWu3fvzvI5CiGy7o8//lBvvPGGKl26tHJyclI2NjaqRIkSauDAgSokJMTULvV6+N8qmpldtxs2bKjKlStnen379m3Vq1cvVbBgQeXk5KSaN2+uTp06pQICAtJMtZDVKRSUUiokJEQNGDBA+fv7K2tra+Xj46NeeOEFtWDBAqXU3WlZ3nvvPVWpUiXl7OysHB0dVaVKldRXX32VLt4JEyYoPz8/pdPpHllpMyAgwFSF9L8//90uPj5eDR8+XPn4+ChbW1tVo0YNtX79+kz3/V+POseHvT+bN29WVapUUTY2Nqp48eLq66+/VsOGDVN2dnaPfYzMfv+ZHVsppTZt2qQApWmaunr1arr1T/M3odTdauLly5dXNjY2KigoSP3www8Z3rez8+8kIwcPHlTNmzdXTk5OysHBQTVu3Fjt2rUrTZvHqa6Z+tkgs5/UKYtmzJihKlWqpLy9vdWwYcNMVdTnz59vml6qWrVqas2aNaZ9A2l+FwEBAWkqeTds2FAtWbIkS+edX0mSJ/KsrN6wlbqfIPzwww+qZMmSytbWVlWpUsX0oftBWbkJKHV3qoOPPvpIFS1a1NSuffv2aeaQ2bVrl6pWrZqysbFJkxxl9mFBKaVOnDihmjRpopycnFTBggVV37591eHDh584yVNKqR07dqimTZuaLuoVK1ZUs2bNeui+4uLiVO/evZWrq6tydnZWHTp0UKGhoWnOI6s3jJiYGNWlSxfl5uamgDRJVVJSkpo6daoqV66csrW1Ve7u7qpatWpq3LhxaUpVP22SZzQa1eTJk1VAQIDp9//777+nK0+dmuRNnz5dffbZZ8rf31/Z2tqq+vXrp/lCINX58+dV9+7dlY+Pj7K2tlZ+fn6qdevWasWKFaY2/03yLly4oN544w1VvHhxZWdnpzw8PFTjxo3TlOEWQgjx5Nq2batKlChh7jBENrpy5YoqX7686bNQRESEcnNzU/v371cFChRIM4WWJHmPpin1n07EQlggTdMYMGAAs2fPNncoQgghhMhG8fHxaQpznT17lnLlytGjRw8WLlxoxsjE09q/fz9KKapUqUJMTAzPP/88Q4YM4fXXXwfglVde4cyZM9SvX5+5c+eattM0jatXr5oKmQUGBvLDDz9Qr149ABo1akSfPn3o1q1b7p9UHiFj8oQQQgghRJ5VrFgxevbsSbFixbh8+TJz587FxsaG999/39yhiacUFRXF4MGDuXjxIo6OjnTo0IEuXbqY1nfr1o1XX301TYInskaSPCGEEEIIkWe9+OKL/PjjjwQHB2Nra0vt2rWZPHlyhvOdCsvywgsvcPTo0UzXFylShCJFipie0KX6b0fES5cupXm9devW7ArRYkmSJ4QQQggh8qxvv/3W3CEIMzAYDMyaNYtevXrl+DRM+ZGMyRNCCCGEEELkGRERERQpUoQyZcqwadOmNFNEiayRJE8IIYQQQggh8hGduQMQQgghhBBCCJF9ZEzeIxiNRm7cuIGzs7P0BxZCCAuklOLOnTsUKlQIne7Z/m5T7mlCCGHZsnpPkyTvEW7cuIG/v7+5wxBCCPGUHpxT6Vkl9zQhhMgfHnVPkyTvEZydnYG7b6SLi4uZoxFCCPG4oqOj8ff3N13Pn2VyTxNCCMuW1XuaJHmPkNqdxcXFRW6IQghhwaR7otzThBAiv3jUPe3ZHpwghBBCCCGEEPmMJHlCCCGEEEIIkY9IkieEEEIIIYQQ+YiMyctHzp8/z7Zt21BK0aBBA0qUKGHukIQQQgghhMhVBqNi78UIQu8k4OVsR82iHuh15h2XndsxSZKXD4SHh9Or1xv8/vuaNMtbtmzFd999i6enp5kiE0IIIYQQ2UESl6xZf+wm49ac4GZUgmmZr6sdY9qU5cXyvs9MTJpSSuXInvOJ6OhoXF1diYqKypOVyOLj46lVqzZnz12hcKl+FCzUGNC4dXMrV0/Pp1jRQuzd+w+Ojo7mDlUIIcwir1/Hc5O8F0JYJklcsh5T/x8O8t/kJjXtnNutaq7Hlt0xZfU6LmPyLNzSpUs5duwIpWtMx9u/BXq9HXq9LV6Fm1O6xqecPHmCH374wdxhCiGEEEKIJ5CaJDyYTAEERyXQ/4eDrD92U2Li7lPFcWtOpEumANOycWtOYDDm3vMtc8Yk3TUt3HeLv8fdqyaOLunH3zm6FMPD+zm+/XYxb775phmiE0IIIYQQTyorScKIX45yJyEFnaahAKXU/fYKUl8pdX8bldHye5371P1/ptlXajujUny5+exDY3pvxRHOhsbcjUmpDI/94HFVBstNMZpep433wfYANyPj0yWd/43tZlQCby7Zj7eLXabtslNIdEKWYtp7MYLaxQtk67ElybNwIcGh2DlUzHS9rYM/ISH7czEiIYQQQgiRHbafDXtokgAQGZ/MeyuO5FJEWXMnIYXPNp4xdxgZ+vNkqLlDSCf0zsN/x09CkjwLV6RIYQ4dPZfp+oSY85QoXTgXIxJCCCGEEE8qMi6JzSdDWX88mK2ns5aQBPk44+1iZxrnpWk88G8N7d6ye0tM/9ZMbbX72z3wmgz2cz0yjgOXIx8Z03NFPQgo4GjaZ2bHTY1V0x6IIc3y+8e+H9Z/1qNxPTKOVYduPDKu9lUL4+/h8Mh22eFqRBwrDl57ZDsv5+x/sihJnoXr3fsNunbtStStw7gWqJRmXXTEUSJC99Pn0+/NFJ0QQgghhHiU4KgENp4IZsPxYP65EPHYY7TGtimX7d39MrP7/C06L/znke0GNSmVazHB3a6t/1yIIDgqIcOupBrg42rH1PYVc60CqMGo2Hk+/JEx1Szqke3HliTPwr322mvMn7+AXbtHUKhYVwoWaoyGRvjNLdy4sJS6devRsWNHc4cphBBCCCEecD4shg3Hg9lwPITDVyPTrAvydqZ5OW+alPWm35IDhJghSchMzaIe+LramSVxeRi9TmNMm7L0/+EgGqSJLTWlG9OmbK5O8WDOmGQKhUewhHLTsbGxDB06lMWLvycx8W6fXhtbO7q/3o3PP/8cJycnM0cohBDmYwnX8dwi74UQ5qOU4uj1KFNidy40Js36qkXcaF7Oh+blfAgseH/qq9RKlpBxkmDOaQHyUkyp8urUDtkVU1av45LkPYIl3RAjIiLYu3cvADVq1KBAgdx7RC6EEHmVJV3Hc5q8F0LkrhSDkX2XbrPheDAbjwdz44EP+VY6jdrFC9C8nA/Nynrj9ZCKj/k9cclueXGS9uyKSZK8bCI3RCGEsGx58Tq+bds2pk+fzoEDB7h58yarVq2iXbt2D91m69atDB06lOPHj+Pv78/HH39Mz549H+u4efG9ECK/SUg2sONsOBuOB/PnyRBuxyWb1tlb62kU5Enzcj40Lu2Fq711lvebnxMXkXVZvY7LmDwhhBAil8XGxlKpUiXeeOMNXnnllUe2v3jxIq1ateKtt95i6dKlbN68mT59+uDr60vz5s1zIWIhxMNEJySz5VQoG44Hs/V0GHFJBtM6NwdrXijtTfNy3jQo5Ymdtf6JjqG/9+QvL8mLMYm7JMkTQgghclmLFi1o0aJFltvPmzePokWL8tlnnwFQpkwZduzYweeff/7QJC8xMZHExETT6+jo6CcPWogckFefBGUlrtA7CWw6EcKG4yHsPh9OsuF+5zhfVzualfWmeTkfahb1wEqvy+1TEM84SfKEEEKIPG737t00adIkzbLmzZszePDgh243ZcoUxo0bl4ORCfHk8uqYrofFVdbX9V7hlGAOXLnNg4Oeins6mgqnVCzsapr3TQhzkCRPCCFEOpcuXWLWrFn8svx/xMbFUqZsWd56+206duyIXv9kXY3EkwsODsbb2zvNMm9vb6Kjo4mPj8fe3j7D7UaOHMnQoUNNr6Ojo/H398/RWIXIitTqjP8tDBEclUD/Hw6arTpjZnHdjErgrXvVJB9UsbDrvcTOmxJezrkTpBBZIEmeEEKINP755x+aN20K8Yk0NDripuk58s9huu7syqqVK/nxp5+wspLbhyWwtbXF1tbW3GEIkYbBqBi35kSGc6wp7pbhH7fmBM+X9kahMBohxWjEYFSkGNX9/xqUablBKVIM6j9tjP9pqzCq1PXGdO2TDEa+3Hw2w7ge9FxRD14s70Ozcj4Ucsv4CxYhzE3u0kIIIUwSExNp99JL+McrxlAEh3tP7ToCu3UxfLJyJV9++WWap0Mi5/n4+BASEpJmWUhICC4uLpk+xRMir1FKEXonkTWHb6TpCpmuHXefnJX6+I/cC+4xDGpSSoqNiDxPkjwhhBAmv/zyCyFhYYzTB+Kgpe2WWVvnRAOjM7NmfsHgwYPR6aSQQG6pXbs269atS7Ns06ZN1K5d20wRCZG5OwnJXAyP5UJYLBfCY+/9O4aL4bFpqk4+Kb1OQ6/TsErzX53p9YPr9DoNK33a9Rm1s9LpuBkVz8ErkY88fuidzBNUIfIKSfKEEEKY7N69mwBrBwormwzX18GJLVevEBISgq+veSe7tWQxMTGcO3fO9PrixYv8+++/eHh4UKRIEUaOHMn169f5/vvvAXjrrbeYPXs277//Pm+88QZ//fUX//vf/1i7dq25TkE8hCVXjMyqpBQjVyLi0iRwF+4lduExiZlup9dpFHSyISQ68zapFr5ejVrFC6RJxHQaOVbQZPf5W3Re+M8j23k5Zz5puRB5hSR5QgghTPR6PSkPGZGSfG+djMl7Ovv376dx48am16ndX3v06MF3333HzZs3uXLliml90aJFWbt2LUOGDOGLL76gcOHCfP311zJHXh5kiRUjM4tLKUVIdCIXwmJMCdzF8LsJ3dXb8RiMmV8rPJ1tKVrQkeKejhQt6EjRgk4U83TE390BvU6j3tS/CI5KyPBqowE+rnY8X8Y7V5PjmkU98HW1e2RcNYt65FpMQjwpTSn1qPGlz7SsziovhBD5wdq1a2ndujWf6f0J0tKP9ZqgbhIXVITDx45aTHlwuY7fJ+9FzsqsMmPq/yl5rWJkalyfdahEcU8nLoTHcDHs/hO5S7ce3r3S0UZPUc97CVxBR4qZEjpHnO2ssxQTkCauvPJe5bW4hEiV1eu4JHmPIDdEIcSzxGAwUL5MGWIuXmOM8sZXu9tt06AUv6nbLDKGs3jxYrp3727mSLNOruP3yXuRcwxGRb2pfz20oIiXsy0r+tdBA5TibuVIdfeJWep/FWBUdytKKtTdduresnvr77e/vxzF3WX39pm6LMVg5P1fjnA7LvmJzkuv0yji4UCxe8lbUU9Hit17KuflbPtUX/bkp6eeQuQWSfKyidwQhRDPmnPnztGk8fNcvX6NKpojbkrHUX0SoSkJfPDBB0yZMsVinuKBXMcfJO9FzsnqeK68ys3emiAfZ4p5OpkSumKejvh7OGCtz7kiS8/C+EUhslNWr+MyqEIIIUQaJUqU4NjJEyxdupQVP/9MTHQ0bSpW5K233qJ69ermDk+IPCmrFRf1Og1rvYZO09Dg7n/vFRPRaelfa2imYiPaA+tN7e7tI91299pExiVxJSL+kXGNa1uOtpX9nu5NeAJ6nZYnpyPIq3EJkVWS5AkhhEjHycmJN998kzfffNPcoQhhEbJacfGH3rVyNXmQipFCPJtkkiMhhBBCiKeUWpkxsw59GnfHdeV2Zca8GpcQImdJkvcMCA4O5sCBA2nKcT/IaDSya9cufvnlF3bu3InRaMzlCIUQQgjLptdpjGlTNsN1qQnWmDZlc31c14Nx/ffI5oxLCJGzLC7JmzNnDoGBgdjZ2VGrVi327t2bpe1++uknNE2jXbt2ORtgHnL06FFatmpFoUKFqF69OgEBATRo0JAdO3aY2vz++++ULBlE3bp1ad++PfXq1aNEiVKsXr3ajJELIYQQlufF8r7M7VYVBxt9muU+rnZmLb2fGpePa9oumeaOSwiRcyyquuby5cvp3r078+bNo1atWsycOZOff/6Z06dP4+Xllel2ly5dol69ehQrVgwPDw9+/fXXLB/TUiuRHT58mHr1GoDOHe/A13ByKUl87DWCL68gLvoc69atJSEhgXbt2uFasDp+xbvi6FyM2DsXuXFhGbdD97By5cpnKikWQuRPlnodzwnyXuSOjvN3sefibbrWKkLrioXyTGVGqRgphOXLl1Mo1KpVixo1ajB79mzgbjdDf39/Bg4cyIgRIzLcxmAw0KBBA9544w22b99OZGTkQ5O8xMREEhMTTa+jo6Px9/e3uBtivXr1OXL8JmWfm4WVlYNpudGYzKn9I3GyDUOv1xMVV5AyNT5B0+4/1FXKyKn9H+Fke5OLF8+j01ncA18hhDCRxOY+eS9yR7UJm7gVm8Sad+pRobCrucMRQuQjWb2OW8yn96SkJA4cOECTJk1My3Q6HU2aNGH37t2Zbjd+/Hi8vLzo3bt3lo4zZcoUXF1dTT/+/v5PHXtuO336NDt37qBQsW5pEjwAnc4a/5K9uHr1MpcuXaBwiW5pEjwATdPhV6IbV65cYtu2bbkZuhBCCGHRwmMSuRWbhKZBCS8nc4cjhHhGWUySFx4ejsFgwNvbO81yb29vgoODM9xmx44dfPPNNyxcuDDLxxk5ciRRUVGmn6tXrz5V3OZw/vx5AJzdy2W43smtLKnDrR2ci2fYxtG5GADXr1/P/gCFEEKIfOpMyB0Aing4YP+fsXlCCJFb8u08eXfu3OH1119n4cKFFCxYMMvb2draYmtrm4OR5Tx3d3cAEuNDsbVPP1YxKSEMuNtLNz7mUobJYFzMZQB8fHxyLlAhhBAinzkTfDfJK+XtbOZIhBDPMotJ8goWLIheryckJCTN8pCQkAwTkfPnz3Pp0iXatGljWpY6NYCVlRWnT5+mePGMn2JZupo1a1K4cBFuXvoFZ/dyaFraQdU3Lq7A3t4RjwIFuH5+GUHVJqZpo5Ti+vll+Pn506hRo1yOXgghhLBcp0NiACjlLV01hRDmYzHdNW1sbKhWrRqbN282LTMajWzevJnatWuna1+6dGmOHj3Kv//+a/p56aWXaNy4Mf/++69FjrXLKr1ez6RJEwi/sYULxz4nMT4MgOSkKC6f/oYbF/7Hhx+OYObnn3EreCenD4wmJvI0RkMSMVFnOH1wDLdubuOzz6aj10tXEyGEECKrzobIkzwhhPlZzJM8gKFDh9KjRw+qV69OzZo1mTlzJrGxsfTq1QuA7t274+fnx5QpU7Czs6N8+fJptndzcwNItzw/6t69OzExMbz33gccuLoWO3t3EhMi0et0jBo1io8++ghN01i+fDlDhgzj8I43Tdv6+vrx448/0rFjRzOegRBCCGFZlFKcvpfkBflIkieEMB+LSvI6duxIWFgYo0ePJjg4mMqVK7N+/XpTMZYrV65Iuf8HvP3223Tr1o0VK1Zw9epVvLy8aN++PZ6enqY2HTp04JVXXmHLli3cuHEDX19fnn/+eaysLOpPQwghhDC7kOhE7iSkoNdpFC3oaO5whBDPMIuaJ88cZE4hIYSwbHIdv0/ei5z195kweizaSwkvJ/4c2tDc4Qgh8qGsXsflcY0FiIqKYvXq1dy6dYvAwEBatmyJjY2NucMSQgghxAPuj8eToitCCPOSJC8PU0oxadIkJk2aQmJiPHorW1KSEyhY0Iu5c+fQvn17c4cohBBCiHtOy/QJQog8QpK8PGzixImMHj0av+KdKVS0PTZ2BYi7c5GrZ76lQ4cOrFmzhlatWmXb8ZRS7NixgzNnzuDi4kLz5s2lO48QQgiRRWeksqYQIo+QKiV5VGRkJJMmT8GveGcCy7yJjV0BAByci1Kq6ljcClZl5MiPyK4hlbt27aJ06bI0aNCAPn360KFDB3x9/Rg7dqxpfkEhhBBCZMxoVJwNTZ0jT5I8IYR5yZO8POq3334jMTGBQkXTd8nUNB0+ge05um8kJ06coFy5ck91rIMHD/LCC02xdSxG+ec+x6VARZISbnHz0irGjx9PXFwc06ZNe6pjCCGEEPnZ9ch44pIM2Oh1BBZwMHc4QohnnDzJy6PCw8OxsXE0PcH7LztHPwBu3br11Mf6eNQorGy9KFPzM1wLVkHT9NjaexFY5k38S/XmsxkzuH79+lMfRwghhMivUrtqFvN0xEovH6+EEOYlV6E8KiAggKTEGOJirmS4PibyNABFihR5quPcunWL9X/8gXeRV9DrbdOt9w18GZ3Omh9//PGpjiOEEELkZzIJuhAiL5EkL49q06YN7h4FuHb2O5RKOybOkBLHzYs/0rjx8wQGBj7VccLDw1FKYe8UkOF6K2tH7OwLEhIS8lTHEUIIIfKzsyEyHk8IkXfImLw8ytbWljmzZ9GlSxdSkmPwDWyPnWMhYiJPcfPCjxiTQ5kx45enPo63tzd6vZ7Y6HO4FqiUbn1yUhTxcaEULlz4qY8lhBBC5FcyfYIQIi+RJ3l5WOfOnfn111/x9ojhxN73ObilG2cOTaRqZX927txO5cqVn/oYbm5utGv3MqFXVpKSHJNu/fXzP6HToEuXLk99LCGEECI/MhgV58JSn+TJROhCCPOTJ3l5XNu2bXnppZc4evQo4eHhBAYGUqxYsWw9xqRJE/nzz+c4/s9A/Ip3x6VAJZLiw7h5aRWh19YzefJkPD09s/WYQgghRH5x+VYsSSlG7Kx1+LtLZU0hhPlJkmcBNE2jYsWKObb/oKAgduzYTv/+b7NjxzjTci8vH+bMmUP//v1z7NhCCCGEpUutrFnSyxmdTjNzNEIIIUmeuKd8+fJs376NU6dOcfbsWVxcXKhTpw7W1tbmDk0IIYTI085I0RUhRB4jSZ5Io3Tp0pQuXdrcYQgh8gmlFNu3b2fbtm1omkajRo2oU6cOmiZPO0T+cX/6BBmPJ4TIGyTJExk6ceIER44cwd7ensaNG+Pi4mLukIQQFub8+fO0f/kV/j16BBcrGxTwccrHVK9SlZ9X/vLUU8AIkVecTe2uKU/yhBB5hCR5Io0zZ87wRu8+7Nyx3bTMwcGJQYMGMmHCBPR6vRmjE0JYitu3b9O4QUOMoRFM1PlRSTmggEO6OOYdPcELjRpz6Mhh+QJJWLykFCMXwmIBCJIkTwiRR0iSJ0yuXLlC3Xr1iU+0I6jqWNw8a5CSHE3Ild+ZOnUaoaGhfP311+YOUwhhAb7++muCg28yXwvAS3d3bK8GVNMcGa+seevKFb7//nveeecd8wYqxFO6GB5LilHhbGuFr6uducMRQghA5skTD/jkk0+IiUmhbK0vKFioEVbWjtg5+BJQui+B5d7lm2++4dixY+YOUwiRS4xGI9u2bWPx4sX8/vvvJCQkZHnbH3/4gdo44qWlL97kq9lQU3Pkxx+WZme4FmnOnDkEBgZiZ2dHrVq12Lt370Pbz5w5k6CgIOzt7fH392fIkCGP9XsR2c9UWdPbScaaCiHyDEnyBAAGg4HFi5dQsHArbGzd06339m+JnYMHixcvNkN0QojctnnzZkqXLEXDhg3p2bMnbdq0obBvIWbPno1S6pHb3759G0+VeWcRT6XndkREdoZscZYvX87QoUMZM2YMBw8epFKlSjRv3pzQ0NAM2y9btowRI0YwZswYTp48yTfffMPy5cv58MMPczly8aDUJE8qawoh8hJJ8gQAsbGxxMXF4OBcNMP1Op019o7+3Lx5M5cjE0Lktu3bt9PixRexvxzMJ/rCrNKXYK4+kOpRRgYOHMjnn3/+yH2UKFmKU/qkTNef0idTIqhUdoZtcWbMmEHfvn3p1asXZcuWZd68eTg4OLBo0aIM2+/atYu6devSpUsXAgMDadasGZ07d37k0z+RsyTJE0LkRZLkCQAcHR1xcHAi7s7FDNcbjcnEx1zF19c3lyMTQuS2D957j2LKhvEUorzmgLWmw1+zYaDemzaaG6M/HkV0dPRD99HvrTc5nhLLXmNMunU7jXc4kxJL3379cuoU8rykpCQOHDhAkyZNTMt0Oh1NmjRh9+7dGW5Tp04dDhw4YErqLly4wLp162jZsmWmx0lMTCQ6OjrNj8heqXPkBflIkieEyDskyRMA6PV6evR4nfBra0lKvJ1ufcjVdSTER9CjRw8zRCeEyC3nzp1j9549vKxcscpgfNGrOnfi4uP45ZdfWLlyJU1feIHCPr6ULlGSjz/+mBs3bgDwyiuv0KZ1ayYTzHxDKMdVPMdUHHMNIUxTwbR/9VVatWqV26eXZ4SHh2MwGPD29k6z3Nvbm+Dg4Ay36dKlC+PHj6devXpYW1tTvHhxGjVq9NDumlOmTMHV1dX04+/vn63n8axLSDZw+dbdypolvWWOPCFE3iFJnjAZOXIkTk5WnNgziPAbW0hJjiEh9gaXTy3k0vEv6d27N+XLlzd3mEKIHBQSEgJAEc0mw/UFNWscraz54osvePXVV7mxbQ/1QpMIvBDG559MpUK5chw8eBC9Xs8vK1fy4ccfs9tNxweGq4wwXGOfhzVjxo3jx59+QqeTW9Dj2Lp1K5MnT+arr77i4MGDrFy5krVr1zJhwoRMtxk5ciRRUVGmn6tXr+ZixPnfudAYjArcHazxdLI1dzhCCGEiUygIE39/f3bt3EHv3n3Yvn2cabmDgxMjRnzA+PHjzRidECI3FCpUCICLKpEiWvoPraEqmVhDMkcOH2aEzpd6OMO96TN7KgNjYm7StnUbLly+hLW1NePGjePDDz/k9OnTaJpGUFAQNjYZJ5DPkoIFC6LX601JdaqQkBB8fHwy3GbUqFG8/vrr9OnTB4AKFSoQGxtLv379+OijjzJMmm1tbbG1leQjp5x5YBJ0qawphMhL5GtUC7Bnzx46d+5CgQKeuLl50LJVKzZs2JAjxypZsiTbtv3N8ePH+emnn/jtt98IDr7BpEmTZCJ0IZ4BRYsWpX7duqzSoklSxjTrlFL8zxiBTtOorzlTT5d2DJKzpudd5cm1mzf49ddfTcttbW2pWLEiFSpUkATvHhsbG6pVq8bmzZtNy4xGI5s3b6Z27doZbhMXF5cukUu9Lmel4qnIfqbxeFJ0RQiRx8iTvDxu0aJF9OnTBwfnwnh4t0LTWbFz9w7+WPcio0aNeuyna8eOHWPNmjUkJCRQqVIl2rRpg7V1+nmsypYtS9myZbPrNIQQFmT6Z5/RqEEDPjLcoKPRnSDNjmCS+dV4m7/V3ScXDXQZf6gN1GwpbO3Azp07ee2113IzbIszdOhQevToQfXq1alZsyYzZ84kNjaWXr16AdC9e3f8/PyYMmUKAG3atGHGjBlUqVKFWrVqce7cOUaNGkWbNm3kSzgzuV9ZU8bjCSHyFkny8rCzZ8/Sr18/vP1bU6zCYDTt7k28cIluXD//IxMmTKBBgwZpqrNlJioqii5durJu3VpsbJywsrYnLjYMH59CLF/+Iw0aNMjp0xFCWIhatWrx519/MeCt/ow9dtS03M/Hh88/GM+QIUMwkPGTI6UURk3JeLss6NixI2FhYYwePZrg4GAqV67M+vXrTcVYrly5kuZ9/Pjjj9E0jY8//pjr16/j6elJmzZtmDRpkrlO4Zkn0ycIIfIqTUkfj4eKjo7G1dWVqKgoXFxccvXYw4YNY85X31C18f/Q6dOOqVBKcXRnXxrVL8vq1b89dD9KKRo1fp5//jlAYNnBFPBtiE5nRWz0eS6fnE1CzBn27dtDuXLlcvJ0hBAWRinFoUOHuHjxIgUKFKBevXro9XrKBgVR4HwwI3Xpp1Q5reIZZrjKmjVraN26tRmiTs+c1/G8Rt6L7BObmEK5MXeHThwa1RR3R+mKLITIeVm9jstXrXnYrl3/4FKgRroED0DTNNw867J79z+P3M+WLVvY9vdWSlT6GE+/F9Dp7j7AdXQpTlD1Kej0rkydOi3b4xdCWDZN06hatSqvvvoqjRo1wsrKCk3TGPb+++w03uF3YyTGB74nDFXJzNTCKVW8BC1atDBj5ELkvLOhd8fjeTrbSoInhMhzpLtmHmZtbYXRmJTpeqMxCb3Vo3+Fy5cvx8nFHzfPmunW6fV2FPBryf/+9wPfffetdLESQjxS7969OXLkCLNmzWIVt6miORChUthPLM5Ozqz7dZWMERP53pngu101peiKECIvkk/0ediLLzYnMmwPyUlR6dYpYwq3Q7bQskXzR+4nMjISa1vPTMs729p7kZiYQFJS5gmlEEI8KC4uDgANOKriCCOZstgTFxvL8KHDSElJMW+AQuSw06bpE6ToihAi77G4JG/OnDkEBgZiZ2dHrVq12Lt3b6ZtFy5cSP369XF3d8fd3Z0mTZo8tH1e07t3b+ztbDlzaCzJSZGm5YaUOM4dmUZifDiDBg165H5KlChBbPRZDIaEDNdHRxzFx6eQaS4lGaYphHiYbdu28c033/CuzpuvrYoy36oos6wC+cTKn9GaLxs2bWTZsmXmDlOIHJVadEWe5Akh8iKLSvKWL1/O0KFDGTNmDAcPHqRSpUo0b96c0NDQDNtv3bqVzp07s2XLFnbv3o2/vz/NmjXj+vXruRz5k/H29mbt2jUYEi5wYHMHTu7/iFMHxnLwrw5EBG/hhx+WUKlSpUfup0+fPiQnxXDtXPoPXbHRF7h1cxM9e3ZnwoQJ+PsHoNfrKVDAk6FDh3Lt2rWcODUhhAVbuGAB/lb2NNXSD/iuonOkqt6J+V/NNUNkQuSeBydCF0KIvMaiqmvWqlWLGjVqMHv2bODuxLH+/v4MHDiQESNGPHJ7g8GAu7s7s2fPpnv37lk6Zl6oRBYeHs4333zDxo2bSElJoV69urz55psUKVIky/uYOHEio0aNooBvfbwKt8LKxpnboXsIvbKS4sUDSElO5uKlKxTweQEntyDiY69x68YGnJ1s2bZtK2XKlMnBMxRCWJKaVavh9u85Bul9Mlz/o/EWm9wg5FZ47gaWibxwHc8r5L3IHlFxyVQavxGAo2Ob4WyXfr5ZIYTICVm9jltM4ZWkpCQOHDjAyJEjTct0Oh1NmjRh9+7dWdpHXFwcycnJeHh4ZNomMTGRxMRE0+vo6OgnDzqbFCxYkA8++IAPPvjgiffx8ccf4+/vz6RJUzi5725C7ODgRJ/e3QkJCWXtus1UqLsAB6f7iWPh4l04uXcInTt35dChA5mO6RNCPFtcPdwJ1wyZrg9XKbi6FsjFiITIXWdC7z7F83OzlwRPCJEnWUySFx4ejsFgME0Sm8rb25tTp05laR8ffPABhQoVeujk4VOmTGHcuHFPFWte1aNHD7p37865c+dISEigaNGixMXF4edXGP9S/dIkeADWtm74B73F4b0fsGfPHp577jkzRS6EyG5nzpxh6dKlhIaGUrhwYV5//fUs9w7o1LkzfTdv5qqWiL+WdoqXKJXCdl0sw7q9mxNhC5EnnJGiK0KIPM6ixuQ9jU8++YSffvqJVatWYWdnl2m7kSNHEhUVZfq5evVqLkaZ8zRNo2TJklSoUAEnJyeOHj1KSkoy7t61M2zv5lkDnc6KAwcO5HKkQojscvToUd566y3KlylDxbLlqFixIkFBQXw++RP+XLSEyWPGUjSwKB9//HGWCi917tyZUiVKMkYL4YAxFqNSKKU4qeIZpQXj5ObG22+/nQtnJoR5yPQJQoi8zmKe5BUsWBC9Xk9ISEia5SEhIfj4ZDwuJNWnn37KJ598wp9//knFihUf2tbW1tZUZfJZYGNzdwJXQ0p8husNhgSMymBqJ4SwLF9//TVv9nsTD701NQ12GIAd6g56oL/Rgwa4EIeR37TbTJo0iQIFCjBkyJCH7tPBwYE/t/zFq+1eZsyB/bha2aDXNCKSEylVvAR//fbrI6/LQliy01J0RQiRx1lMkmdjY0O1atXYvHkz7dq1A+4WXtm8eTPvvPNOpttNmzaNSZMmsWHDBqpXr55L0VqOGjVq4ObuQejVP3ByLZlufdi1jeg0jebNHz0fnxAibzlw4ABv9nuTF3Gmn/LCSn93XG0/5cnnxmA+N4YQpNnjrVnTWStAuEphysRJDBgw4JFf7BQuXJh/9u1l9+7d/PnnnxgMBurUqUPTpk3R6Z6ZTiLiGXU2JAaQJ3lCiLzLou7EQ4cOZeHChSxevJiTJ0/Sv39/YmNj6dWrFwDdu3dPU5hl6tSpjBo1ikWLFhEYGEhwcDDBwcHExMSY6xTyHDs7O4YNHULw5V8JvrwGpe4WU1BKERGym6tnFtCxY6fHquQphMgbZn35JV56G97UeWH1QOEkW03HYJ0PNmisM0aalrfUuRIWcYtdu3Zlaf+aplGnTh1Gjx7NuHHjaN68OeHh4UycOJGqlSoRVLwE7V99lT///FPm3xT5RnhMIrdik9A0KOElY/KEEHmTxTzJA+jYsSNhYWGMHj2a4OBgKleuzPr1603FWK5cuZLmG+S5c+eSlJRE+/bt0+xnzJgxjB07NjdDz1OSkpJYtWoVq1evJj4+ngoVKtCpUyd+/PEzbl78ATvHEiQlXCcm6hJNmjRl4cIF5g5ZCPEEtm7+izoGe/T69JVx7TQdNTVHjqr7XbXd7t0SnvSLsEOHDtH0hReIiYqmtnKgCHoOXFlP05UrGTBgALNmzZIqvcLipRZdKeLhgL2N3szRCCFExiwqyQN45513Mu2euXXr1jSvL126lPMBWZhLly7RtGlzzp07g6tHaXRWzvy+dgNGQxIfffQRERERXL58BS+vknTr1o3nn39ePpQJYaEe9fRMh4bifpvDKg7giebFTExMpE3LVnjcSeRLLQBXnZUphvW6KObMmUPVqlV54403HnvfQuQlqUVXSklXTSFEHmZxSZ54cikpKTRv3oKbIbFUqr/QNAYvJTmWyyfnMXnyZP7880+ef/55M0cqhMgODZ9vzJ8/raCnUuj+82VNojKyR8XQVHMF7k59sFwXSZNGL1C8ePHHPtbKlSu5HnyTufoAXLX7txZN02ihuXFAi2fmZzPo1auXfHEkLNqZ0LtPukvJ9AlCiDzMosbkiaezevVqzpw5RYlKo9MUWbGydqRYhSE4u5di6tRpZoxQCJGdBr77LsGGRBYawzA88FQvWRn50hhCHEb8sWa58RaDtOskuTjy1by5T3Ssv//+m6LWDunmzUtVTzly9MRxoqKinmj/QuQV8iRPCGEJJMl7hqxduxZnt+I4uQWlW6dpOgr6NmfTpo0kJyebITohRHarUaMGc+bM4Xei6KddZb4hlLmGEHpxhe3EgKbxpQrlZ6s7tHm9C3sP7KdkyfRVdrNCCquIZ4FSyjR9giR5Qoi8TJK8Z0hiYiJ6K8dM1+utnVBKSZInRD7Sv39/Dhw4QMvXO3Mq0IPzxT3p+lZfjp84QfSdO1y7do2IyEhTFeIn1bBhQy4mx3FVJWa4focWS/kyZXF1dX3iYwhhbiHRidxJSEGv0yjmmfn9VAghzE2SvGdIlSpVuHP7JMmJkRmujwjZBZqe6dOn525gQogcVaVKFRYtWsSZC+c5efYss2fPpnTp0jg6OuLn54e9vf1TH+PVV1+lkLcPn2thRN2bigXuFV4xRvKP4Q5Dhg+T8XjCoqU+xQss4ICtlVTWFELkXZLkPUN69uyJtbUVF098iTKmpFkXEfIPt4K34eZZnbFjx7J27VozRSmEsES2trasWbeWW8629FaX+cwQzNeGMN7VrjPbGMrbb79tmtNUCEt19l6SF+QjXTWFEHmbVNd8hhQoUIDvv19Mp06duXP7FN5FWmNl7UJk2F5uBe/A3fs5Slcdz4m9g5gx43NatWpl7pCFEBakatWqHD95kgULFrDy55+5FhNL5UoVmf/22zRp0kSe4gmLd1qKrgghLISmZLT8Q0VHR+Pq6kpUVBQuLi7mDidbNGrUiF3/HCElOQZlTMbBuSg+AW3xKdIaTWfF9Qs/c/3sQhITE+RDmRDC4uXH6/iTkvfi6bSds5PDVyP5qmtVWlbwNXc4QohnUFav4/Ik7xnk7u6Oo0sxytb8FDCiaTKuQAghhHgYo1GZumvKkzwhRF4nY/KeQQ0aNCA64jDJiRHpEjylFLdDtlK/fn15iieEEBnYvn073bp1o3bt2ly/fh2AJUuWsGPHDjNHJnLS9ch44pIM2Oh1BBZwMHc4QgjxUJLkPYN69uyJo4Mj545MISU51rRcKSPXzi0h6tZxhg4dYsYIhRAib/rll19o3rw59vb2HDp0iMTEu1NGREVFMXnyZDNHJ3LSmXtP8Yp5OmKll49PQoi8Ta5SzyB3d3d++20ViTGnOLSlI2cPT+XC8Vkc3vY6V04vYvz48VJ0RQghMjBx4kTmzZvHwoULsba2Ni2vW7cuBw8eNGNkIqfJJOhCCEsiY/KeUY0bN+bkyePMmzeP1WvWkpiQSOM2jRgw4G3q1Klj7vCEEBYqMTGRDRs2EBwcTKFChWjWrBk2NjbmDivbnD59mgYNGqRb7urqSmRkZO4HJHLN2ZAYQKZPEEJYBnmSZ0Hi4uL49NNPKVGiFHq9Hjd3DwYMGMCFCxeytP1/C6kWKVKEyZMnc+zoYc6ePcXSpT9Qp04dlFLs2bOHpUuXsnbtWhISEnLidIQQ+cyiRYso7FuItm3b8tabb9KmTRuK+BVm6dKl5g4t2/j4+HDu3Ll0y3fs2EGxYsXMEJHILTJ9ghDCkkiSZyHu3LlDw4aNGTHiQ6ITAggsOwinAi1Y9O1PVK5clX379mW43eXLl3n33Xdx9yiAXq8nMLAYU6ZM4c6dOxm23717NxUqVOK5556jW7dutG7dGt9Cfnz++efpkkQhhEj13Xff0bt3bypEpjBXH8hqfUlm6wMIikigW7duLF++3NwhZou+ffsyaNAg9uzZg6Zp3Lhxg6VLlzJ8+HD69+9v7vBEDjEYFefC7j7JK+XtZOZohBDi0WSevEfIK3MKDRo0iLnzvqFMzc9wdittWp6SHMOpfe/j6hTHhQvn0OvvV8s8fPgwjRo1JiERChR6EVsHH2IiTxJxcwtlypRm27atuLm5mdofPHiQunXrY+tQFL+SPXFxL09iQig3L/5C8OXVTJw4kY8++ig3T1sIYQGSk5PxL+RH6VsJDNf5pKnMq5RisvEmN/zcOX/pYpprVG7Jzuu4UorJkyczZcoU4uLiALC1tWX48OFMmDAhO8LNUXnlnmZpLoTF8Pxnf2NnrePEuBfR6aT6tBDCPLJ6HZcneRYgNjaWb775Fu8iL6dJ8ACsrJ0IKDOQK1cusX79etNypRQdOnTCqHlSqf73BJZ5E9+AtpSsNILydeZy5sxFhg8fnmZfI0aMxNrWhzK1ZuDuWQO9lT0OTgEUrzAUv+KdGT9+Ardu3cqVcxZCWI7NmzcTEh7GqzqPdFOvaJrGqzp3Ll+7ys6dO80UYfbRNI2PPvqIiIgIjh07xj///ENYWJhFJHjiyaVW1izp5SwJnhDCIkiSZwHOnTtHbOwdPLxrZ7je2b0Mdg4e7N+/37Rsy5YtnDlziiKlB2Blk3b8gKNLMbwDX+OHpctMhQKCg4PZtGkj3gHt0ett0x3Dr1hHUgyGfNPlSgiRfUJDQwEojHWG6wtjk6ZdfmBjY0PZsmWpWbMmTk7SfS+/OxOS2lVTxuMJISyDVNe0AKmV6Qwp8RmuNxpTMKYkpalgd+DAAaxtHHHxqJjhNh7edbhy+htOnjxJ7dq1CQkJAcDBuWiG7a1t3bCz9+DmzZtPcypCCAtx/fp1fvzxR0JCQvDz86NLly54eXll2LZw4cIAXCCR0tinW39e3Z1Lzt/fP+cCziWNGzdO97TyQX/99VcuRiNyy/3pEyShF0JYBnmSZwGCgoIoUiSQ0GvrM1wfEbyDpKQYWrZsaVpmY2OD0ZCMMiZluI0hJc7UDsDb2xtN04i7k3GlzqTE2yTER1CoUKGnORUhRB5nNBr54IMPCChShFEjRvLTl1/xwbDh+PsVZvLkyRkWYGrYsCGB/v78pG5j+M96g1L8j9uUKVWKmjVr5tZp5JjKlStTqVIl00/ZsmVJSkri4MGDVKhQwdzhiRxyNjXJk+kThBAWQp7kWQCdTseIEe/z9ttv4+BSgkJFX0Wnu9stKurWYS6dmEmTJk2pVKmSaZsWLVowePBgwm9swcv/xXT7DL26Hm9vX9M2Pj4+NG3ajF17VlDQ7wX0ers07W+cX461lRUdOnTIwTMVQpjbhAkTmD5tGq/rCtAaNxyMeqI1AysNEXz00Ue4uroyYMCANNvo9Xq+nDOHdm3bMYYbtFdu+Gu2XFKJrCCSk1oC62bPfugTMEvx+eefZ7h87NixxMTE5HI0IjckpRi5EBYLQJB01xRCWAh5kmch3nrrLd5//30un5zHoa2dOLnvI47s6MOx3YOoWDGI5ct/StO+VKlStG3bjsun5hAZtt/07bsypnDj4kpCrq7l/feHY2V1P8//5JMpGJJCObFnCBEh/5CSHEts9AXOHfmU6xd+YsyY0RQoUCBXz1sIkXvu3LnD9KnTeFlzp4OuAA7a3UqYLpqennpPmmguTBw3nuTk5HTbtmnThjW/ryGpZGE+Nl6nh+ECY4zXoXQgf6xfT9OmTXP7dHJVt27dWLRo0WNvN2fOHAIDA7Gzs6NWrVrs3bv3oe0jIyMZMGAAvr6+2NraUqpUKdatW/ekYYssuHQrlhSjwtnWCl9Xu0dvIIQQeYA8ybMQmqYxdepUunXrxtdff825c+dxdw+kY8cZtGzZMsOy5IsXf0ebNi+xfftwnN2KYWXrQ0LMWeJjwxg4cCBDhgxJ075KlSps3foXffu+yZF9I0zLPQoU5Msvv+Sdd97J8fMUQpjP+vXriY2Po7XeO8P1rXVu/Bl2hZ07d9KoUaN061u2bEmLFi04ePAgN2/exM/Pj8qVK+eLJ3iPsnv3buzsHi8BWL58OUOHDmXevHnUqlWLmTNn0rx5c06fPp3h+MekpCSaNm2Kl5cXK1aswM/Pj8uXL6eZCkdkv9RJ0Et6Oz0Tf8tCiPxBkjwLU6FCBb744osstXV1dWXr1i1s3LiRH3/8kfDwWxQr1pE+ffqk6dr5oJo1a/Lvvwc5dOgQ586dw9XVlUaNGmFrm77iphAif7lz5+6H2QKZ3BpSl0dHR2e6D03TqFatWvYHl0e88soraV4rpbh58yb79+9n1KhRj7WvGTNm0LdvX3r16gXAvHnzWLt2LYsWLWLEiBHp2i9atIiIiAh27dqFtfXdLvuBgYFPdiIiy86Yiq5IV00hhOWQJC+f0+l0vPjii7z4YvpxeZnRNI2qVatStWrVHIxMCJHXlCpVCoDjKp6KmkO69cdUfJp2zyJXV9c0r3U6HUFBQYwfP55mzZpleT9JSUkcOHCAkSNHptlXkyZN2L17d4bbrF69mtq1azNgwAB+++03PD096dKlCx988EGmk8wnJiaSmJhoev2wBF1kTJI8IYQlkiRPkJKSwqpVq1i06FuuXr2Or683PXv24LXXXkszLYMQIn+rW7cuZUoF8cP5a0xQdthq94dtxyoDy3WR1HuuDqVLlzZjlOb17bffZst+wsPDMRgMeHun7Rrr7e3NqVOnMtzmwoUL/PXXX3Tt2pV169Zx7tw53n77bZKTkxkzZkyG20yZMoVx48ZlS8zPKpkjTwhhiaTwyjMuNjaWpk2b0aFDB/7Zd41bMcU4cDicbt26Ua9+A9Nk6UKI/E/TNL7+dhGXrA0M1a7zhzGSYyqO1cbbDNauc9veiq/mzTN3mM8so9GIl5cXCxYsoFq1anTs2JGPPvqIeQ/5nYwcOZKoqCjTz9WrV3MxYsuXkGzg8q27lTVL+cgceUIIyyFP8p5xgwcPZufOfyj33AzcCt7vnnnn9nEO7x9B3779+Pnn/5kxQiFEbqpTpw47du1i9KhRfLVuHcqosNLradfuZSZMmPBMPsVzd3fPcsGNiIiILLUrWLAger2ekJCQNMtDQkLw8fHJcBtfX1+sra3TdM0sU6YMwcHBJCUlZdjzwtbWVsZUP4VzoTEYFbg5WOPpJO+jEMJySJL3DLt16xbff7+EQsW7p0nwAJzdy1G4ZB9WrvyCK1euUKRIETNFKYTIbVWqVGHN779z69YtwsPD8fb2fmgFx+vXr/PHH38QHx9PpUqVqF+/fr6qQjhz5sxs36eNjQ3VqlVj8+bNtGvXDrj7pG7z5s2ZVjKuW7cuy5Ytw2g0otPd7Yhz5swZfH19pWt9Djkben88Xn76mxZC5H+S5D3Ddu/eTVJSIgULvZDhek+/57lw7HO2bdtGt27dcjk6IYS5nDx5kgULFnDk8GEcHR1p9/LLdOrUCQeHtMVYEhISGPD22yxevPjuEz+djiSjgbJBQfzw449UqVLFTGeQvXr06JEj+x06dCg9evSgevXq1KxZk5kzZxIbG2uqttm9e3f8/PyYMmUKAP3792f27NkMGjSIgQMHcvbsWSZPnsy7776bI/EJOB18dzyeTIIuhLA0kuQ9w1InSNe0TIZm3psIObWdECL/mzZtGh988AFuVjaUN9gQrlP0+f13Jowdx6a/NlOiRAng7nWhc6dO/LHmd96gAE31Ltij46gunu/OX6Vxw4bsO3CAkiVLmvmMck5CQgJJSUlplrm4uGR5+44dOxIWFsbo0aMJDg6mcuXKrF+/3lSM5cqVK6YndgD+/v5s2LCBIUOGULFiRfz8/Bg0aBAffPBB9pyQSOd+ZU0ZjyeEsCyakk/wDxUdHY2rqytRUVGPdfO2BCEhIfj5FcY/6E38ir2Wfv3VPzh3eCrnzp2jePHiZohQCJGbfvvtN9q1a8drmgdddB5Y3/sC6JpKYqIWgkOAH8dPncTKyoo9e/bw3HPP8Z7Oh4a6tNfGWGVggHaNl7p35ZtvvjHHqaSRndfx2NhYPvjgA/73v/9x69atdOsNBsNT7T+n5ed7Wk6oN/Uvrt2OZ3m/56hVrIC5wxFCiCxfxy2uuuacOXMIDAzEzs6OWrVqsXfv3oe2//nnnyldujR2dnZUqFCBdevW5VKkeZ+3tzedOnXixvnviYk8nWZd3J1LXDuzkJYtW0mCJ8QzYvrUqVTUO9FdV8CU4AEU1mwYrjw5c/4ca9euBWDp0qV4WdtRT0vfjc1R09Pc6MSPS5fm+aTncb3//vv89ddfzJ07F1tbW77++mvGjRtHoUKF+P77780dnshGsYkpXLt9b25I6a4phLAwFpXkLV++nKFDhzJmzBgOHjxIpUqVaN68OaGhoRm237VrF507d6Z3794cOnSIdu3a0a5dO44dO5bLkeddc+bMpnz5II7s7M+p/R9y+dTXnD4wmn+396Zw4YJMnz7N3CEKIXJBbGwsO3fvprFyzLDARAnNjgBrB/744w/g7jxvPsoKfSbFKHyxJj4xkfj4+ByNO7etWbOGr776ildffRUrKyvq16/Pxx9/zOTJk1m6dKm5wxPZ6Gzo3fF4ns62uDtKYRshhGWxqCRvxowZ9O3bl169elG2bFnmzZuHg4MDixYtyrD9F198wYsvvsh7771HmTJlmDBhAlWrVmX27NmZHiMxMZHo6Og0P/mZq6srO7ZvY/78eRTzN5ASswW98Sx2tracO3uGcuXKUbtOXdO390KI/CklJQUA24fcFmzRSE5OBiAgIIDLJJGkjBm2PasS8HBzw9HRMfuDNaOIiAiKFSsG3B1/lzplQr169di2bZs5QxPZ7EywjMcTQlgui0nykpKSOHDgAE2aNDEt0+l0NGnShN27d2e4ze7du9O0B2jevHmm7QGmTJmCq6ur6cff3z97TiAPs7e3p2/fvvz1158U8vMlIiISd59WlK05lZKVP+TU2Vhat27NwoULzR2qECKHuLi4UKJoMfYQm+H6UJXMuZQ4atasCUDPnj2JSklijYpM1zZEJbNZF0vvvn3zXdn5YsWKcfHiRQBKly7N//53dx7RNWvWPHSaCWF57hddka6aQgjLYzFJXnh4OAaDwVR1LJW3tzfBwcEZbhMcHPxY7QFGjhxJVFSU6efq1atPH7yFmD59OkeOHKPsc19StNwA3L1q4VW4GWVrzcQnoA0DBryTbuJeIUT+oGkaAwcPYoe6wzZDNL8ZbzMw5TJdUs7TP+USo43XcXJ0omvXrgAEBQUxfPhwvjWGM8sQwmkVzw2VxBrjbT7QbuDpV4j33nvPzGeV/Xr16sXhw4cBGDFiBHPmzMHOzo4hQ4bky/N9lp2+l+TJ9AlCCEskUyj8h62tLba2tuYOI9cZjUbmzp1PwUIv4uSatuS5pmkUCepL2PWNLF68mPfff99MUQohctKAAQPYtHEjn65di6agtuZEfc2JyyqJHeoOvi4FuXPnDk5Od7uvTZs2jUKFCjFtyidsCLv7hZhep+Pldq/w5Zdf4unpyfHjx1m1ahWxsbGUL1+eV199FTs7O3Oe5lMZMmSI6d9NmjTh1KlTHDhwgBIlSlCxYkUzRiayW+qTvJKS5AkhLJDFJHkFCxZEr9ene5IUEhKCj49Phtv4+Pg8VvtnWVRUFGFhIQRVrZzhemsbF5zdSnLy5MncDUwIkWv0ej12dnY466yZrBUiQLv/hVdXVYAPQ2/yRs9e/LFhPXD3C6AhQ4bwzjvvsG/fPhISEihTpgy+vr7cuXOHdi+15bc1q3G2ssZRZ0VwUjyDBg5k8ZIltGrVylyn+VSuXr2apht/QEAAAQEBZoxI5ISouGRCohMBGZMnhLBMFtNd08bGhmrVqrF582bTMqPRyObNm6ldu3aG29SuXTtNe4BNmzZl2v5ZZm9vj06nIykxIsP1SimSEyNM3+ALIfKf69evs2rVKrrgnibBAyik2fC60Z31Gzdw9uzZNOusra2pU6cOzz//PL6+viil6ND+NTatW8cwnQ/fq0C+NvozXx9IiegUXm7Xjj179uTmqWWbwMBAGjZsyMKFC7l9+7a5wxE55Ezo3ad4hVztcLazNnM0Qgjx+CwmyQMYOnQoCxcuZPHixZw8eZL+/fsTGxtLr169AOjevTsjR440tR80aBDr16/ns88+49SpU4wdO5b9+/fzzjvvmOsU8iw7OztatGhJ+PW1GI0p6dZHhu0l9s4N2rdvb4bohBC5Yf/+/RiMRmprGX+ZU+fe8n/++eeh+9m3bx/rN25gkPKksc4F63vFV/w0G0bggx/WTJ40KXuDzyX79++nZs2ajB8/Hl9fX9q1a8eKFStITEw0d2giG5mKrvhIV00hhGWyqCSvY8eOfPrpp4wePZrKlSvz77//sn79elNxlStXrnDz5k1T+zp16rBs2TIWLFhApUqVWLFiBb/++ivly5c31ynkaR999CFxdy5z9tAEEuPvdnNVysCt4B2cPzKZ2rXrEBERwaJFi9iyZQtGY8al04UQlkmv1wOQgspwffK95antMrN8+XIKWtvxXAbJorWm0dzoxO9r1xIXF/eUEee+KlWqMH36dK5cucIff/yBp6cn/fr1w9vbmzfeeMPc4Ylscn/6BEnyhBCWSVNKZXw3z0SPHj3o3bs3DRo0yKmY8pTo6GhcXV2JiorCxcXF3OHkuF9//ZXu3XsSE3MHZ9cAkpOiiY+7RfHiJQgNC+NOdJSpbWBgMRYsmEfTpk3NGLEQIrtERETg5+vLaynOdNQVSLd+tfE2i7QILl+5QqFChTLdT58+fdjx/XI+Uxm3+ccYw0TjDUJDQ/H09My2+DOT09fxgwcP0rt3b44cOYLBYMj2/WenZ+2e9qQ6L/iH3Rdu8elrlWhfrbC5wxFCCJOsXscf+0leVFQUTZo0oWTJkkyePJnr168/VaAib2nXrh03blxj/vx59OzehncH9uHtt9/m/PlzOLo3pmrjH6jTajMV6swiKtadli1byQTAQuQTHh4e9Ordm/8RyX5jLA9+B3jEGMcP2m06der00AQPoFSpUlwyxBOjMk54jql43F1dcXd3z9b4c9O1a9eYNm0alStXpmbNmjg5OTFnzhxzhyWyyRmZPkEIYeEe+0keQFhYGEuWLGHx4sWcOHGCJk2a0Lt3b9q2bYu1df4aoPysf+sZGRmJr68fHoVaU7Ts22nWGY0pnPhnEGWCXNm9a6eZIhRCZKeEhATatW3Lho0bKWHlQKDBiqt6A6dTYmlQrz5r/1j3yAJMISEh+BcuzIsGJ/rpPNNMiH5NJTHEeIUKNaqzZMkSSpUqldOnlK3X8fnz57Ns2TJ27txJ6dKl6dq1K126dLGYCpvP+j0tK8JjEqk+8U80DU6MexF7m4d3TxZCiNyUY0/yADw9PRk6dCiHDx9mz549lChRgtdff51ChQoxZMiQdJXXhOVauXIliYkJ+BXrmG6dTmeFT+Br/LN7FxcuXDBDdEKIJ6GU4s8//2TgwIH07t2bmTNnEhFxt7KunZ0da9etY82aNVR86UXuVCtF6ZYvsHLlSjZv+StLFXa9vb35fOZM1qhIxnCTXcY7HFfxLDWEM9RwBU3BqQOHCAoK4sMPP+QJvms0m4kTJ1KrVi0OHDjAsWPHGDlypMUkeCJrUp/iFfFwkARPCGGxnmqevJs3b7Jp0yY2bdqEXq+nZcuWHD16lLJlyzJt2rQ0k8YKyxQSEoKtnQs2dunH5wDYOxUxtStWrFhuhiaEeAKhoaG81Ko1e/bvw9faHhd0LDF8x4cjRvDNt9/SuXNn9Ho9rVu3pnXr1k98nAEDBuDj48PEceOZfPQIADZoNNFceF1XEFs0ftVFMmXKFPz9/enfv392nWKOunLlSponkyL/SS26UtJLumoKISzXYyd5ycnJrF69mm+//ZaNGzdSsWJFBg8eTJcuXUyPDFetWsUbb7whSV4+4OfnR2JCFInxIdjae6dbHxt93tROCJG3GY1GWrdoyfkjx5ikK0xFoz2aphGppfBNcjjdunajUKFCNGzYMFuO9+qrr1KhQgWCgoLophWgnc4dO+1+B5IOmgdXSWLq5Cn069cvw6qdsbGx3L59Gw8PDxwcHLIlrqehaRqRkZHs3buX0NDQdFWGu3fvbqbIRHY5ExoDQJCPzAsrhLBcj53k+fr6YjQa6dy5M3v37qVy5crp2jRu3Bg3N7dsCE+Y2yuvvMKAAQO5evYHilcYmuYbbIMhkeBLy2nc+HmKFClixiiFEFmxefNm9h08wCRdYSrp7idMbpoVg/Hmqi6FT6ZMybYkD2DdunXY6vS8orljo6UfIdAUFz68dpVjx45RqVIl0/KTJ08yftw4fvnlF5JTUrC1tqFDxw6MGTuW4sWLZ1t8j2vNmjV07dqVmJgYXFxc0lwTNU2TJC8fkOkThBD5wWMneZ9//jmvvfYadnZ2mbZxc3Pj4sWLTxWYyBucnJyYPn0q/fv3x5ASQ6Gir2Hr4Mud2ye4ceEHkhNuMG3aj+YOUwiRBb/++it+1vZUNNqnW6fXNJoanZi3cSPx8fHY26dv8yQSExOx0emxVhl3cXTS7j69S0hIMC07dOgQjRo0xDEhmdeNbhTR2XLRkMi6n35m7e+/s2PXLsqUKZMt8T2uYcOG8cYbbzB58uQ88WRRZC+l1P2J0CXJE0JYsMdO8l5//fWciEPkYW+99Rb29vZ89NEojuy8X2GzatXqfPXVX1SvXt2M0QkhsiouLg4XdJmOKXNFj1KKxMTEbEvyKlWqxJ2UJM7oEwgi/T73q1jsbGwICgoC7n7IfqNHT7wSDExWfjjo7iaB1XHkReXKBzE3eKtfP/7evj1b4ntc169f591335UEL58KiU4kOiEFvU6jmKejucMRQogn9kTVNcWzp0ePHly+fJG///6bVatWcfjwYQ4c2EetWrXMHZoQIovKly/POUM8UZnMX3dQxeHn45utpfWbNWtGsYBAvtYiiFNpx69dVUn8poumc9eupi7++/fv59+jR+hqdMNBSztGz1nT08noxrYdOzh58mS2xfg4mjdvzv79+81ybJHzTt97ihdYwAFbK6msKYSwXE9VXVM8W/R6PQ0aNDB3GEKIJ9SjRw8+/vAjFqWEMQhvdA880Tup4tmqxTBqwHB0uuz7/k+n07Fs+U80ef4FBiRdpanRCW+sOa3i2aKLpWjxEkyfPv1+HPeSt8paxk/KKt1bfvLkSbN02WzVqhXvvfceJ06coEKFCunmhn3ppZdyPSaRfc6mToLuI101hRCWTZI8M4uNjeXy5cs4ODgQEBCQI6W5k5KS+OOPP7h69Sqenp60bt0aR0fphiLEs6ZgwYIs/OZrenTvwRVdCk2NTrig55CKY6sWQ83najFs2LBsOVZcXByLFi3i6/nzuXTpMh5ubnh4ebLq5EniExPx8fRi2JsDGTZsWJpCXanXptsY8Mqgs0kkKQBZmq8vJ/Tt2xeA8ePHp1unaRoGQ8ZPSYVlOC3TJwgh8glJ8szk9u3bfPzxx3z33ffExd0t11y+fEVGjfqIDh06ZNtxli9fzjvvvEt4eCg6nRVGYwrOzi6MHz+OQYMGyXxPQuQjSUlJKKWwtbXNtE23bt3w8/Pjk8lT+OrPTQAU8vbhowHDGD58eLaMxYuOjqZJ4+c5dOgQtTRHXsaWm7ExbAsJwcPTk42b/6RMmTIZXn+aNm2Ko70D6xIi6an3TLd+nTESDzc3s/Uq+O+UCSJ/uT99giR5QgjLJkmeGURGRlK3bn0uXLyKp/8rFPesTnJSFDeu/k7Hjh25efMmgwYNeurj/Prrr3Tu3JkCvg2p0nAqDs5FSYi7yfXzyxkyZAiapmXLcYQQ5rVixQpmfPopu/fsAaBa5SoMHjaUrl27ZphIlS5dmrr162G4l7A0f7E5b7zxRrYVWxk2bBgnDx/hU11hSmj3KzF3USl8FH6Tnq93Z++BjMe1ubi4MGTYUCZPmoSr0YoWmit2mo54ZWSNus1aFcXUkVMfWuE5tyQkJOSJOET2MBqVqbtmKW+ZI08IYdk0pZQydxB5WXR0NK6urkRFRWVbMYKRI0fy2YxZlK/9FQ7OAablSikunfiKkCuruHr1Cr6+vg/dj9FoZP369Xz77Xdcu3adQoV86dGjO61atUKn01GqVGki7nhQuvqUdB/0zh/9nLjbW7l584ZUiRPCgo0ePZoJEyZQSe9EfeWADo2dWiwHDDEMHDiQL774Is3//7/99hudOnREMxioZLTFAPyrxWPv4Mjq39c89Rx5kZGRFPLx4bVkZzroPNKt32eMYZzxBnv37qVGjRoZ7sNoNDJo0CDmzJmDo84Kb70NNw1JJBgNvPf+e0yZkv6a9jDZeR03GAxMnjyZefPmERISwpkzZyhWrBijRo0iMDCQ3r17P9X+c1pO3NPyi6sRcdSftgUbvY7j45tjrZfadEKIvCer13G5guUyg8HAgoVfU9CvRZoED+6O5/Av1QNNZ8V333330P3Ex8fTsmUrWrVqxcbNh7lwzZnNW4/Ttm1bmjVrzo4dOzh37gy+RTtm+GHIr3gnoqOjWLt2bXaenhAiF+3Zs4cJEybQXVeQSVohXtS50UznyjitEG/rvJg1axYbN240tT916hQd2r9GtRQbviOAj/V+jNH78Z0WSLF4ReuWrbh58+ZTxXTkyBHiExOprWU87req5oiNTs/u3bsz3YdOp2PWrFmcPXuW90Z/TLPe3flw3BguXrrIJ598YtZu5pMmTeK7775j2rRp2NjYmJaXL1+er7/+2mxxiaeXOj9eMU9HSfCEEBZPumvmsqioKCJuhRMUWCHD9VbWTji5luDMmTMP3c+QIUPYvHkrZWp8grtXLdOHnsiw/WzbPooJEyYAYO/ol+H2tvY+aJqesLCwpzgbIYQ5fTVnDr5WdrRX7unWtdBcWW8Vw5zZs2nevDkAs2bNwgkdwzVvrLX7H2JdNStGKG96Jlxm4cKFjB49GoArV66wZMkSbt68ia+vL926dSMgICDdsR6k198tO59Exp1EDCgMyoiV1aNvP8WLFzfFkld8//33LFiwgBdeeIG33nrLtLxSpUqcOnXKjJGJp3VaJkEXQuQj8lVVLnN0dESv15MUn3FypZSRpIRwXF1dM93HrVu3+Pbb7yhUvBse3s+l+VbbzbM6hUv24q+/tgAQE5Vxshh35zxKGR75gU0IkXcdOnCAygbbNFMhpNI0jaoGW44cOmRa9seaNdQ32KdJ8FI5aXpqKnv++H0tSinef/99igYWZfKYcfyx8DsmjxlHsaLFGD58+EOLj1StWhV3F1e2GO9kuH67isGgFE2bNn2CMza/69evU6JEiXTLjUYjycnJZohIZJezIVJ0RQiRf0iSl8tsbW156aWXCLv+O0ZDUrr1ESE7iYsJpmPHjpnuY8eOHSQlJeJVuFmG6z39mmIwpFCsWHFuXFiK0ZCYZr1SRq6eWYy3t6/pG/6clJiYyLJly3jppbY0aNCQvn37snfv3hw/rhD5nYODIzFknnDFYMTO7n4xlZSUFGwfctm3RSM5KYkpU6Ywffp0umkeLCaAL41+fE8A3TUPZnz2GZMnT850H/b29rwz6F3WEMXfxmgeHPZ9UsWzSBdBm1atKVmy5GOebd5QtmxZtm/fnm75ihUrqFKlihkiEtnl/vQJUnRFCGH5JMkzgw8//JDEuBucPjiKuJgrABiNyYRe28SFI1Np2rQZzz33XKbbp87DpOmsM1yvu7e8e/fXSYy9yPF/BnPr5jYS4oK5HbaPk3vfJyJkB3PmzMpSl6mnERwcTNWq1enatSvbd1/i5Hkblv20llq1ajFw4ECk7o8QT67tKy+zV4sjUqWkWxenDOzQxdGu/aumZTWee469+oQM/79LUYoD+kSq1arJ9KlTeUlzo4POA/t7T/3sNB3tdR601dyZPnUqsbGxmcY1evRoXuvYgenGYAZo1/jMcJP3uM57hqsEVa7I4iXfZ8PZm8fo0aN55513mDp1KkajkZUrV9K3b18mTZqU57qWiqwzGBXnwuRJnhAi/5AkzwyqV6/OmjWrIeU8h7Z259+tnTiw+WXO/juJZs0as2LFzw8tLFCjRg10Oh0Rwem/TQa4dW95t27d2LLlL0qXdOXUgdEc+KsTJ/a8h3eBOFavXs2rr76a4fbZRSnFK6+05+KlECrVX0i5574kqOrHVG74A8XKD2L27NnMmTMnR2MQIj/r06cPTq4uTNCCuaHu9wwIVclMJBjNzpa3337btPydgQO5lBLHCnU7zX6UUnxrDOO2IYnKlSsTGR1NS51bhsdsqXMlOiaGzZs3ZxqXlZUVy5Yt46+//qJBx1dIfq4CpVo14eeff2bHrl24u6cfQ2gp2rZty5o1a/jzzz9xdHRk9OjRnDx5kjVr1lhsF1QBl2/FkpRixM5ah7+7VJwWQlg+KbxiJs2bN+fG9WusXLmSY8eO4eDgQNu2bSlfvvwjt/X39+ell9qyfsN3uBSohIPT/XF18bHXuH52ES1atKR48eIUL16cPXt2c/LkSa5evYqnpyeVK1fOlep0e/fuZffunZSpMRkn1/tdszRNj2/gy8REnmD69M/o37+/qViDECLrPD092bBpE61atKBf2CWCrBzRAaeNcbi6uLB2zRqKFCliat+4cWNGjx7N+PHj2a2Lp47RHgOK7bp4Lqk4Zs+eTYECBQBwJ+P/J93v3TZiYmIeGpumaTRu3JjGjRtnz8nmIfXr12fTpk3mDkNkozP3xuOV9HJGpzNf9VYhhMgukuSZka2tLZ07d36ibRcsmE+DBo04sr0PHj4NcXAuSnzMZW7d3EpgYADffJO2lHeZMmUoU6ZMdoSdZRs3bsTWzhV3r1oZri/o14wTezZx7tw5goKCcjU2IfKLatWqcfHyZX766Se2bNmCUopB9erRtWtXnJzSjy0aN24czz33HF9+8QUrtu9Ap9N4oUkzvh86lPr163PkyBEAjqh4amvptz+i4oC7Y9OEyC/OSGVNIUQ+I0mehfL09GTPnt0sXLiQr79exI0b+/Hx8WHY5An069cPNzc3c4dISkoKOr01mfUK1ulsTe2EEE/O3t6eXr160atXryy1b9GiBS1atMhwXcWKFalVowZLDxylorLHUbv/RC9OGfhe3aJKpUpUrlw5O0K3OO7u7hn2hNA0DTs7O0qUKEHPnj2z/LsQecP96ROk6IoQIn+QJM+Cubi4MGzYMIYNG2buUDJUq1Yt4mPHExN5Cmf39E8RI0J24OrmTvHixc0QnRAiMz3feIMB+/rzDpdpo3MjAFsuk8jvxkhukYKnXo9SyqyTkpvL6NGjmTRpEi1atKBmzZrA3a7p69evZ8CAAVy8eJH+/fuTkpJC3759zRytyKqzqUmeFF0RQuQTUnhF5JjmzZsTGFiMSye/ICUp7ZxZUbcOE3plNf3fehM7OzszRSiEyMiPS5dSVGdPWc2e7423GGO8zvfGcMpo9rypebH/4EH++ecfc4dpFjt27GDixIksWbKEgQMHMnDgQJYsWcLEiRM5cOAACxcuZPr06Xz55ZdZ2t+cOXMIDAzEzs6OWrVqZXl6mZ9++glN02jXrt1TnI0ASEoxciHsbrVY6a4phMgvJMkTOUav17Nq1S/ojCH8+3dXLhybxfXzP3Fq/0cc/2cIdes+JyXHhchjbt++zbYdO2iDC+/pfflJX5xF+qL8qC/Be3pfXtS5UtDKllWrVpk7VLPYsGEDTZo0Sbf8hRdeYMOGDQC0bNmSCxcuPHJfy5cvZ+jQoYwZM4aDBw9SqVIlmjdvTmho6EO3u3TpEsOHD6d+/fpPdhIijUu3YkkxKpxsrSjkKl86CiHyB0nyRI6qXLkyR44c5t1330RL2kP41aX4+8Qzd+5XbNy4AXt7+0fvRAiRa+Li7hZWcb1XXdNO0+GlWZvmy9NpGi46K27cuMHIkSPp0qUL7777Lnv27Hkm5r308PBgzZo16ZavWbMGDw8PAGJjY3F2fvQToRkzZtC3b1969epF2bJlmTdvHg4ODixatCjTbQwGA127dmXcuHEUK1bsyU9EmJgmQfd2eia7IAsh8icZkydynL+/P9OmTWPatGnmDkUI8QheXl4UcHPnUFQcNUhfhCLMmMTFlFguLF2Kq5UNAdgQrKUwa9Ys2rVty48//ZSvu2CPGjWK/v37s2XLFtOYvH379rFu3TrmzZsHwKZNm2jYsOFD95OUlMSBAwcYOXKkaZlOp6NJkybs3r070+3Gjx+Pl5cXvXv3Zvv2jOdKfVBiYiKJiYmm19HR0Y/c5lmTOh4vSLpqCiHyEXmSJ4QQwsTa2pp+/d9iky6GcyohzTqDUkxQN1FAT11BvlVFmEwhFhr9eV/nyx9rfuft/v3NE3gu6du3L3///TeOjo6sXLmSlStX4uDgwN9//03v3r0BGDZsGMuXL3/ofsLDwzEYDHh7e6dZ7u3tTXBwcIbb7Nixg2+++YaFCxdmOd4pU6bg6upq+vH398/yts+K0zJ9ghAiH5IneUIIIdIYOXIkmzZsYMThI7xgcKSS5kAkBtZrd7isEmmmudBe52Fqr9c0GmjO3DamsOj775kwcSJ+fn5mPIOcVbduXerWrZurx7xz5w6vv/46CxcupGDBglnebuTIkQwdOtT0Ojo6WhK9/0idCF2SPCFEfiJJnhBCiDScnZ3Z8vffTJs2jflfzWXtrZtomkatGjW5sGcPzXWuGW7XVHPhG0M469aty1fTB0RHR+Pi4mL698OktnuUggULotfrCQkJSbM8JCQEHx+fdO3Pnz/PpUuXaNOmjWmZ0WgEwMrKitOnT2c4HY2trS22trZZiulZlJBs4PKte5U1fWSOPCFE/mEx3TUjIiLo2rUrLi4uuLm50bt3b2JiYh7afuDAgQQFBWFvb0+RIkV49913iYqKysWohRDCMjk5OTF+/HhuhAQTFhZGTEwMkyZPvrsOfYbb2KPDSqcjISEhw/WWyt3d3VTx0s3NDXd393Q/qcuzysbGhmrVqrF582bTMqPRyObNm6ldu3a69qVLl+bo0aP8+++/pp+XXnqJxo0b8++//8rTuSd0LjQGowI3B2s8nSQZFkLkHxbzJK9r167cvHmTTZs2kZycTK9evejXrx/Lli3LsP2NGze4ceMGn376KWXLluXy5cu89dZb3LhxgxUrVuRy9EIIYZn0er2pe2DZsmXR63QcVLH4aTbp2h5V8SQZDVSsWDG3w8xRf/31l6ly5pYtW7Jtv0OHDqVHjx5Ur16dmjVrMnPmTGJjY+nVqxcA3bt3x8/PjylTpmBnZ0f58uXTbO/m5gaQbrnIurOh98fjSWVNIUR+YhFJ3smTJ1m/fj379u2jevXqAMyaNYuWLVvy6aefUqhQoXTblC9fnl9++cX0unjx4kyaNIlu3bqRkpKClVXGpy6VyIQQImM+Pj68/Mor/PLrGmoqJ7w1a9O6OGXgO10EZUoE0aBBAzNGmf0erJTZsGFDtm/fzvz58zl//jwrVqzAz8+PJUuWULRo0cfab8eOHQkLC2P06NEEBwdTuXJl1q9fbyrGcuXKFXQ6i+lwY5FOB6eOx5OumkKI/MUikrzdu3fj5uZmSvAAmjRpgk6nY8+ePbz88stZ2k9UVBQuLi6ZJnhwtxLZuHHjnjrm3JCQkMCKFSv4999/sbW1pXXr1jz33HPybaQQIsd8+eWX1Nu3n0HXrvGCwZFSmh03SGajLoZEOxu2/LgsX1+DfvnlF15//XW6du3KoUOHTF8KRkVFMXnyZNatW/dY+3vnnXd45513Mly3devWh2773XffPdaxRHoyfYIQIr+yiK8Ig4OD8fLySrPMysoKDw+PTEtN/1d4eDgTJkygX79+D203cuRIoqKiTD9Xr1594rhz0ubNm/Er7M/rr7/Ogq//x+cz51OnTh3q129IWFiYucMTQuRTvr6+/LNvL/2HDma7K0w3BrPSOoY23buy/+ABqlatau4Qc9TEiROZN28eCxcuxNr6/pPMunXrcvDgQTNGJp6ETJ8ghMivzJrkjRgxAk3THvpz6tSppz5OdHQ0rVq1omzZsowdO/ahbW1tbXFxcUnzk9ccPXqUVq3boPRFqdpoCRXrL6FK458pU2MKBw4e58UWLTEYDOYOUwiRT3l6ejJt2jTCIyK4c+cOd2Jj+eabbyhZsiQ7d+6kS+fOlCpWnAplyvLhhx/m2S/LnsTp06cz7I7q6upKZGRk7gcknlhsYgrXbscDkuQJIfIfs3bXHDZsGD179nxom2LFiuHj42OqbJYqJSWFiIiIDEtNP+jOnTu8+OKLODs7s2rVqjTfvFqqadOmY2XlTulqE9Hp71YD0zQdHt610VuN5eDud3nzzTdp0qQJL730Eg4ODmaOWAiRH2mahpPT/bFMY8aMYfz48fhZ2VPdYEscRr6c9imzvviS39etTTO2zVL5+Phw7tw5AgMD0yzfsWMHxYoVM09Q4omcDb07Hs/T2RZ3x/SFhIQQwpKZNcnz9PTE09Pzke1q165NZGQkBw4coFq1asDdamdGo5FatWplul10dDTNmzfH1taW1atXY2dnl22xm4tSihUrVuAV0NmU4D3IxaMC9k5FWPTtd3zzzTe4uLjy2Wef0qdPHzNEK4R4VqxevZrx48fTXVeQ9sodnf7uuLy+ysDkxBDatnmJS1cumypCWqq+ffsyaNAgFi1ahKZp3Lhxg927dzN8+HBGjRpl7vDEYzgTnNpVU4quCCHyH4sYk1emTBlefPFF+vbty969e9m5cyfvvPMOnTp1MlXWvH79OqVLl2bv3r3A3QSvWbNmxN7rRhQdHU1wcDDBwcEW3ZXRYDCQkBCPjW3BDNdrmoatvTceXnWp2ngpdq516Nu3L0uWLMnlSIUQz5KZM2ZQ1sqRDjoPdA8UXnHQ9AzFi5iYGL7//nszRpg9RowYQZcuXXjhhReIiYmhQYMG9OnThzfffJOBAweaOzzxGM7IeDwhRD5mEUkewNKlSyldujQvvPACLVu2pF69eixYsMC0Pjk5mdOnTxMXFwfAwYMH2bNnD0ePHqVEiRL4+vqafix5fIiVlRWBgcWIjjic4XqDIYE7kSexdyqCvaMfJSq+T8FCjRkx4kOLTm6FEHmXUopt23dQz5hx13APzYrymj1///13LkeW/TRN46OPPiIiIoJjx47xzz//EBYWxoQJE8wdmnhMUnRFCJGfWcQUCgAeHh6ZTnwOEBgYiFLK9LpRo0ZpXucn/fu/yYcffoxPwEs4u5czLVdKce3sEgzJsXgXaQXc/UBSqGgHjuzsz44dO/LFmBghhDA3GxsbypYta+4wxFM4G5I6R54keUKI/MdinuSJ+wYOHEjNmjU4sXcYF47PIjJsP+E3tnJi7wiunVtKQOm+2Dn4mtrbOfoBd6eREEKI7KZpGg3q12OHLi7D9bdUCsdUPI0aNcrdwITIRFR8MsHRCYCMyRNC5E+S5Fkge3t7Nm3ayHvDh5AQuZXje4Zz+uBYEuJuUKrqaAqX6JKmfUzkSYB01eCEECK7DBk2jBMpsSw33sL4QC+KWGVgBqE4OTnRvXt3M0YoxH2pk6AXcrXD2c7yq24LIcR/SZJnoRwdHZk8eTLBwTc4e/YshQsXwc7ek4I+aedvMhqSuH5+CeXLV8z3kxQLIcynTZs2jB07liXGW7ylXWW+IZSZhmB6cZnztorVv6/B1dXV3GEKATwwHs9HumoKIfInSfIsnI2NDSVKlOCbbxZy5/YRju8Zwq3g7cTHXCX8xlaO/zOI+Dtn+eqr2WgPVLwTQojsNmbMGHbu3EnjDq9wplhBwsoWYciIDzh5+lSGE4gLYS73p0+QJE8IkT9ZTOEV8XDNmjW724XzvQ84sP/+XE3P1a7DZ5/+RZ06dcwYnRDiWVGnTh253og874wUXRFC5HOS5Fkog8HA+vXrWbt2LYmJiVSrVo1u3bqxf/9eTp06RXBwMH5+fpQsWdLcoQohhBB5yv058qToihAif5IkzwJdvnyZFi1acfLkcZxci6C3cuTb7xbz/vsj+OmnZbRu3ZrSpUubO0whhBAizwmPSeRWbBKaBiW8JMkTQuRPkuRZmKSkJJo2bc71m9FUrDvHNE9eYnwYF098wSuvvMrPP/+PXbt2ceHCBdzd3encuTONGjWSMXlCCCGeealP8fzdHXCwkY9BQoj8Sa5uFmbVqlWcPXuayg2+xtGlhGm5rb0nJSuP5sDmV2jXrh22dq7YO5UgIW4nCxcuJCAgkNWrf6NixYqmbRISEjh48CApKSlUrFgRNzc3M5yREEIIkXtkEnQhxLNAqmtamFWrVuHqUSZNgpcq9OofJCfFEFC6L1Ub/49yz31G1cbLKFNjClevBVOpchVmzZpFSkoKY8eOxbeQH3Xr1qVhw4b4+BSib9++REdHm+GshBBCiNyROn1CkI901RRC5F/yJM/CxMXFobdOP9eUUgaun/8RT7+mFC7R1bRc0zQ8vGtTrPwgzh2eyrvvvsvKlav4e9s2fAJeJqB8M3Q6G24F7+D7JT9x8NC/bN/2Nw4ODrl5WkIIIUSukOkThBDPAnmSZ2EqVKhATOQxDCnxaZbH3blEYnww3v4tM9zOs9Dz6HS22Nh6sHXrFkpUHEGxcu/g5FoKB+dA/Et2o0zNGfx76F++/vrr3DgVIYQQIlcppR6orClJnhAi/5Ikz8L07duXlOQ4rpxehFLKtNxoSAJAb51x9xNNZ4NObwuaHjsHPzz9mqRr4+RaCg+feixc+E3OBC+EyNf+/fdf+vTpQ7nSpalUrjzvv/8+Fy9eNHdYQpiERCcSnZCCXqdRzNPR3OEIIUSOkSTPwgQGBjJz5kxuXPyZE3sGEXJlLeE3tnLj4s+AjsiwvRluFxN5kpTku+PtnN3LZlpp09G1NJevXM6p8IUQ+dTs2bOpWrUqqxf/QNEzwXifvMrcGTMpV6YM69atM3d4QgD3K2sGFnDA1kpv5miEECLnSJJngQYOHMjvv/9OxbLunDsyndMHx+JgdYEaNapz48JPxN1Jm6SlpMRx8cQc7BwKoZQiPvZqpvtOiL2Oh0eBnD4FIUQ+snPnTgYOHMhLuPK1KkJ/vTeD9D58RwAVk2147dVXuXHjhrnDFEK6agohnhmS5FmoVq1a8fffW7lz5w63bt3i0qUL/PHHOooVLczh7X05f3QGoVfXc+XMdxza2oO4O5fwLvISKUkRxESeIjriWLp9JiXcIiJ4Mz26dzPDGQkhLNXMmTMpYmVPb50n+gd6CdhpOoZqXqjkFBYuXGjGCIW4S5I8IcSzQqprWjgnp/tj8AoUKMCePbt56623WL78Z4Ivr0bTrHFyLYleb8OV0/Np0aIlx44d5fg/Q9DpHbBz8MHLvwXWNh5cP/c1BTzcGDBggBnPSAhhaf7+6y+aGOzR6dN3A3fU9FQ12LFl82bGjBljhuiEuO/0vTnygnwkyRNC5G/yJC+fcXV15ccff+TQoQN06dIVR0c7EmLPEeivY8aMGVy6dJmr167j7vUcPoFtsbYrwIVjX3D64FiKBrizbdtWvLy8zH0aQggL8mARqIxoWWgjRE4zGhVnTU/yZI48IUT+Jk/y8qlKlSqxdOkPaZa1bduOCxdvULn+1zg4FzUtj4k6y8m9wyhTtjQlS5bM7VCFEDksPj4evV6PjY1Njuy/QaNG7Fqzni5KpSvqFKcMHNQlMKxx4xw5thBZdT0ynrgkAzZ6HQEFpLKmECJ/kyd5z4hLly6xZs1q/Eq+kSbBA3ByLUnhEj1ZsWKFFEcQIp8wGo3MmzeP8mXK4uDggK2tLY0bNsyRSpeDBg/mcko8i43hGB54YpeojMxUoRj1evr165ftxxXicaSOxyvm6Yi1Xj7+CCHyN7nKPSN2796NUoqCvg0zXF/AtyFGg4E9e/bkcmRCiOxmNBrp1rUrb/fvj+uZawzR+fC2zouQXQdo1aoVM2fOzNbjNWjQgBkzZrBC3eYt7SoLDaHMMYTwhnaFA/pElv/8PwoXLpytxxTicZ25Nx5Piq4IIZ4FkuQ9I1K7UCllzHC9UoY07YQQlmvZsmX8+NNPfKDz5UOdLy/oXGipc2OaKsQrmjtDhw7lzJkz2XrMIUOGsHfvXpp2fo3jAe5cKuFNzwH9OXr8GC+99FK2HkuIJ3FGxuMJIZ4hMibvGVG/fn10Oj3h1zfjW/SVdOvDbvyFtbUNdevWNUN0Qojs9NWs2VTRO1FPS/vEQtM0uukKsFmLZf78+Xz22WfZetwaNWqw+Pvvs3WfQmQXmT5BCPEskSd5zwhN03BwcOTSqYXp5siLuvUvN859T7duXfH09DRThEKI7HLkyBGqKLsM19loOioYbDj877+5G5QQZmQwKs6GyvQJQohnhzzJe0Z0796DFKM19o4+HN31Di4elXBwDiQ2+jx3bh/Dx8eXWbNmmTtMIUQ2sLOzIyYx467ZADGaws3ePhcjEsK8Lt+KJSnFiJ21Dn93B3OHI4QQOU6e5D0DTpw4webNf1Ik6G0q1vuKUlVGodPbcuf2caysnShYqAm3bt0iISHB3KEKIbLBSy+3Y6s+juQMxuDeVEkcNsbStl273A9MCDNJLbpS0ssZnU7Gngsh8j9J8p4Bu3btAqCAT310Ois8/V6gXK1pVG7wNWVrfkKRoF4kJydx4MABM0cqhMgOw4YNI0oz8gkhRKgU0/JLKpGJWgj+foXp3LmzGSMUIneljscrKUVXhBDPCOmu+QwwVdZEKmsK8SwoV64cK39dRafXOtAr/hJBensSUZw3xFG0SAB/bNyAo6NMBi2eHalJXpAUXRFCPCPkSd4zoFGjRgCEX/8rw/XhN/7C3t6RmjVr5mJUQvy/vXuPj+nO/wf+mhnJDLlHbrISQREqkUgqDakiadyarW6r2sbdRmVD3dqKthZfJWhsCR4i/PiqH3VpF2UVadBoJQ0JRURUUESTIOTa3GbO9w+bsVm5TJA5c2Zez8cjj4ecOefMa47MmXmf87lQSxo2bBhu3s7FF6tWovfbr6P/mFHYuXMnLv16Gd26dRM7Hv3b2rVr4eHhAZVKhYCAAKSlpTW47oYNG/DSSy/Bzs4OdnZ2CAkJaXR9eoQjaxKRqWGRZwI6d+6MsLA/4+bl9Sh5cKnOY/cL0nD76lf4618nwsbGRqSERNQSzMzMUFVVhbSUFHy5ZQsiJ7+HmTNnIicnR+xoBGDnzp2YNWsW5s+fj4yMDPTq1QuDBw9GQUFBvesfP34c77zzDo4dO4aUlBS4ubkhNDQUubm5ek4uLVU1Gly9UwYA6MqRNYnIRMgEQRDEDmHIiouLYWNjg6KiIlhbW4sd54kVFhYi5JVQnMlIh52jL5Rt3PBHyRUUFV5EaOhg7Nu3FypV/UOuE5H0lJaWImTQIKSnp6MfLNEDKtwRqnFUUY4alTmSjh2Fv7+/2DH1wlDP4wEBAXjhhRewZs0aAIBGo4GbmxumTZuG6OjoJrdXq9Wws7PDmjVrMHbsWJ2e01CPRUu6nF+C0C+SYalshfMLQtk1gYgkTdfzuGTu5BUWFiI8PBzW1tawtbXFpEmTUFpaqtO2giBg6NChkMlk2Lt3b8sGNVD29vZIOfkTtm7dCr9eDnCw+g1BgZ2wZ88eHDz4LxZ4REbm008/xfmMM/hc1h4fyl0wXG6L8QpHrBPaw7VCg5F/eQNqtVrsmCarqurhYFchISHaZXK5HCEhIUhJSdFpH+Xl5aiuroa9vX2D61RWVqK4uLjOj6nJzns06AoLPCIyFZIp8sLDw5GZmYnExEQcOHAAycnJmDx5sk7brly5kid2AEqlEqNHj0Zi4hGcP38WBw7sx4gRI6BQKMSORkTPUFlZGTZt3IhXNdboIqt7AcdCpkCEYI/rN2/g0KFDIiWku3fvQq1Ww9nZuc5yZ2dn5OXl6bSPOXPmwNXVtU6h+N9iYmJgY2Oj/XFzc3uq3FL0KwddISITJIkiLysrC4cOHcLGjRsREBCAoKAgrF69Gjt27MDt27cb3fbs2bNYsWIFNm3apKe0RETiunLlCkrKyvCCvP4RNLtCBXszJU6fPq3nZPSsLF26FDt27MCePXsabYkxd+5cFBUVaX9u3rypx5SGIVs7fQKLPCIyHZKYQiElJQW2trZ1+o+EhIRALpfj559/xuuvv17vduXl5Xj33Xexdu1auLi46PRclZWVqKys1P5uik1biEjazM3NAQAVggaopxGDGkClRqNdj/TPwcEBCoUC+fn5dZbn5+c3+XkVGxuLpUuX4vvvv4e3t3ej6yqVSiiVyqfOK2W//nsidN7JIyJTIok7eXl5eXBycqqzrFWrVrC3t2+0WcvMmTPRt29fvPbaazo/F5u2EJHUdevWDR5u7vgeJfU+niqUokxdjaFDh+o5GdUyNzeHn58fkpKStMs0Gg2SkpIQGBjY4HbLly/HokWLcOjQIZMZOOdpVFSrcf3ev0fW5EToRGRCRC3yoqOjIZPJGv25dOlS0zuqx7fffoujR49i5cqVzdqOTVuISOrkcjk+mhuNHzTF+KemEDX/MYjyBaEc6+T38EpwMHx8fMQLSZg1axY2bNiALVu2ICsrC5GRkSgrK8OECRMAAGPHjsXcuXO16y9btgzz5s3Dpk2b4OHhgby8POTl5ek8CJkpyrlTCo0A2LYxg6OVad/RJCLTImpzzdmzZ2P8+PGNrtOpUye4uLg8Nm9QTU0NCgsLG2zWcvToUeTk5MDW1rbO8jfeeAMvvfQSjh8/Xu92bNpCRMZgypQpuHbtGj7//HPsa1WCLupWuKMQkKMuRx9/f3y1c6fYEU3eqFGjcOfOHfz9739HXl4efHx8cOjQIe1gLDdu3IBc/uha7Lp161BVVYU333yzzn7mz5+PBQsW6DO6ZPznJOgcgI2ITIkk5snLyspCjx49cPr0afj5+QEAjhw5giFDhuDWrVtwdXV9bJu8vDzcvXu3zjIvLy+sWrUKYWFh6Nixo07PbYpzChGR8Th37hw2btyInCtXYGtnh1GjRmH48OEmNaouz+OPmNqxWPrdJcT/kIPRL7rjsxFeYschInpqup7HJTHwSvfu3TFkyBBEREQgPj4e1dXVmDp1Kt5++21tgZebm4vg4GB8+eWX6NOnD1xcXOq9y+fu7q5zgUdEJHXe3t6Ii4sTOwaRKDh9AhGZKkkMvAIA27Ztg6enJ4KDgzFs2DAEBQUhISFB+3h1dTWys7NRXl4uYkoiIiIyFJw+gYhMlSTu5AGAvb09tm/f3uDjHh4eaKrlqb5bplZVVWH//v24ePEiLCws8Prrr/MuIhERkR6UVdbg1v0/ADzsk0dEZEokU+RJzeHDhzF27HgUFORB1cYeNVXl+OCDD/Duu+HYsCEBrVu3FjsiERGR0fq14OGoow6WSthbcE5IIjItLPJaQFpaGsLC/gwrex/49F8CC+tOUKsrUHDrMHbuXIfKykrs3r1L7JhERERGq3ZkzW4unB+PiEwPi7wWsHDh/0DVpj26+S2GXG4GAFAoVGjX4TUoFCp8/XUMzp8/Dy8vjvRFRETUEi7nPZo+gYjI1Ehm4BWpKC4uxnffHYSj22vaAu8/ObgGQ9XaDjt27BAhHRERkWnIzmeRR0Smi0XeM1ZcXAxBEKBs7Vzv43J5KyhbO+DBgwf6DUZERGRCfs1/2CePRR4RmSIWec+Yo6MjLCysUPIgs97Hq6uKUVZ8A506ddJzMiIiItNQ9Ec18oorAABdnNknj4hMD4u8Z0ypVGL8+LG4c/NbVJTn1XlMEATc/HULZDIBY8aMESkhERGRcaudBN3VRgVr1eNdJ4iIjB0HXmkB8+bNw4EDB5GZGgVn9zdh6+iHqopCFNzcj3t5P2HVqlVwcnISOyYREZFR4iToRGTqeCevBTg7OyM19STe/Msw3M7ZjF9OTEbWqWg42BTiq6++wvvvvy92RCIiIqNV2x+vmwuLPCIyTbyT10JcXFywdeuXiItbhatXr8LS0hJdu3aFTCYTOxoREZFRy+b0CURk4ljktTA7Ozv4+fmJHYOIjNhvv/2G9evX48fkZMjlcgwKCUFERATatWun8z4EQcCRI0cQv24dMs+dh6WVJd546y1ERESweTlJzmXt9AkcdIWITBObaxIRSdiuXbvQtUsXxC2PBU6eQ82PZxCzcBG6dO6MI0eO6LQPQRAwZcoUDBkyBOf+lYjnr9+HzflrWPT3+ejZvQfOnTvXwq+C6Nm5W1qJe2VVkMmA55xY5BGRaeKdPCIiicrMzET4u++in2CBaTInqBQPr9uVCmrEVuXj9ddeQ/avv6J9+/aN7ichIQEJCQl4X+6MVwRryBQPm5XfF2qwsDgPYcOG48q1qzAz4yiFZPhq7+K52bVBG3N+zSEi08Q7eUREErV69WrYylphhswZKtmj07mlTIGP4AxU12D9+vWN7kMQBHwRuwL95FYIldvU6TdsJ2uF6YIjbuTewt69e1vqZRA9U5wEnYiIRR4RkWQdOXgQ/dStYVbPgE5tZAr00bTGke++a3Qfd+/eRfaVX/ES6m/W1lGmhLtZGyQnJz+TzEQtLZv98YiIWOQREUmVWq2GGRoesdcMMtRU1+gxEZH4aidC5/QJRGTKWOQREUlUYFAQflZUQBCExx6rFgScVlSg38v9G92Hg4MDPLt0wQmU1vv4NaESN6rL0b9/4/shMgSCIHD6BCIisMgjIpKsqdOm4WbNH9imuVen0NMIAjZoClCkqUFkZGSj+5DJZJgxezZ+0pTgsKaozn7uCzVYJbsD9z+1x4gRI1rqZRA9M/nFlSiuqIFCLkMnRwux4xARiYbDThERSVRQUBBiYmIwd+5cpMoqEKhWQQPghOIP/I4KrI9fj+7duze5n8mTJyMjIwOrExLwr1Yl8FKb4wHUSJWVw9rGFt8f/BdH1iRJqB1Z06NtGyhbKUROQ0QkHt7JIyKSsOjoaBw7dgy+r4biezvguL0cA0aOQGpqKiIiInTah0wmQ3x8PA4fPgzv4a/gYkd7FHt1xN8X/Q8yL2XB29u7hV8F0bPxaBJ0NtUkItPGO3lERBI3YMAADBgw4Kn2IZPJEBoaitDQ0GcTikgELPKIiB7inTwiIiIyCtmcI4+ICACLPCIiIjICGo2AK9rpEzhHHhGZNhZ5REREJHm5D/5AWZUa5go5OrTlyJpEZNpY5BEREZHk1fbH6+RoATMFv94QkWnjWZCIiIgk7zL74xERabHIIyIiIsl7NLIm++MREbHIIyIiIsnj9AlERI+wyCMiIiJJU2sEXClgc00iolos8oiIiEjSbhSWo7JGA5WZHG72bcSOQ0QkOhZ5RESkN1VVVaioqBA7BhmZ7LyHTTW7OFlBIZeJnIaISHySKfIKCwsRHh4Oa2tr2NraYtKkSSgtLW1yu5SUFAwaNAgWFhawtrZG//798ccff+ghMRER1Tpw4AAG9O8PpVKJ1q1bw/v5nti4cSM0Go3Y0UhHao2AlJx72Hc2Fyk596DWCGJHAvAwV1JWPgDAto2ZweQiIhKTZIq88PBwZGZmIjExEQcOHEBycjImT57c6DYpKSkYMmQIQkNDkZaWhlOnTmHq1KmQyyXzsomIJC82NhZhYWG4k5KBv8mdMEPuDIvsG5gcMRmTJk6EIJjul/K1a9fCw8MDKpUKAQEBSEtLa3T93bt3w9PTEyqVCl5eXjh48KBech668DuClh3FOxtSMX3HWbyzIRVBy47i0IXf9fL8TeXanX4LAHDi17sGkYuISGwyQQKfrllZWejRowdOnToFf39/AMChQ4cwbNgw3Lp1C66urvVu9+KLL+KVV17BokWLnvi5i4uLYWNjg6KiIlhbWz/xfoiITFFmZiZ69uyJkTJ7jJW3hUz2qCndMU0xVmjysGvXLowcObLFMhjqeXznzp0YO3Ys4uPjERAQgJUrV2L37t3Izs6Gk5PTY+ufPHkS/fv3R0xMDF599VVs374dy5YtQ0ZGBnr27KnTcz7JsTh04XdE/v8M/PeXhdr/yXWje2NIz3Y67etZMtRcREQtSdfzuCSKvE2bNmH27Nm4f/++dllNTQ1UKhV2796N119//bFtCgoK4OzsjLi4OHz11VfIycmBp6cnFi9ejKCgoAafq7KyEpWVldrfi4uL4ebmZnBfDoiIpGDatGnYHr8B/09wh5ns8b5S0chF28DeOJ6c3GIZDLXICwgIwAsvvIA1a9YAADQaDdzc3DBt2jRER0c/tv6oUaNQVlaGAwcOaJe9+OKL8PHxQXx8vE7P2dxjodYICFp2FL8XNdyPsq2FOda+2xtyPfaF02gERG3PwL2yqnoflwFwsVHhxzmD2EePiIyKrufxVnrM9MTy8vIeu6rZqlUr2NvbIy8vr95trl69CgBYsGABYmNj4ePjgy+//BLBwcG4cOECunTpUu92MTExWLhw4bN9AUREJupsega81OYwU9T/Rbu3pjX2/3JOz6nEV1VVhfT0dMydO1e7TC6XIyQkBCkpKfVuk5KSglmzZtVZNnjwYOzdu7fB56nvwmVzpF0rbLTAA4B7ZVV4e0Nqs/bb0gQAvxdVIO1aIQI7txU7DhGR3ola5EVHR2PZsmWNrpOVlfVE+67tzP/ee+9hwoQJAABfX18kJSVh06ZNiImJqXe7uXPn1vkQrb2TR0REzdfaog3uyxpuMFIqqKFSKvWYyDDcvXsXarUazs7OdZY7Ozvj0qVL9W6Tl5dX7/oNXewEGr5wOWrUKJiZmTWZM6+oAgW3i5pcT9lKDoUe+7urNRpU1jQ9aM/0FBu42Kj0kIiISD+qq6t1Wk/UIm/27NkYP358o+t06tQJLi4uKCgoqLO8pqYGhYWFcHFxqXe7du0etsPv0aNHneXdu3fHjRs3Gnw+pVIJpQl+4SAiagmvjRiB6UlJKBCq4SSrW1RUChocV5Rj1JsTRUpn/Bq6cLlz506dmmum5NzDOzrcpfsq4kW93jHTNdcqPeciImpptc01myJqkefo6AhHR8cm1wsMDMSDBw+Qnp4OPz8/AMDRo0eh0WgQEBBQ7zYeHh5wdXVFdnZ2neWXL1/G0KFDnz48ERE1acyYMViy6DMsupePjwRHuMkeXkS7J9RgDQrwhwJ4//33RU6pfw4ODlAoFMjPz6+zPD8/v8GLly4uLs1aH3j6C5d9OtqjnY0KeUUVjw1wAjzq+9ano/0TP4cx5SIiMhSSmEuge/fuGDJkCCIiIpCWloaffvoJU6dOxdtvv60dWTM3Nxeenp7a4adlMhk+/PBDxMXF4euvv8aVK1cwb948XLp0CZMmTRLz5RARmQxra2scSfoeamd7RKp/w0zk4iPkYqLmGi6pgL3ffgtPT0+xY+qdubk5/Pz8kJSUpF2m0WiQlJSEwMDAercJDAyssz4AJCYmNrj+s6CQyzA/7GGLmP/uVVn7+/ywHnof3MRQcxERGQpJDLwCANu2bcPUqVMRHBwMuVyON954A3FxcdrHq6urkZ2djfLycu2yGTNmoKKiAjNnzkRhYSF69eqFxMREdO7cWYyXQERkkp5//nlczrmCr7/+GomJiaipqUHkiy9izJgxOjU5MVazZs3CuHHj4O/vjz59+mDlypUoKyvT9iMfO3Ys/vSnP2n7kE+fPh0vv/wyVqxYgeHDh2PHjh04ffo0EhISWjTnkJ7tsG50byzcf7HOICwuNirMD+sh2jQFhpqLiMgQSGIKBTEZ6tDbRESkG0M+j69Zswaff/458vLy4OPjg7i4OG03hAEDBsDDwwP/+7//q11/9+7d+PTTT3H9+nV06dIFy5cvx7Bhw3R+vqc5FmqNgLRrhSgoqYCT1cOmkIZwp8xQcxERtQSjmidPTIb85YCIiJrG8/gjPBZERNKm63lcEn3yiIiIiIiISDcs8oiIiIiIiIwIizwiIiIiIiIjwiKPiIiIiIjIiEhmCgWx1I5LU1xcLHISIiJ6ErXnb44zxs80IiKp0/UzjUVeE0pKSgAAbm5uIichIqKnUVJSYtLz8gH8TCMiMhZNfaZxCoUmaDQa3L59G4IgwN3dHTdv3pTUsNPFxcVwc3OTXG5AutmlmhuQbnap5gakm11KuQVBQElJCVxdXSGXm3YvhdrPNCsrK8hkzZ9LTkr/72LjsdIdj5XueKx0Z6zHStfPNN7Ja4JcLkf79u21t0atra0l+Yci1dyAdLNLNTcg3exSzQ1IN7tUcpv6HbxatZ9pT0sq/++GgMdKdzxWuuOx0p0xHitdPtNM+5ImERERERGRkWGRR0REREREZERY5OlIqVRi/vz5UCqVYkdpFqnmBqSbXaq5Aelml2puQLrZpZqbng7/33XHY6U7Hivd8VjpztSPFQdeISIiIiIiMiK8k0dERERERGREWOQREREREREZERZ5RERERERERoRFHhERERERkRFhkfcUKisr4ePjA5lMhrNnz4odRyd//vOf4e7uDpVKhXbt2mHMmDG4ffu22LEadf36dUyaNAkdO3ZE69at0blzZ8yfPx9VVVViR9PJ4sWL0bdvX7Rp0wa2trZix2nQ2rVr4eHhAZVKhYCAAKSlpYkdSSfJyckICwuDq6srZDIZ9u7dK3YkncTExOCFF16AlZUVnJycMGLECGRnZ4sdq0nr1q2Dt7e3dnLZwMBAfPfdd2LHIj2R6nlCn6T63hbb0qVLIZPJMGPGDLGjGKTc3FyMHj0abdu2RevWreHl5YXTp0+LHcvgqNVqzJs3r853xkWLFsEUx5lkkfcUPvroI7i6uoodo1kGDhyIXbt2ITs7G9988w1ycnLw5ptvih2rUZcuXYJGo8H69euRmZmJL774AvHx8fj444/FjqaTqqoqjBw5EpGRkWJHadDOnTsxa9YszJ8/HxkZGejVqxcGDx6MgoICsaM1qaysDL169cLatWvFjtIsP/zwA6KiopCamorExERUV1cjNDQUZWVlYkdrVPv27bF06VKkp6fj9OnTGDRoEF577TVkZmaKHY1amJTPE/ok1fe2mE6dOoX169fD29tb7CgG6f79++jXrx/MzMzw3Xff4eLFi1ixYgXs7OzEjmZwli1bhnXr1mHNmjXIysrCsmXLsHz5cqxevVrsaPon0BM5ePCg4OnpKWRmZgoAhDNnzogd6Yns27dPkMlkQlVVldhRmmX58uVCx44dxY7RLJs3bxZsbGzEjlGvPn36CFFRUdrf1Wq14OrqKsTExIiYqvkACHv27BE7xhMpKCgQAAg//PCD2FGazc7OTti4caPYMaiFGct5Qt+k/N7Wh5KSEqFLly5CYmKi8PLLLwvTp08XO5LBmTNnjhAUFCR2DEkYPny4MHHixDrL/vKXvwjh4eEiJRIP7+Q9gfz8fERERGDr1q1o06aN2HGeWGFhIbZt24a+ffvCzMxM7DjNUlRUBHt7e7FjGIWqqiqkp6cjJCREu0wulyMkJAQpKSkiJjMtRUVFACCpv2u1Wo0dO3agrKwMgYGBYsehFsTzxJOT4ntbn6KiojB8+PA6f1tU17fffgt/f3+MHDkSTk5O8PX1xYYNG8SOZZD69u2LpKQkXL58GQDwyy+/4Mcff8TQoUNFTqZ/LPKaSRAEjB8/HlOmTIG/v7/YcZ7InDlzYGFhgbZt2+LGjRvYt2+f2JGa5cqVK1i9ejXee+89saMYhbt370KtVsPZ2bnOcmdnZ+Tl5YmUyrRoNBrMmDED/fr1Q8+ePcWO06Tz58/D0tISSqUSU6ZMwZ49e9CjRw+xY1EL4nniyUjtva1vO3bsQEZGBmJiYsSOYtCuXr2KdevWoUuXLjh8+DAiIyPx/vvvY8uWLWJHMzjR0dF4++234enpCTMzM/j6+mLGjBkIDw8XO5rescj7t+joaMhkskZ/Ll26hNWrV6OkpARz584VO7KWrtlrffjhhzhz5gyOHDkChUKBsWPHitIhtbm5gYcdj4cMGYKRI0ciIiJC75lrPUl2ooZERUXhwoUL2LFjh9hRdNKtWzecPXsWP//8MyIjIzFu3DhcvHhR7FhEBkdq7219unnzJqZPn45t27ZBpVKJHcegaTQa9O7dG0uWLIGvry8mT56MiIgIxMfHix3N4OzatQvbtm3D9u3bkZGRgS1btiA2NtYkC+JWYgcwFLNnz8b48eMbXadTp044evQoUlJSoFQq6zzm7++P8PBwUf6IdM1ey8HBAQ4ODujatSu6d+8ONzc3pKam6r25VXNz3759GwMHDkTfvn2RkJDQwuka19zshszBwQEKhQL5+fl1lufn58PFxUWkVKZj6tSpOHDgAJKTk9G+fXux4+jE3Nwczz33HADAz88Pp06dwqpVq7B+/XqRk1FL4Xmi+aT43tan9PR0FBQUoHfv3tplarUaycnJWLNmDSorK6FQKERMaDjatWv3WGuJ7t2745tvvhEpkeH68MMPtXfzAMDLywu//fYbYmJiMG7cOJHT6ReLvH9zdHSEo6Njk+vFxcXhs88+0/5++/ZtDB48GDt37kRAQEBLRmyQrtnro9FoADycDkLfmpM7NzcXAwcOhJ+fHzZv3gy5XNyb0E9zzA2Nubk5/Pz8kJSUhBEjRgB4+HeRlJSEqVOnihvOiAmCgGnTpmHPnj04fvw4OnbsKHakJ6bRaEQ5h5D+8DyhO2N6b7ek4OBgnD9/vs6yCRMmwNPTE3PmzGGB9x/69ev32DQcly9fRocOHURKZLjKy8sf+46oUCi033dNCYu8ZnJ3d6/zu6WlJQCgc+fOBn+l7ueff8apU6cQFBQEOzs75OTkYN68eejcubNBD5qQm5uLAQMGoEOHDoiNjcWdO3e0j0nhCvKNGzdQWFiIGzduQK1Wa+dUfO6557R/P2KbNWsWxo0bB39/f/Tp0wcrV65EWVkZJkyYIHa0JpWWluLKlSva369du4azZ8/C3t7+sferIYmKisL27duxb98+WFlZafs12djYoHXr1iKna9jcuXMxdOhQuLu7o6SkBNu3b8fx48dx+PBhsaNRC5PyeUKfpPre1jcrK6vH+inWjhfA/ot1zZw5E3379sWSJUvw1ltvIS0tDQkJCaK3ajJEYWFhWLx4Mdzd3fH888/jzJkz+Mc//oGJEyeKHU3/xB3cU/quXbsmmSkUzp07JwwcOFCwt7cXlEql4OHhIUyZMkW4deuW2NEatXnzZgFAvT9SMG7cuHqzHzt2TOxodaxevVpwd3cXzM3NhT59+gipqaliR9LJsWPH6j2+48aNEztaoxr6m968ebPY0Ro1ceJEoUOHDoK5ubng6OgoBAcHC0eOHBE7FumJVM8T+iTV97Yh4BQKDdu/f7/Qs2dPQalUCp6enkJCQoLYkQxScXGxMH36dMHd3V1QqVRCp06dhE8++USorKwUO5reyQTBBKeAJyIiIiIiMlIcXZOIiIiIiMiIsMgjIiIiIiIyIizyiIiIiIiIjAiLPCIiIiIiIiPCIo+IiIiIiMiIsMgjIiIiIiIyIizyiIiIiIiIjAiLPCIiIiIiIiPCIo+IiIiIRDdgwADMmDHjibe/fv06ZDIZzp49+8wyEUlVK7EDEBERERH985//hJmZmdgxiIwCizwiIiIiEp29vb3YEYiMBptrEpmgO3fuwMXFBUuWLNEuO3nyJMzNzZGUlCRiMiIiMlX/2VzTw8MDS5YswcSJE2FlZQV3d3ckJCTUWT8tLQ2+vr5QqVTw9/fHmTNnHtvnhQsXMHToUFhaWsLZ2RljxozB3bt3AQDHjx+Hubk5Tpw4oV1/+fLlcHJyQn5+fsu9UCI9YJFHZIIcHR2xadMmLFiwAKdPn0ZJSQnGjBmDqVOnIjg4WOx4REREWLFihbZ4+9vf/obIyEhkZ2cDAEpLS/Hqq6+iR48eSE9Px4IFC/DBBx/U2f7BgwcYNGgQfH19cfr0aRw6dAj5+fl46623ADwqKseMGYOioiKcOXMG8+bNw8aNG+Hs7Kz310v0LMkEQRDEDkFE4oiKisL3338Pf39/nD9/HqdOnYJSqRQ7FhERmaABAwbAx8cHK1euhIeHB1566SVs3boVACAIAlxcXLBw4UJMmTIFCQkJ+Pjjj3Hr1i2oVCoAQHx8PCIjI3HmzBn4+Pjgs88+w4kTJ3D48GHtc9y6dQtubm7Izs5G165dUVVVhYCAAHTt2hUXLlxAv379HrtjSCRF7JNHZMJiY2PRs2dP7N69G+np6SzwiIjIYHh7e2v/LZPJ4OLigoKCAgBAVlYWvL29tQUeAAQGBtbZ/pdffsGxY8dgaWn52L5zcnLQtWtXmJubY9u2bfD29kaHDh3wxRdftNCrIdIvFnlEJiwnJwe3b9+GRqPB9evX4eXlJXYkIiIiAHhspE2ZTAaNRqPz9qWlpQgLC8OyZcsee6xdu3baf588eRIAUFhYiMLCQlhYWDxhYiLDwT55RCaqqqoKo0ePxqhRo7Bo0SL89a9/1V4hJSIiMmTdu3fHuXPnUFFRoV2WmppaZ53evXsjMzMTHh4eeO655+r81BZyOTk5mDlzJjZs2ICAgACMGzeuWYUkkaFikUdkoj755BMUFRUhLi4Oc+bMQdeuXTFx4kSxYxERETXp3XffhUwmQ0REBC5evIiDBw8iNja2zjpRUVEoLCzEO++8g1OnTiEnJweHDx/GhAkToFaroVarMXr0aAwePBgTJkzA5s2bce7cOaxYsUKkV0X07LDIIzJBx48fx8qVK7F161ZYW1tDLpdj69atOHHiBNatWyd2PCIiokZZWlpi//79OH/+PHx9ffHJJ5881izT1dUVP/30E9RqNUJDQ+Hl5YUZM2bA1tYWcrkcixcvxm+//Yb169cDeNiEMyEhAZ9++il++eUXMV4W0TPD0TWJiIiIiIiMCO/kERERERERGREWeUREREREREaERR4REREREZERYZFHRERERERkRFjkERERERERGREWeUREREREREaERR4REREREZERYZFHRERERERkRFjkERERERERGREWeUREREREREaERR4REREREZER+T+CUVnsJWqs0gAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "n_per = 30\n", + "X1 = rng.normal(loc=[-3.0, 0.0], scale=0.35, size=(n_per, 2))\n", + "X2 = rng.normal(loc=[+3.0, 0.0], scale=0.35, size=(n_per, 2))\n", + "X = np.vstack([X1, X2])\n", + "y_true = np.array([0] * n_per + [1] * n_per)\n", + "n = X.shape[0]\n", + "\n", + "# Gaussian similarity, zero diagonal.\n", + "sigma = 1.0\n", + "D2 = np.sum((X[:, None, :] - X[None, :, :]) ** 2, axis=-1)\n", + "W = np.exp(-D2 / (2.0 * sigma ** 2))\n", + "np.fill_diagonal(W, 0.0)\n", + "\n", + "result = opt.spectral_cluster_py(W.tolist(), k=2, n_kmeans_iter=200, seed=7)\n", + "labels = np.array(result['labels'])\n", + "eigvals = np.array(result['eigenvalues'])\n", + "fiedler = result['fiedler_value']\n", + "print('first 6 eigenvalues =', eigvals[:6])\n", + "print('fiedler value =', fiedler)\n", + "\n", + "# Cluster purity (label-permutation invariant).\n", + "def purity(y_true, y_pred):\n", + " classes = np.unique(y_pred)\n", + " correct = 0\n", + " for c in classes:\n", + " mask = y_pred == c\n", + " if mask.any():\n", + " correct += int(np.bincount(y_true[mask]).max())\n", + " return correct / len(y_true)\n", + "\n", + "p = purity(y_true, labels)\n", + "print('cluster purity =', p)\n", + "assert p == 1.0\n", + "\n", + "fig, axes = plt.subplots(1, 2, figsize=(9, 3.6))\n", + "axes[0].scatter(X[:, 0], X[:, 1], c=labels, cmap='coolwarm', edgecolor='k')\n", + "axes[0].set_title('Spectral cluster labels')\n", + "axes[0].set_xlabel('x')\n", + "axes[0].set_ylabel('y')\n", + "axes[1].plot(eigvals[:10], 'o-')\n", + "axes[1].axhline(0.0, color='k', linewidth=0.5)\n", + "axes[1].set_xlabel('index')\n", + "axes[1].set_ylabel('eigenvalue')\n", + "axes[1].set_title(r'Smallest 10 eigenvalues of $L_{\\mathrm{sym}}$')\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "17d3fce2", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "Verified against analytic ground truth:\n", + "\n", + "- $L \\mathbf{1} = 0$ for the combinatorial Laplacian (3-clique) — error $< 10^{-12}$.\n", + "- For two disconnected triangles, $L_{\\mathrm{sym}}$ has exactly $2$ zero eigenvalues — error $< 10^{-10}$.\n", + "- $P = I - L_{\\mathrm{rw}}$ is row-stochastic, $P \\mathbf{1} = \\mathbf{1}$ — error $< 10^{-12}$.\n", + "- Spectral clustering recovers two well-separated Gaussian blobs with purity $= 1.0$ — error $= 0$." + ] + } + ], + "metadata": { + "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.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebooks/06_risk_measures.ipynb b/examples/notebooks/06_risk_measures.ipynb new file mode 100644 index 0000000..78a3fa4 --- /dev/null +++ b/examples/notebooks/06_risk_measures.ipynb @@ -0,0 +1,473 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "958c2652", + "metadata": {}, + "source": [ + "# Risk Measures: VaR and CVaR\n", + "\n", + "Companion notebook for the `risk_measures` module of `optimiz-rs`.\n", + "\n", + "Reference documentation: \n", + "\n", + "All examples below act on **synthetic loss / outcome samples** drawn from\n", + "Gaussian and Student-t distributions. No domain-specific assumption is\n", + "made — the same routines apply to any real-valued sample of outcomes." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f3f4433d", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:00.783599Z", + "iopub.status.busy": "2026-05-12T09:45:00.783204Z", + "iopub.status.idle": "2026-05-12T09:45:03.085512Z", + "shell.execute_reply": "2026-05-12T09:45:03.083795Z" + } + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from scipy.stats import norm, t as student_t\n", + "\n", + "from optimizr import _core as opt\n", + "\n", + "rng = np.random.default_rng(20260512)\n", + "alpha = 0.95" + ] + }, + { + "cell_type": "markdown", + "id": "3b2bff04", + "metadata": {}, + "source": [ + "## 1. Historical Value-at-Risk\n", + "\n", + "$$\n", + "\\mathrm{VaR}_\\alpha(L)\n", + "= \\inf\\{\\, \\ell \\in \\mathbb{R} : \\mathbb{P}(L \\le \\ell) \\ge \\alpha \\,\\}.\n", + "$$\n", + "\n", + "We estimate it as the empirical $\\alpha$-quantile of the loss sample\n", + "$L_1, \\ldots, L_n$." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ba6393e1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:03.090083Z", + "iopub.status.busy": "2026-05-12T09:45:03.089236Z", + "iopub.status.idle": "2026-05-12T09:45:03.765135Z", + "shell.execute_reply": "2026-05-12T09:45:03.763394Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "historical_var = 1.657293\n", + "numpy quantile = 1.657355\n" + ] + }, + { + "data": { + "image/png": "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2qQePXooJCREkydP1oULF8yB+E6ef/55ffrppxo6dKhCQkJ04cIF/fTTTzp06JAeeOAB/e9//1NiYqL+/vtvvffee5KkkiVLWmzjjTfekJOTk0aOHKnk5OQce8wuXbqkjh07qlevXnryySf1ySefaMiQIXJyctKAAQPuWO+/5aa2f9u8ebM6dOigSpUqacKECfrnn380Z84cNWvWTPv27cv0Hvfq1UvBwcGaPHmy9u3bp/fff1++vr6aMmVKtvto0aKF0tPT9dNPP+nRRx+VJG3btk12dnbatm2beb1ff/1VV69eVcuWLbPcTvfu3XX06FF99NFHeu+991SmTBlJko+Pj3mdn376SWvXrtULL7wgd3d3zZ49Wz169FB0dHSmn+msvPPOO7Kzs9PIkSOVmJioqVOnqk+fPtq5c2e2r4mKitKTTz6pNm3amN+HQ4cO6eeff9bw4cPVsmVLDRs2TLNnz9arr76qGjVqSJL5vxMmTNDEiRMVGhqqIUOG6MiRI1qwYIF2796tn3/+2aIHuCh/F7Rs2VLlypXTqlWrLH5BkW4NKyhRooS6du0qSVqwYIFq1qypxx57TA4ODvrqq6/0wgsvKD09XeHh4XfcV8YvZdYaXoIizADuEZGRkYakLB/Ozs7m9U6dOmVIMnx8fIzLly+b28eOHWtIMurWrWukpqaa25988knDycnJuHHjhrktKCjIkGR89tln5rbExEQjICDAuP/++81tW7duNSQZW7duNbc99NBDhiRj4cKFmY7hoYceMh566CHz82XLlhmSjBkzZmRaNz093fz/169ft1iWkpJi1KpVy3j44Yct2oOCgoywsLBM27qdJGP8+PHm5127djWcnJyMEydOmNtiYmIMd3d3o2XLlua2unXrGp06dcp2u5cuXTIkGdOmTbtjDberV6+eERAQYHHONm3aZEgygoKCcqzf09PTCA8Pz3H7nTp1yrQdw/j/57BSpUqZ3ueczu/06dPNbcnJyUa9evUMX19fIyUlxTCM//95PXXq1B23mV1tGZ/lyMhIc1vGfi5cuGBu+/333w07OzvjmWeeMbeNHz/ekGQMGDDAYpvdunUzvL29M+3r39LS0gwPDw9j9OjRhmHc+ix6e3sbPXv2NOzt7Y0rV64YhmEYM2bMMOzs7IxLly6ZX3v7uZk2bVqW70PGuk5OTsbx48ctjkWS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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "n = 20_000\n", + "losses_gauss = rng.standard_normal(n)\n", + "\n", + "var_hist = opt.historical_var_py(losses_gauss.tolist(), alpha)\n", + "var_numpy = np.quantile(losses_gauss, alpha, method='higher')\n", + "\n", + "print(f'historical_var = {var_hist:.6f}')\n", + "print(f'numpy quantile = {var_numpy:.6f}')\n", + "assert abs(var_hist - var_numpy) < 2.0/n, 'historical VaR within one rank step of the empirical quantile'\n", + "\n", + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "ax.hist(losses_gauss, bins=80, color='steelblue', alpha=0.7)\n", + "ax.axvline(var_hist, color='crimson', lw=2, label=f'historical VaR$_{{0.95}}$ = {var_hist:.3f}')\n", + "ax.set_xlabel('loss')\n", + "ax.set_ylabel('frequency')\n", + "ax.set_title('Empirical loss distribution with historical VaR')\n", + "ax.legend()\n", + "fig.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "3bb30fcc", + "metadata": {}, + "source": [ + "## 2. Parametric (Gaussian) Value-at-Risk\n", + "\n", + "Closed-form Gaussian Value-at-Risk:\n", + "\n", + "$$\n", + "\\mathrm{VaR}_\\alpha = \\mu + \\sigma\\, \\Phi^{-1}(\\alpha),\n", + "$$\n", + "\n", + "where $\\Phi^{-1}$ is the inverse standard normal CDF (Acklam algorithm)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f2dc13d4", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:03.769011Z", + "iopub.status.busy": "2026-05-12T09:45:03.768467Z", + "iopub.status.idle": "2026-05-12T09:45:04.094469Z", + "shell.execute_reply": "2026-05-12T09:45:04.088042Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "parametric_var = 3.296251162727\n", + "analytic = 3.296251165818\n", + "absolute error = 3.09e-09\n" + ] + }, + { + "data": { + "image/png": "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hoaGGk9PT9OrVy+zf/9+M3fuXJMjRw4zfPhwe52CmORfx3g1atQw7du3f9Llyn0k91p+9NFHxtPT00ybNs0cOXLELFq0yAQEBJh27drZ6xTktuRey/Xr15u//vrLHD582KxcudLUq1fPFCxY0Fy8eNFOZyDGGHP58mWzdetWs3XrVgOY0aNHm61bt5rjx48bY4x59913TadOnazt44ffeuedd8zevXvNN998o+G3UqNx48aZfPnyGRcXF1O1alWzfv1667ratWubLl26WB/37dvX2jZnzpymadOmGhcvFUnOtTTGmLVr15pq1aoZV1dXU6hQIfPJJ5+YmJiYJ1y1JJTc67hv3z4DmEWLFj3hSuVBknMtb968aYYMGWICAgKMm5ubyZs3r3njjTcUflKJ5FzL4OBgU6JECePq6mqyZctmOnXqZE6dOmWHquVOy5cvN8BdP/HXrkuXLqZ27dp3bVO+fHnj4uJiChUqZLcxui3G6HMZEREREUl71EdWRERERNIkBVkRERERSZMUZEVEREQkTVKQFREREZE0SUFWRERERNIkBVkRERERSZMUZEVEREQkTVKQFREREZE0SUFWRERERNIkBVkRkUQYY3jllVfImjUrFouFbdu2UadOHfr27Xvf7ZLSJjWwR51p5bkRkbTDyd4FiIikRgsWLGDy5MkEBwdTqFAhsmfPzsyZM3F2drZ3aSIicpuCrIhIIg4fPoyfnx9BQUHWZVmzZrVjRSIikpC6FohImhQXF8fIkSMpXLgwrq6u5MuXj08++QSAqKgoevfuTY4cOXBzc6NGjRqEhITYbF+nTh169+7NgAEDyJo1K7ly5WLIkCEAdO3alTfffJPQ0FAsFgsFChSwbnPnR+NXr16lc+fOZM6cGT8/P7744otE6xwxYgQFCxbE3d2dcuXK8eeffyapjqSca1KOkdTn8177mDhxIv7+/sTFxdls06pVK7p3755iNQBs3LiROnXq4O7uTvHixdm0aRMTJ06kZcuWyd6XiGQARkQkDRowYIDx8fExkydPNocOHTKrVq0y33//vTHGmN69ext/f38zf/58s3v3btOlSxfj4+Njzp8/b92+du3axsvLywwZMsQcOHDA/Pzzz8ZisZhFixaZS5cumWHDhpk8efKYsLAwc+bMGes2ffr0se7j9ddfN/ny5TNLliwxO3bsMM2bNzeenp42bYYPH26KFy9uFixYYA4fPmwmTZpkXF1dTXBw8APrSMq5JuUYiUl4Lvfbx4ULF4yLi4tZsmSJtf358+dtliWlhoTHTGjdunXGzc3NjBw50hw4cMC0bt3atGjRwhQqVMhs2bLlntuJSMalICsiaU5kZKRxdXW1CXPxrly5Ypydnc2UKVOsy6Kjo42/v78ZOXKkdVnt2rVNjRo1bLatUqWKGThwoDHGmDFjxpj8+fPbrL8ziF2+fNm4uLiYGTNmWNefP3/euLu7W9vcuHHDZMqUyaxdu9ZmPz169DDPP/98kuq437km9RiJufNckrKPVq1ame7du1vXfffdd8bf39/ExsYmuYYHBdnAwEDTqVMn6+Pff//dODg4mDZt2txzGxHJ2NRHVkTSnL179xIVFUX9+vXvWnf48GFu3rxJ9erVrcucnZ2pWrUqe/futWlbtmxZm8d+fn6cOXMmSTUcPnyY6OhoqlWrZl2WNWtWihUrZn186NAhrl27RsOGDW22jY6OpkKFCkmq437nmpxj3E9S9tGxY0defvllxo8fj6urK1OmTKFDhw44ODikSA0nT55k3bp1fP7559ZlTk5OGGMYOnRokvYhIhmPgqyIpDnu7u4psp+EIxBYLJa7+oE+iitXrgAwb948cufObbPO1dU1SXU86FyTeoxH3UeLFi0wxjBv3jyqVKnCqlWrGDNmTIrVEP9HRsWKFa3L9u/fT9WqVSlTpkyS9iEiGY+CrIikOUWKFMHd3Z2lS5fy0ksv2awLCAjAxcWFNWvWkD9/fgBu3rxJSEhIio5hGhAQgLOzMxs2bCBfvnwAXLx4kQMHDlC7dm0ASpYsiaurK6GhodZlyXW/c02pYyRlH25ubjzzzDNMmTKFQ4cOUaxYMWvoTIkaIiIicHR0xGKxAHDhwgU+//xzypUr91D7E5GMQUFWRNIcNzc3Bg4cyIABA3BxcaF69eqcPXuW3bt306NHD15//XXeeecdsmbNSr58+Rg5ciTXrl2jR48eKVZD5syZ6dGjB++88w7ZsmUjR44cvP/++zg4/P9gMJ6enrz99tv069ePuLg4atSoQUREBGvWrMHLy4suXbo88rmmxDGSuo+OHTvSvHlzdu/ezYsvvpii51m+fHliY2MZOXIkzz33HH369KFAgQLs2bOH48ePW/8oERG5k4KsiKRJgwcPxsnJiQ8//JDTp0/j5+fHa6+9BsBnn31GXFwcnTp14vLly1SuXJmFCxfi4+OTojWMGjWKK1eu0KJFCzw9PXnrrbeIiIiwafPxxx/j6+vLiBEjOHLkCFmyZKFixYq89957KXKuKXWMpOyjXr16ZM2alf379/PCCy+k6HkWLlyYYcOGMXbsWD799FM6dOjA1KlTadSoEU2aNLmrf7OICIDFGGPsXYSIiIiISHJpQgQRERERSZMUZEVEREQkTVKQFREREZE0SUFWRERERNIkBVkRERERSZMUZEVEREQkTVKQFREREZE0SUFWRERERNIkBVkRERERSZMUZEVEREQkTVKQFREREZE0SUFWRERERNKk/wPn9jiovKSN8AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "mu, sigma = 0.5, 1.7\n", + "var_param = opt.parametric_var_py(mu, sigma, alpha)\n", + "var_truth = mu + sigma * norm.ppf(alpha)\n", + "\n", + "print(f'parametric_var = {var_param:.12f}')\n", + "print(f'analytic = {var_truth:.12f}')\n", + "err = abs(var_param - var_truth)\n", + "print(f'absolute error = {err:.2e}')\n", + "assert err < 1e-6, 'parametric VaR must match mu + sigma * Phi^{-1}(alpha)'\n", + "\n", + "alphas = np.linspace(0.5, 0.999, 100)\n", + "rust_vals = [opt.parametric_var_py(mu, sigma, float(a)) for a in alphas]\n", + "ana_vals = mu + sigma * norm.ppf(alphas)\n", + "\n", + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "ax.plot(alphas, ana_vals, 'k-', lw=2, label='analytic')\n", + "ax.plot(alphas, rust_vals, 'r--', lw=1.5, label='parametric_var (Rust)')\n", + "ax.set_xlabel(r'confidence level $\\alpha$')\n", + "ax.set_ylabel(r'$\\mathrm{VaR}_\\alpha$')\n", + "ax.set_title('Gaussian VaR: closed form vs Rust binding')\n", + "ax.legend()\n", + "fig.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "50e84259", + "metadata": {}, + "source": [ + "## 3. Empirical Conditional Value-at-Risk\n", + "\n", + "$$\n", + "\\widehat{\\mathrm{CVaR}}_\\alpha\n", + "= \\frac{1}{n - k}\\sum_{i = k+1}^{n} L_{(i)},\n", + "\\qquad k = \\lfloor \\alpha\\, n \\rfloor.\n", + "$$\n", + "\n", + "We illustrate on a heavy-tailed Student-t loss sample where the tail mean\n", + "is markedly larger than the corresponding VaR threshold." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "edf8bb81", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:04.098170Z", + "iopub.status.busy": "2026-05-12T09:45:04.097876Z", + "iopub.status.idle": "2026-05-12T09:45:04.699779Z", + "shell.execute_reply": "2026-05-12T09:45:04.698614Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cvar_value (Rust) = 3.148952\n", + "tail mean (numpy) = 3.148952\n", + "absolute error = 3.11e-15\n" + ] + }, + { + "data": { + "image/png": "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h6WlJTp06IA//vgDlpaWAIDFixdDQ0MDAQEByMvLg6+vL7799ltxe7lcjj179mDs2LHw9PSEgYEBAgMDMWvWLHU1iYiIiIiqSI1OZLdu3Vrmel1dXaxYsQIrVqwotY6DgwP27t1b1aERERERkZpJaowsEREREVExJrJEREREJElMZImIiIhIkmr0GFkiIqLqourT3YIDA6o5EiKqLPbIEhEREZEkMZElIiIiIkliIktEREREksREloiIiIgkiYksEREREUkSE1kiIiIikiQmskREREQkSUxkiYiIiEiS+EAEIiKiMqjy4AQ+NIFIPdgjS0RERESSxESWiIiIiCSJiSwRERERSRITWSIiIiKSJCayRERERCRJnLWAiN4qqtxhTkREbwf2yBIRERGRJDGRJSIiIiJJYiJLRERERJLERJaIiIiIJImJLBERERFJEhNZIiIiIpIkJrJEREREJElMZImIiIhIkpjIEhEREZEkMZElIiIiIkliIktEREREkqSp7gDKEhUVhR07duCvv/6Cnp4e2rVrh/nz56Nx48ZiHW9vbxw7dkxhuzFjxmDVqlXicmpqKsaOHYu4uDgYGhoiMDAQUVFR0NSs0c0noles2LBd3SEQEVENUqMzuWPHjiE4OBht2rRBQUEBPv/8c3Tr1g2XL1+GgYGBWG/UqFGYNWuWuKyvry/+v7CwED179oSNjQ1OnjyJtLQ0DBs2DFpaWpg7d+4bbQ8RERERVZ0ancju379fYXn9+vWwsrJCQkICOnbsKJbr6+vDxsamxH0cPHgQly9fxqFDh2BtbQ03NzfMnj0bYWFhmDlzJrS1tau1DURE9PZ7+duCjppPoSsDcp48VSgPDgxQR2hEbzVJjZHNysoCAJibmyuUb968GbVq1YKrqyvCw8Px5MkTcV18fDyaNWsGa2trsczX1xfZ2dm4dOlSicfJy8tDdna2wouIiIiIapYa3SP7sqKiIkyaNAnt27eHq6urWD548GA4ODjAzs4O58+fR1hYGJKTk7Fjxw4AQHp6ukISC0BcTk9PL/FYUVFRiIyMrKaWEBEREVFVkEwiGxwcjIsXL+K3335TKB89erT4/2bNmsHW1hZdunTBtWvX4OTkVKljhYeHIzQ0VFzOzs6Gvb195QInIiIiomohiaEF48ePx549exAXF4c6deqUWdfDwwMAkJKSAgCwsbFBRkaGQp3i5dLG1ero6MDY2FjhRUREREQ1S41OZAVBwPjx47Fz504cOXIEjo6O5W6TlJQEALC1tQUAeHp64sKFC8jMzBTrxMbGwtjYGC4uLtUSNxERERFVvxo9tCA4OBhbtmzB7t27YWRkJI5pNTExgZ6eHq5du4YtW7agR48esLCwwPnz5zF58mR07NgRzZs3BwB069YNLi4u+Pjjj7FgwQKkp6fjyy+/RHBwMHR0dNTZPCJ6CeeIJSKiiqrRPbIrV65EVlYWvL29YWtrK75+/PFHAIC2tjYOHTqEbt26wdnZGVOmTEFAQAD+97//ifuQy+XYs2cP5HI5PD09MXToUAwbNkxh3lkiIiIikp4a3SMrCEKZ6+3t7ZWe6lUSBwcH7N27t6rCIiIiIqIaoEb3yBIRERERlaZG98gSERG9LVQZB86nfxFVDHtkiYiIiEiSmMgSERERkSQxkSUiIiIiSeIYWSIiohpC1fmUOZaW6AX2yBIRERGRJDGRJSIiIiJJYiJLRERERJLERJaIiIiIJImJLBERERFJEmctIKJqp+qd2ERERBXBHlkiIiIikiQmskREREQkSUxkiYiIiEiSmMgSERERkSTxZi8iqjTexEVEROrEHlkiIiIikiT2yBJRidjbSkRENR0TWSIiIolR5Q/N4MCANxAJkXoxkSUiInoLlZXsej95Ct03GAtRdeEYWSIiIiKSJPbIEr2DOP6ViIjeBkxkiYiI3lG5T56W+4ctx9pSTcahBUREREQkSUxkiYiIiEiSOLSA6C3D8a9ERPSuYCJLJBFMUIlIHarys4fjbamqcWgBEREREUkSe2SJqhmfwENERFQ93qlEdsWKFYiOjkZ6ejpatGiBZcuWoW3btuoOi4iI6J3AP+ypqr0zieyPP/6I0NBQrFq1Ch4eHliyZAl8fX2RnJwMKysrdYdH7ziOfyUieoHJLlXEO5PILlq0CKNGjcKIESMAAKtWrcKvv/6KdevWYfr06WqOjqpKVSWEqn5IMgElInrzVP3sZcL79nsnEtnnz58jISEB4eHhYpmGhga6du2K+Ph4NUb29pPqX9ZMUImIpO9d/x1UE9tW1d6JRPbevXsoLCyEtbW1Qrm1tTX++usvpfp5eXnIy8sTl7OysgAA2dnZVR7bmi27q3yfUvPNqk3qDoGIqMrkyAtRICvCM6EQTwufqDucEuUUFSC/qAB5RQV4+rRmxvimvM2/g6qybaMH9ym3TlXlNM+ePgUACIJQbt13IpGtqKioKERGRiqV29vbqyEaIiKSrmHqDqBsDwCMPaTuKEgCPhv75o/5+PFjmJiYlFnnnUhka9WqBblcjoyMDIXyjIwM2NjYKNUPDw9HaGiouFxUVIQHDx7AwsICMpms2uOVuuzsbNjb2+Pff/+FsbGxusORFJ67yuO5qzyeu8rjuas8nrvX8zafP0EQ8PjxY9jZ2ZVb951IZLW1teHu7o7Dhw/jgw8+APAiOT18+DDGjx+vVF9HRwc6OjoKZaampm8g0reLsbHxW/fmelN47iqP567yeO4qj+eu8njuXs/bev7K64kt9k4ksgAQGhqKwMBAtG7dGm3btsWSJUuQm5srzmJARERERNLyziSyH330Ee7evYuIiAikp6fDzc0N+/fvV7oBjIiIiIik4Z1JZAFg/PjxJQ4loKqlo6ODGTNmKA3PoPLx3FUez13l8dxVHs9d5fHcvR6evxdkgipzGxARERER1TAa6g6AiIiIiKgymMgSERERkSQxkSUiIiIiSWIiS9Xu119/hYeHB/T09GBmZibO5UuqycvLg5ubG2QyGZKSktQdTo1348YNBAUFwdHREXp6enBycsKMGTPw/PlzdYdWY61YsQL16tWDrq4uPDw8cPr0aXWHVONFRUWhTZs2MDIygpWVFT744AMkJyerOyxJmjdvHmQyGSZNmqTuUCTh9u3bGDp0KCwsLKCnp4dmzZrh7Nmz6g5LbZjIUrXavn07Pv74Y4wYMQLnzp3D77//jsGDB6s7LEmZNm2aSk83oRf++usvFBUVYfXq1bh06RIWL16MVatW4fPPP1d3aDXSjz/+iNDQUMyYMQOJiYlo0aIFfH19kZmZqe7QarRjx44hODgYf/zxB2JjY5Gfn49u3bohNzdX3aFJypkzZ7B69Wo0b95c3aFIwsOHD9G+fXtoaWlh3759uHz5MhYuXAgzMzN1h6Y+AlE1yc/PF2rXri3897//VXcokrV3717B2dlZuHTpkgBA+PPPP9UdkiQtWLBAcHR0VHcYNVLbtm2F4OBgcbmwsFCws7MToqKi1BiV9GRmZgoAhGPHjqk7FMl4/Pix0LBhQyE2Nlbo1KmTMHHiRHWHVOOFhYUJHTp0UHcYNQp7ZKnaJCYm4vbt29DQ0EDLli1ha2sLPz8/XLx4Ud2hSUJGRgZGjRqFTZs2QV9fX93hSFpWVhbMzc3VHUaN8/z5cyQkJKBr165imYaGBrp27Yr4+Hg1RiY9WVlZAMDrrAKCg4PRs2dPheuPyvbLL7+gdevW6N+/P6ysrNCyZUusXbtW3WGpFRNZqjb//PMPAGDmzJn48ssvsWfPHpiZmcHb2xsPHjxQc3Q1myAIGD58OD799FO0bt1a3eFIWkpKCpYtW4YxY8aoO5Qa5969eygsLFR6wqG1tTXS09PVFJX0FBUVYdKkSWjfvj1cXV3VHY4kbN26FYmJiYiKilJ3KJLyzz//YOXKlWjYsCEOHDiAsWPHIiQkBBs2bFB3aGrDRJYqbPr06ZDJZGW+iscpAsAXX3yBgIAAuLu7IyYmBjKZDNu2bVNzK9RD1XO3bNkyPH78GOHh4eoOucZQ9dy97Pbt2+jevTv69++PUaNGqSlyetsFBwfj4sWL2Lp1q7pDkYR///0XEydOxObNm6Grq6vucCSlqKgIrVq1wty5c9GyZUuMHj0ao0aNwqpVq9Qdmtq8U4+opaoxZcoUDB8+vMw69evXR1paGgDAxcVFLNfR0UH9+vWRmppanSHWWKqeuyNHjiA+Pl7p0YOtW7fGkCFD3sm/vlU9d8Xu3LkDHx8ftGvXDmvWrKnm6KSpVq1akMvlyMjIUCjPyMiAjY2NmqKSlvHjx2PPnj04fvw46tSpo+5wJCEhIQGZmZlo1aqVWFZYWIjjx49j+fLlyMvLg1wuV2OENZetra3C71QAaNKkCbZv366miNSPiSxVmKWlJSwtLcut5+7uDh0dHSQnJ6NDhw4AgPz8fNy4cQMODg7VHWaNpOq5+89//oOvv/5aXL5z5w58fX3x448/wsPDozpDrLFUPXfAi55YHx8f8VsADQ1++VQSbW1tuLu74/Dhw+K0eEVFRTh8+DDGjx+v3uBqOEEQMGHCBOzcuRNHjx6Fo6OjukOSjC5duuDChQsKZSNGjICzszPCwsKYxJahffv2StO8/f333+/s71SAiSxVI2NjY3z66aeYMWMG7O3t4eDggOjoaABA//791RxdzVa3bl2FZUNDQwCAk5MTe33Kcfv2bXh7e8PBwQHffPMN7t69K65jL6Oy0NBQBAYGonXr1mjbti2WLFmC3NxcjBgxQt2h1WjBwcHYsmULdu/eDSMjI3FMsYmJCfT09NQcXc1mZGSkNJbYwMAAFhYWHGNcjsmTJ6Ndu3aYO3cuBgwYgNOnT2PNmjXv9LdOTGSpWkVHR0NTUxMff/wxnj59Cg8PDxw5cuTdnvOOqlVsbCxSUlKQkpKilPQLgqCmqGqujz76CHfv3kVERATS09Ph5uaG/fv3K90ARopWrlwJAPD29lYoj4mJKXcIDFFltWnTBjt37kR4eDhmzZoFR0dHLFmyBEOGDFF3aGojE/jJTkREREQSxIFjRERERCRJTGSJiIiISJKYyBIRERGRJDGRJSIiIiJJYiJLRERERJLERJaIiIiIJImJLBERERFJEhNZIiIiIpIkJrJERBLi7e2NSZMmqTsMIqIagYksEREREUkSE1kiIiIikiQmskREEvXw4UMMGzYMZmZm0NfXh5+fH65evSquv3nzJvz9/WFmZgYDAwM0bdoUe/fuFbcdMmQILC0toaenh4YNGyImJkZdTSEiqhRNdQdARESVM3z4cFy9ehW//PILjI2NERYWhh49euDy5cvQ0tJCcHAwnj9/juPHj8PAwACXL1+GoaEhAOCrr77C5cuXsW/fPtSqVQspKSl4+vSpmltERFQxTGSJiCSoOIH9/fff0a5dOwDA5s2bYW9vj127dqF///5ITU1FQEAAmjVrBgCoX7++uH1qaipatmyJ1q1bAwDq1av3xttARPS6OLSAiEiCrly5Ak1NTXh4eIhlFhYWaNy4Ma5cuQIACAkJwddff4327dtjxowZOH/+vFh37Nix2Lp1K9zc3DBt2jScPHnyjbeBiOh1MZElInpLffLJJ/jnn3/w8ccf48KFC2jdujWWLVsGAPDz88PNmzcxefJk3LlzB126dMHUqVPVHDERUcUwkSUikqAmTZqgoKAAp06dEsvu37+P5ORkuLi4iGX29vb49NNPsWPHDkyZMgVr164V11laWiIwMBDff/89lixZgjVr1rzRNhARvS6OkSUikqCGDRuiT58+GDVqFFavXg0jIyNMnz4dtWvXRp8+fQAAkyZNgp+fHxo1aoSHDx8iLi4OTZo0AQBERETA3d0dTZs2RV5eHvbs2SOuIyKSCvbIEhFJVExMDNzd3dGrVy94enpCEATs3bsXWlpaAIDCwkIEBwejSZMm6N69Oxo1aoRvv/0WAKCtrY3w8HA0b94cHTt2hFwux9atW9XZHCKiCpMJgiCoOwgiIiIioopijywRERERSRITWSIiIiKSJCayRERERCRJTGSJiIiISJKYyBIRERGRJDGRJSIiIiJJYiJLRERERJLERJaIiIiIJImJLBERERFJEhNZIiIiIpIkJrJEREREJElMZImIiIhIkv4fMyG9MLH2YBMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = 4.0\n", + "losses_t = rng.standard_t(df, size=n)\n", + "\n", + "cvar_rust = opt.cvar_value_py(losses_t.tolist(), alpha)\n", + "var_rust = opt.historical_var_py(losses_t.tolist(), alpha)\n", + "\n", + "sorted_losses = np.sort(losses_t)\n", + "k = int(np.floor(alpha * n))\n", + "tail_mean = sorted_losses[k:].mean()\n", + "\n", + "print(f'cvar_value (Rust) = {cvar_rust:.6f}')\n", + "print(f'tail mean (numpy) = {tail_mean:.6f}')\n", + "err = abs(cvar_rust - tail_mean)\n", + "print(f'absolute error = {err:.2e}')\n", + "assert err < 2.0/n, 'cvar_value must equal the empirical tail mean'\n", + "\n", + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "ax.hist(losses_t, bins=120, color='slategray', alpha=0.75)\n", + "ax.axvline(var_rust, color='goldenrod', lw=2, label=f'VaR$_{{0.95}}$ = {var_rust:.3f}')\n", + "ax.axvline(cvar_rust, color='crimson', lw=2, label=f'CVaR$_{{0.95}}$ = {cvar_rust:.3f}')\n", + "ax.set_xlim(np.quantile(losses_t, 0.001), np.quantile(losses_t, 0.999))\n", + "ax.set_xlabel('loss')\n", + "ax.set_ylabel('frequency')\n", + "ax.set_title(f'Student-t (df={df:.0f}) loss sample with VaR / CVaR thresholds')\n", + "ax.legend()\n", + "fig.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "39eef705", + "metadata": {}, + "source": [ + "## 4. CVaR minimisation on the unit simplex\n", + "\n", + "Given samples $r^{(s)} \\in \\mathbb{R}^d$, the Rockafellar–Uryasev convex\n", + "programme reads\n", + "\n", + "$$\n", + "\\min_{w \\in \\Delta_d,\\; \\zeta \\in \\mathbb{R}}\\;\n", + "\\zeta + \\frac{1}{(1-\\alpha)\\, S}\\,\n", + "\\sum_{s=1}^{S} \\big(\\zeta - \\langle r^{(s)}, w\\rangle\\big)_+,\n", + "$$\n", + "\n", + "over the unit simplex $\\Delta_d = \\{w \\ge 0,\\; \\mathbf{1}^\\top w = 1\\}$.\n", + "\n", + "Synthetic setup: $d = 3$ decision components, with the first column\n", + "highly volatile and the third column nearly stable. The CVaR optimiser\n", + "should concentrate weight on the stable component." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "9f327390", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:04.703348Z", + "iopub.status.busy": "2026-05-12T09:45:04.703051Z", + "iopub.status.idle": "2026-05-12T09:45:05.848112Z", + "shell.execute_reply": "2026-05-12T09:45:05.845991Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "optimal weights = [0.00196445 0.0288853 0.96915025]\n", + "sum(weights) = 1.000000\n", + "min(weights) = 0.001964\n", + "zeta (= VaR at opt) = 0.163253\n", + "CVaR(alpha) = 0.216240\n", + "iterations = 4000\n", + "CVaR recomputed = 0.216240\n", + "|cvar - recomp| = 0.00e+00\n" + ] + }, + { + "data": { + "image/png": "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mpqaiI+PVyiPj4/P8deXX375Bd999x2+//57AICzszOSk5Pxww8/4Oeff1Y6erWOjg50dHSKvgFERERUqly+fBnu7u549+4dDA0NsWvXLjg6OgJ438u0SpUqqFChAi5duoTx48fj5s2b2LlzZ47bYy9TKutW/7Enx2WD+nxVqPWIiIqTynqASKVSuLm5ISwsTF4mk8kQFham8GvMh1JSUrIlOTQ1NQG8n8uciIiIKCe1atVCVFQUTp8+jaFDh6J///64du0aAOCHH36Al5cXnJ2d8e2332LTpk3YtWsXoqOjc9wee5kSERGVLiqdBcbf3x/9+/dH/fr10bBhQwQHByM5OVk+K4y3tzcqVqyIoKAgAO/v312wYAHq1auHRo0a4c6dO/jll1/QuXNneSKEiIiISBmpVAp7e3sAgJubG86ePYtFixZh5cqV2eo2atQIAHDnzh1Ur15d6fbYy5SIiKh0UWkC5JtvvsGzZ88wefJkxMXFoW7dujhw4IB8YNSYmBiFHh+TJk2CRCLBpEmT8PjxY1hYWKBz586YOXOmqppAREREpZRMJkNqaqrSZVFRUQAAGxubEoyIiIiIipNKEyAAMHz4cAwfPlzpsvDwcIXnWlpamDJlCqZMmVICkREREZG6CAgIQPv27VG5cmUkJSVhy5YtCA8Px8GDBxEdHY0tW7agQ4cOKF++PC5duoQxY8agefPmcHFxUXXoREREVERUngAhIiIiKm5Pnz6Ft7c3YmNjYWJiAhcXFxw8eBBt2rTBw4cPcfjwYfmtuLa2tujRowcmTZqk6rCJiIioCDEBQkRERGpv7dq1OS6ztbXFsWPHSjAaIiIiUgWVzQJDRERERERERFRSmAAhIiIiIiIiIrXHBAgRERERERERqT0mQIiIiIiIiIhI7TEBQkRERERERERqjwkQIiIiIiIiIlJ7TIAQERERERERkdpjAoSIiIiIiIiI1B4TIERERERERESk9pgAISIiIiIiIiK1xwQIEREREREREak9JkCIiIiIiIiISO0xAUJEREREREREao8JECIiIiIiIiJSe1qqDoCIiIiIiFRj9R97clw2qM9XxbLdz01xvQaF9bnFQ6RO2AOEiIiIiIiIiNQeEyBEREREREREpPaYACEiIiIiIiIitccECBERERERERGpPSZAiIiIiIiIiEjtMQFCRERERERERGqP0+ASEREREZVyxTF1ammaypaIKD/YA4SIiIiIiIiI1B4TIERERKT2li9fDhcXFxgbG8PY2Bju7u7Yv3+/fPm7d+/g5+eH8uXLw9DQED169EB8fLwKIyYiIqKixgQIERERqb1KlSph9uzZiIyMxLlz59CqVSt06dIFV69eBQCMGTMG//vf/7B9+3YcO3YMT548Qffu3VUcNRERERUljgFCREREaq9z584Kz2fOnInly5fj1KlTqFSpEtauXYstW7agVatWAID169ejdu3aOHXqFL788ktVhExERERFjD1AiIiIqEzJzMzE1q1bkZycDHd3d0RGRiI9PR2enp7yOg4ODqhcuTIiIiJUGCkREREVJfYAISIiojLh8uXLcHd3x7t372BoaIhdu3bB0dERUVFRkEqlMDU1VahvZWWFuLi4HLeXmpqK1NRU+fPExMTiCp2IiIiKABMgREREVCbUqlULUVFRSEhIwI4dO9C/f38cO3as0NsLCgpCYGBgEUZIVDw4nW3xyOt1Lez0w0RUfHgLDBEREZUJUqkU9vb2cHNzQ1BQEFxdXbFo0SJYW1sjLS0Nr1+/VqgfHx8Pa2vrHLcXEBCAhIQE+ePhw4fF3AIiIiL6FEyAEBERUZkkk8mQmpoKNzc3aGtrIywsTL7s5s2biImJgbu7e47r6+joyKfVzXoQERHR54u3wBAREZHaCwgIQPv27VG5cmUkJSVhy5YtCA8Px8GDB2FiYgJfX1/4+/vDzMwMxsbGGDFiBNzd3TkDDBERkRphAoSIiIjU3tOnT+Ht7Y3Y2FiYmJjAxcUFBw8eRJs2bQAACxcuhIaGBnr06IHU1FR4eXlh2bJlKo6aiIiIihITIERERKT21q5dm+tyXV1dhISEICQkpIQiIiIiopLGMUCIiIiIiIiISO0xAUJEREREREREao8JECIiIiIiIiJSe0yAEBEREREREZHaYwKEiIiIiIiIiNQeEyBEREREREREpPaYACEiIiIiIiIitael6gCIiIiIiChvq//Yo+oQiIhKNfYAISIiIiIiIiK1xwQIEREREREREak9JkCIiIiIiIiISO0xAUJEREREREREao8JECIiIiIiIiJSe0yAEBEREREREZHaU/k0uCEhIZg3bx7i4uLg6uqKJUuWoGHDhjnWf/36NX7++Wfs3LkTL1++RJUqVRAcHIwOHTqUYNRERERERFRafG5TCH9u8RCVFSrtAbJt2zb4+/tjypQpOH/+PFxdXeHl5YWnT58qrZ+WloY2bdrg/v372LFjB27evInVq1ejYsWKJRw5ERERlYS7d++qOgQiIiJSEypNgCxYsACDBg2Cj48PHB0dsWLFCujr62PdunVK669btw4vX77E7t270aRJE9jZ2aFFixZwdXUt4ciJiIioJNjb26Nly5b4/fff8e7dO1WHQ0RERKWYyhIgaWlpiIyMhKen5/8Fo6EBT09PREREKF1nz549cHd3h5+fH6ysrODk5IRZs2YhMzMzx/2kpqYiMTFR4UFERESlw/nz5+Hi4gJ/f39YW1tj8ODBOHPmjKrDIiIiolJIZQmQ58+fIzMzE1ZWVgrlVlZWiIuLU7rO3bt3sWPHDmRmZmLfvn345ZdfMH/+fMyYMSPH/QQFBcHExET+sLW1LdJ2EBERUfGpW7cuFi1ahCdPnmDdunWIjY1F06ZN4eTkhAULFuDZs2eqDpGIiIhKiVI1C4xMJoOlpSVWrVoFNzc3fPPNN/j555+xYsWKHNcJCAhAQkKC/PHw4cMSjJiIiIiKgpaWFrp3747t27djzpw5uHPnDsaOHQtbW1t4e3sjNjZW1SESERHRZ05lCRBzc3NoamoiPj5eoTw+Ph7W1tZK17GxsUHNmjWhqakpL6tduzbi4uKQlpamdB0dHR0YGxsrPIiIiKh0OXfuHIYNGwYbGxssWLAAY8eORXR0NEJDQ/HkyRN06dJF1SESERHRZ05lCRCpVAo3NzeEhYXJy2QyGcLCwuDu7q50nSZNmuDOnTuQyWTyslu3bsHGxgZSqbTYYyYiIqKStWDBAjg7O6Nx48Z48uQJNm3ahAcPHmDGjBmoWrUqmjVrhg0bNuD8+fOqDpWIiIg+cyq9Bcbf3x+rV6/Gxo0bcf36dQwdOhTJycnw8fEBAHh7eyMgIEBef+jQoXj58iVGjRqFW7duYe/evZg1axb8/PxU1QQiIiIqRsuXL0ffvn3x4MED7N69G506dYKGhuLli6WlJdauXauiCImIiKi00FLlzr/55hs8e/YMkydPRlxcHOrWrYsDBw7IB0aNiYlRuMixtbXFwYMHMWbMGLi4uKBixYoYNWoUxo8fr6omEBERUTG6fft2nnWkUin69+9fAtEQERFRaabyQVCHDx+OBw8eIDU1FadPn0ajRo3ky8LDw7FhwwaF+u7u7jh16hTevXuH6OhoTJw4UWFMECIiIlIf69evx/bt27OVb9++HRs3bsz3doKCgtCgQQMYGRnB0tISXbt2xc2bNxXqeHh4QCKRKDyGDBnyyW0gIiKiz4PKEyBEREREOQkKCoK5uXm2cktLS8yaNSvf2zl27Bj8/Pxw6tQphIaGIj09HW3btkVycrJCvUGDBiE2Nlb+mDt37ie3gYiIiD4PKr0FhoiIiCg3MTExqFq1arbyKlWqICYmJt/bOXDggMLzDRs2wNLSEpGRkWjevLm8XF9fP8fZ6IiIiKh0K1QPkGnTpiElJSVb+du3bzFt2rRPDoqIiIgIeN/T49KlS9nKL168iPLlyxd6uwkJCQAAMzMzhfLNmzfD3NwcTk5OCAgIUHq9kyU1NRWJiYkKDyIiIvp8FSoBEhgYiDdv3mQrT0lJQWBg4CcHRURERAQAffr0wciRI3H06FFkZmYiMzMTR44cwahRo9C7d+9CbVMmk2H06NFo0qQJnJyc5OV9+/bF77//jqNHjyIgIAC//fYb+vXrl+N2goKCYGJiIn/Y2toWKh4iIiIqGYW6BUYIAYlEkq384sWL2X5JISIiIiqs6dOn4/79+2jdujW0tN5ftshkMnh7exdoDJAP+fn54cqVKzhx4oRC+Q8//CD/v7OzM2xsbNC6dWtER0ejevXq2bYTEBAAf39/+fPExEQmQYiIiD5jBUqAlCtXTj4qes2aNRWSIJmZmXjz5g1HSyciIqIiI5VKsW3bNkyfPh0XL16Enp4enJ2dUaVKlUJtb/jw4fjnn3/w77//olKlSrnWzZqZ7s6dO0oTIDo6OtDR0SlUHERERFTyCpQACQ4OhhACAwcORGBgIExMTOTLpFIp7Ozs4O7uXuRBEhERUdlWs2ZN1KxZs9DrCyEwYsQI7Nq1C+Hh4UoHVv1YVFQUAMDGxqbQ+yUiIqLPR4ESIP379wcAVK1aFY0bN4a2tnaxBEVEREQEvO9humHDBoSFheHp06eQyWQKy48cOZKv7fj5+WHLli34+++/YWRkhLi4OACAiYkJ9PT0EB0djS1btqBDhw4oX748Ll26hDFjxqB58+ZwcXEp8nYRERFRySvUGCAtWrSATCbDrVu3lF6MfDidHBEREVFhjRo1Chs2bEDHjh3h5OSkdAyy/Fi+fDkAwMPDQ6F8/fr1GDBgAKRSKQ4fPozg4GAkJyfD1tYWPXr0wKRJkz61CURERPSZKFQC5NSpU+jbty8ePHgAIYTCMolEgszMzCIJjoiIiMq2rVu34s8//0SHDh0+aTsfX698zNbWFseOHfukfRAREdHnrVAJkCFDhqB+/frYu3cvbGxsCv1rDBEREVFupFIp7O3tVR0GERERqYFCJUBu376NHTt28IKEiIiIitWPP/6IRYsWYenSpfzBhYiIiD5JoRIgjRo1wp07d5gAISIiomJ14sQJHD16FPv370edOnWyDcC+c+dOFUVGREREpU2+EyCXLl2S/3/EiBH48ccfERcXB2dn52wXIxwtnYiIiIqCqakpunXrpuowiIiISA3kOwFSt25dSCQShUHEBg4cKP9/1jIOgkpERERFZf369aoOgYiIiNREvhMg9+7dK844iIiIiJTKyMhAeHg4oqOj0bdvXxgZGeHJkycwNjaGoaGhqsMjIiKiUiLfCZAqVaoUZxxERERE2Tx48ADt2rVDTEwMUlNT0aZNGxgZGWHOnDlITU3FihUrVB0iERERlRKFGgR1z549SsslEgl0dXVhb2+PqlWrflJgRERERKNGjUL9+vVx8eJFlC9fXl7erVs3DBo0SIWRERERUWlTqARI165ds40HAiiOA9K0aVPs3r0b5cqVK5JAiYiIqOw5fvw4Tp48CalUqlBuZ2eHx48fqygqIiIiKo00CrNSaGgoGjRogNDQUCQkJCAhIQGhoaFo1KgR/vnnH/z777948eIFxo4dW9TxEhERURkik8mUDq7+6NEjGBkZqSAiIiIiKq0K1QNk1KhRWLVqFRo3biwva926NXR1dfHDDz/g6tWrCA4OVpglhoiIiKig2rZti+DgYKxatQrA+96mb968wZQpU9ChQwcVR0dERESlSaESINHR0TA2Ns5WbmxsjLt37wIAatSogefPn39adERERFSmzZ8/H15eXnB0dMS7d+/Qt29f3L59G+bm5vjjjz9UHR4RERGVIoVKgLi5ueGnn37Cpk2bYGFhAQB49uwZxo0bhwYNGgAAbt++DVtb26KLlIiIiMqcSpUq4eLFi9i6dSsuXbqEN2/ewNfXF99++y309PRUHR4RERGVIoVKgKxduxZdunRBpUqV5EmOhw8folq1avj7778BAG/evMGkSZOKLlIiIiIqk7S0tNCvXz9Vh0FE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WzkRERGVTqtWrUL37t1x584djBw5EoMGDYKRkZGqwyIiIqJSTuUJkG+++QbPnj3D5MmTERcXh7p16+LAgQPygVFjYmKgoaGh4iiJiIioJLVr1w4AEBkZiVGjRjEBQkRERJ9M5QkQABg+fLjSW14AIDw8PNd1N2zYUPQBERER0Wdh/fr1qg6BiIiI1AS7VhARERERERGR2mMChIiIiIiIiIjUHhMgRERERERERKT2mAAhIiIiIiIiIrXHBAgRERERERERqT0mQIiIiIiIiIhI7TEBQkRERERERERqjwkQIiIiIiIiIlJ7TIAQERFRmfDvv/+ic+fOqFChAiQSCXbv3q2wfMCAAZBIJAqPdu3aqSZYIiIiKnJMgBAREVGZkJycDFdXV4SEhORYp127doiNjZU//vjjjxKMkIiIiIqTlqoDICIiIioJ7du3R/v27XOto6OjA2tr6xKKiIiIiEoSe4AQERER/X/h4eGwtLRErVq1MHToULx48SLHuqmpqUhMTFR4EBER0eeLPUCIiIiI8P72l+7du6Nq1aqIjo7GxIkT0b59e0REREBTUzNb/aCgIAQGBqogUvrcrf5jj6pDICIiJZgAISIiIgLQu3dv+f+dnZ3h4uKC6tWrIzw8HK1bt85WPyAgAP7+/vLniYmJsLW1LZFYiYiIqOB4CwwRERGREtWqVYO5uTnu3LmjdLmOjg6MjY0VHkRERPT5YgKEiIiISIlHjx7hxYsXsLGxUXUoREREVAR4CwwRERGVCW/evFHozXHv3j1ERUXBzMwMZmZmCAwMRI8ePWBtbY3o6GiMGzcO9vb28PLyUmHUREREVFSYACEiIqIy4dy5c2jZsqX8edb4Hf3798fy5ctx6dIlbNy4Ea9fv0aFChXQtm1bTJ8+HTo6OqoKmYiIiIoQEyBERERUJnh4eEAIkePygwcPlmA0REREVNKYACEiIiIiUiK36WwH9fmqBCMhIqKiwEFQiYiIiIiIiEjtMQFCRERERERERGqPCRAiIiIiIiIiUntMgBARERERERGR2mMChIiIiIiIiIjUHhMgRERERERERKT2OA0uERERERERFVjWVNHu4i10ACS/fSsv41TR9DliDxAiIiIiIiIiUntMgBARERERERGR2mMChIiIiIiIiIjUHhMgRERERERERKT2mAAhIiIiIiIiIrXHBAgRERERERERqT1Og0tEREREaitrSk5lOE0nlSX8LBCxBwgRERERERERlQFMgBARERERERGR2mMChIiIiIiIiIjUHhMgRERERERERKT2mAAhIiIiIiIiIrXHBAgRERERERERqT0mQIiIiIiIiIhI7TEBQkRERERERERqjwkQIiIiKhP+/fdfdO7cGRUqVIBEIsHu3bsVlgshMHnyZNjY2EBPTw+enp64ffu2aoIlIiKiIscECBEREZUJycnJcHV1RUhIiNLlc+fOxeLFi7FixQqcPn0aBgYG8PLywrt370o4UiIiIioOWqoOgIiIiKgktG/fHu3bt1e6TAiB4OBgTJo0CV26dAEAbNq0CVZWVti9ezd69+5dkqESERFRMWAPECIiIirz7t27h7i4OHh6esrLTExM0KhRI0RERKgwMiIiIioq7AFCREREZV5cXBwAwMrKSqHcyspKvuxjqampSE1NlT9PTEwsvgCJiIjokzEBQkRERFQIQUFBCAwMVHUYRESfbPUfe1QdAlGJ4C0wREREVOZZW1sDAOLj4xXK4+Pj5cs+FhAQgISEBPnj4cOHxR4nERERFR4TIERERFTmVa1aFdbW1ggLC5OXJSYm4vTp03B3d1e6jo6ODoyNjRUeRERE9Pn6LBIgISEhsLOzg66uLho1aoQzZ87kWHf16tVo1qwZypUrh3LlysHT0zPX+kREREQA8ObNG0RFRSEqKgrA+4FPo6KiEBMTA4lEgtGjR2PGjBnYs2cPLl++DG9vb1SoUAFdu3ZVadxERERUNFSeANm2bRv8/f0xZcoUnD9/Hq6urvDy8sLTp0+V1g8PD0efPn1w9OhRREREwNbWFm3btsXjx49LOHIiIiIqTc6dO4d69eqhXr16AAB/f3/Uq1cPkydPBgCMGzcOI0aMwA8//IAGDRrgzZs3OHDgAHR1dVUZNhERERURlSdAFixYgEGDBsHHxweOjo5YsWIF9PX1sW7dOqX1N2/ejGHDhqFu3bpwcHDAmjVrIJPJFLqsEhEREX3Mw8MDQohsjw0bNgAAJBIJpk2bhri4OLx79w6HDx9GzZo1VRs0ERERFRmVJkDS0tIQGRkJT09PeZmGhgY8PT0RERGRr22kpKQgPT0dZmZmxRUmEREREREREZVyKp0G9/nz58jMzISVlZVCuZWVFW7cuJGvbYwfPx4VKlRQSKJ8KDU1FampqfLniYmJhQ+YiIiIiIiIiEolld8C8ylmz56NrVu3YteuXTnenxsUFAQTExP5w9bWtoSjJCIiIiIiIiJVU2kCxNzcHJqamoiPj1coj4+Ph7W1da7r/vrrr5g9ezYOHToEFxeXHOsFBAQgISFB/nj48GGRxE5EREREREREpYdKEyBSqRRubm4KA5hmDWjq7u6e43pz587F9OnTceDAAdSvXz/Xfejo6MDY2FjhQURERERERERli0rHAAHeT0HXv39/1K9fHw0bNkRwcDCSk5Ph4+MDAPD29kbFihURFBQEAJgzZw4mT56MLVu2wM7ODnFxcQAAQ0NDGBoaqqwdRERERERERPT5UnkC5JtvvsGzZ88wefJkxMXFoW7dujhw4IB8YNSYmBhoaPxfR5Xly5cjLS0NPXv2VNjOlClTMHXq1JIMnYiIiIiIiIhKCZUnQABg+PDhGD58uNJl4eHhCs/v379f/AERERERERERkVr5LBIgREREREQlbfUfe1SyLhERqUapngaXiIiIiIiIiCg/mAAhIiIiIiIiIrXHBAgRERERERERqT0mQIiIiIiIiIhI7TEBQkRERERERERqjwkQIiIiIiIiIlJ7TIAQERERERERkdpjAoSIiIiIiIiI1B4TIERERERERESk9pgAISIiIiIiIiK1xwQIEREREREREak9JkCIiIiIiIiISO1pqToAIiIiIqJPsfqPPaoOgYg+ktfnclCfr0ooEqL/wx4gRERERERERKT2mAAhIiIiIiIiIrXHBAgRERERgKlTp0IikSg8HBwcVB0WERERFRGOAUJERET0/9WpUweHDx+WP9fS4qUSERGRuuBZnYiIiOj/09LSgrW1tarDICIiomLAW2CIiIiI/r/bt2+jQoUKqFatGr799lvExMTkWDc1NRWJiYkKDyIiIvp8sQcIEREREYBGjRphw4YNqFWrFmJjYxEYGIhmzZrhypUrMDIyylY/KCgIgYGBKoiUiKj0K+z01blNn5uc8ha6///fj7fPaXcJYA8QIiIiIgBA+/bt8fXXX8PFxQVeXl7Yt28fXr9+jT///FNp/YCAACQkJMgfDx8+LOGIiYiIqCDYA4SIiIhICVNTU9SsWRN37txRulxHRwc6OjolHBUREREVFnuAEBERESnx5s0bREdHw8bGRtWhEBERURFgAoSIiIgIwNixY3Hs2DHcv38fJ0+eRLdu3aCpqYk+ffqoOjQiIiIqArwFhoiIiAjAo0eP0KdPH7x48QIWFhZo2rQpTp06BQsLC1WHRkREREWACRAiIiIiAFu3blV1CERERFSMmAAhIiIios9CYafFJCIiyg+OAUJEREREREREao8JECIiIiIiIiJSe0yAEBEREREREZHaYwKEiIiIiIiIiNQeEyBEREREREREpPaYACEiIiIiIiIitcdpcImIiIioQHKbrnZQn69KMBIioqLB77WygT1AiIiIiIiIiEjtMQFCRERERERERGqPCRAiIiIiIiIiUntMgBARERERERGR2mMChIiIiIiIiIjUHhMgRERERERERKT2OA0uEREREZWI3KaZJCLKj9y+RxoXcr1P2Wducps+N69tcurd4sEeIERERERERESk9pgAISIiIiIiIiK1xwQIEREREREREak9JkCIiIiIiIiISO1xEFSiUiYyso2qQ6AS5OYWquoQiIiIiIjUAnuAEBEREREREZHaYw8QIiIios9ccU0f+ylTNBIRUfHJ7Tv4c5sitzTFyh4gRERERERERKT2PosESEhICOzs7KCrq4tGjRrhzJkzudbfvn07HBwcoKurC2dnZ+zbt6+EIiUiIiJ1V9DrEiIiIiodVJ4A2bZtG/z9/TFlyhScP38erq6u8PLywtOnT5XWP3nyJPr06QNfX19cuHABXbt2RdeuXXHlypUSjpyIiIjUTUGvS4iIiKj0UHkCZMGCBRg0aBB8fHzg6OiIFStWQF9fH+vWrVNaf9GiRWjXrh1++ukn1K5dG9OnT8cXX3yBpUuXlnDkREREpG4Kel1CREREpYdKEyBpaWmIjIyEp6envExDQwOenp6IiIhQuk5ERIRCfQDw8vLKsT4RERFRfhTmuoSIiIhKD5XOAvP8+XNkZmbCyspKodzKygo3btxQuk5cXJzS+nFxcUrrp6amIjU1Vf48ISEBAJCYmPgpoSt1oUuXIt8mfZ7q/f23yvb95k2GyvZNJa84vqvyIyMlTSX7JdUo6uMsa3tCiCLdbnEr6HVJSV5jvE1JKfJtArnHWth9Fsc2iejz9kZkIh0ypCITbyWq+5y/kWUgXZaBVFnGZ/F9U1zfh6q6PsxJbm0pjlg/5TpD7afBDQoKQmBgYLZyW1tbFURDasPERNURUJnBY42Kn8mADcWy3aSkJJio8felOlxj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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "S, d = 800, 3\n", + "scales = np.array([5.0, 1.0, 0.1])\n", + "samples = rng.standard_normal((S, d)) * scales\n", + "\n", + "result = opt.minimize_cvar_py(\n", + " samples.tolist(),\n", + " alpha=0.95,\n", + " n_iter=4000,\n", + " step_size=0.05,\n", + " tol=0.0,\n", + ")\n", + "w = np.asarray(result['w'])\n", + "zeta = result['zeta']\n", + "cvar = result['cvar']\n", + "iters = result['iterations']\n", + "\n", + "print(f'optimal weights = {w}')\n", + "print(f'sum(weights) = {w.sum():.6f}')\n", + "print(f'min(weights) = {w.min():.6f}')\n", + "print(f'zeta (= VaR at opt) = {zeta:.6f}')\n", + "print(f'CVaR(alpha) = {cvar:.6f}')\n", + "print(f'iterations = {iters}')\n", + "\n", + "assert abs(w.sum() - 1.0) < 1e-9, 'weights must sum to one'\n", + "assert w.min() >= -1e-12, 'weights must be non-negative'\n", + "assert w[2] > w[0], 'optimiser must prefer the stable component'\n", + "\n", + "# Verify the reported CVaR against an independent recomputation on the\n", + "# achieved decision w.\n", + "losses_at_w = -samples @ w\n", + "cvar_recomp = opt.cvar_value_py(losses_at_w.tolist(), 0.95)\n", + "print(f'CVaR recomputed = {cvar_recomp:.6f}')\n", + "print(f'|cvar - recomp| = {abs(cvar - cvar_recomp):.2e}')\n", + "\n", + "fig, axes = plt.subplots(1, 2, figsize=(11, 4))\n", + "axes[0].bar(range(d), w, color=['#cc4444', '#cccc44', '#44aa66'])\n", + "axes[0].set_xticks(range(d))\n", + "axes[0].set_xticklabels([f'$w_{i}$' for i in range(d)])\n", + "axes[0].set_ylabel('weight')\n", + "axes[0].set_title('Simplex-projected CVaR-optimal weights')\n", + "axes[0].set_ylim(0, 1)\n", + "\n", + "axes[1].hist(losses_at_w, bins=60, color='slategray', alpha=0.7)\n", + "axes[1].axvline(zeta, color='goldenrod', lw=2, label=f'$\\\\zeta$ = VaR = {zeta:.3f}')\n", + "axes[1].axvline(cvar, color='crimson', lw=2, label=f'CVaR = {cvar:.3f}')\n", + "axes[1].set_xlabel('loss at optimal w')\n", + "axes[1].set_ylabel('frequency')\n", + "axes[1].set_title('Loss distribution at optimal decision')\n", + "axes[1].legend()\n", + "fig.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "d2adfdf7", + "metadata": {}, + "source": [ + "## 5. Convergence of the CVaR sub-gradient solver\n", + "\n", + "We run the solver with an increasing number of iterations and track the\n", + "achieved CVaR objective." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "301f0ae8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:05.853024Z", + "iopub.status.busy": "2026-05-12T09:45:05.852718Z", + "iopub.status.idle": "2026-05-12T09:45:06.985691Z", + "shell.execute_reply": "2026-05-12T09:45:06.983799Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArEAAAGGCAYAAABsTdmlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABwPUlEQVR4nO3deVxUVf8H8M8Msm+y74LiviAGiZq4sVhWbplLJS6l9WRulFuLS1agkY+Wpmm7uaXZZj0qIKQlokEuuaUoqMgqCgLKMnN+f/CbiRGQGRwYZvi8Xy9fMmfOvfd7750z8507554jEUIIEBERERHpEamuAyAiIiIi0hSTWCIiIiLSO0xiiYiIiEjvMIklIiIiIr3DJJaIiIiI9A6TWCIiIiLSO0xiiYiIiEjvMIklIiIiIr3DJJaIiIiI9A6TWGpyS5cuhUQiadCyX375JSQSCdLT05tFPESN4f3330e7du1gZGQEf39/jZdPTEyERCLBrl27tB+cDkkkEixdulTXYWisMd631N3mn3/+2WTbbAy1vT/7+Phg8uTJugmoGfPx8cETTzzR6NtRvL8kJiY2+rbqwyRWR9LS0vDiiy+iXbt2MDMzg42NDR555BGsWbMGd+7cQWpqKiQSCd58880613HhwgVIJBJERkaqvd3JkydDIpEo/5mamqJjx45YvHgx7t69q41dI6IHsH//fsyfPx+PPPIIvvjiC7z33nt11t26dStWr17ddMEZsNLSUixdurRZfDCT7v3666/N8gvTmTNnsHTp0ib9QtSctdJ1AC3RL7/8gqeffhqmpqaIiIhA9+7dUV5ejt9//x3z5s3D6dOnsXHjRnTu3Bnbtm3DO++8U+t6tm7dCgB47rnnNNq+qakpPv30UwBAYWEhfvzxRyxfvhxpaWnYsmXLg+2cGt58800sXLiwQctOnDgR48ePh6mpabOIh0jbDhw4AKlUis8++wwmJib3rbt161b8/fffmDNnTtMEp2N37txBq1aN87FVWlqKZcuWAQAGDRrUKNsg7Th//jyk0sa9Bvfrr79i3bp1zS6RPXPmDJYtW4ZBgwbBx8dH1+HoHJPYJnb58mWMHz8e3t7eOHDgANzc3JTPzZgxAxcvXsQvv/wCAHj22Wfx1ltv4ciRI+jTp0+NdW3btg2dO3fGQw89pFEMrVq1Ukl8X375ZfTr1w/btm3DqlWr4OLi0sC9U3/7Df0gMjIygpGRUbOJpyHkcjnKy8thZmbWZNtszkpKSmBpaanrMJqN3NxcmJub15vAGoLS0lJYWFioXZ9tRn80ZrvW5kUM0m/sTtDEVq5cieLiYnz22WcqCaxC+/btMXv2bABVSSzw7xXX6lJSUnD+/HllnR9//BGPP/443N3dYWpqCl9fXyxfvhwymazemCQSCfr37w8hBC5dulRvfUW/m8TERAQGBsLc3Bw9evRQ/gy3e/du9OjRA2ZmZggICMBff/2lsnxtfZwkEgleeeUV/PDDD+jevTtMTU3RrVs37N27V6VebX3LGiOe2NhY9O/fH61bt4aVlRU6deqE119/XaVOWVkZlixZgvbt28PU1BReXl6YP38+ysrKat23LVu2oFu3bjA1NVXuV1paGtLS0uo95gBw69YtzJ07Fz4+PjA1NYWnpyciIiKQn5+vrJObm4vnn38eLi4uMDMzQ8+ePfHVV1+prCc9PR0SiQQxMTHYuHEjfH19YWpqiocffhjHjh1T1ouJiYFEIkFGRkaNWBYtWgQTExPcvHlTWZacnIxHH30Utra2sLCwwMCBA/HHH3+oLKc41mfOnMEzzzwDOzs79O/fH0BVcr906VK4u7vDwsICgwcPxpkzZ2rt/3br1i3MmTMHXl5eMDU1Rfv27bFixQrI5XKN91Ph3LlzGDt2LJycnGBubo5OnTrhjTfeUKmTmZmJqVOnwsXFRfka/fzzz+s6ZSoqKyuxfPlyZRw+Pj54/fXXVV4vEokEX3zxBUpKSpRdfr788sta1zdo0CD88ssvyMjIUNa998qMXC7Hu+++C09PT5iZmSEkJAQXL16ssS51zl1tFH3jduzYgddffx2urq6wtLTE8OHDcfXq1Rrxdu/eHSkpKRgwYAAsLCyUbUqd163i+Nx7ZUzdc3L37l0sXboUHTt2hJmZGdzc3DB69GikpaUhPT0dTk5OAIBly5Ypj2f1bZ07dw5jxoyBvb09zMzMEBgYiJ9++qnGdk6fPo0hQ4bA3Nwcnp6eeOedd1Rel/eTnZ2NKVOmwNPTE6ampnBzc8OIESNU3u/q6hdcVz/R0tJSvPjii3BwcICNjQ0iIiJU2u393LlzB7NmzYKjoyOsra0xfPhwZGZm1ojhfu365MmTmDx5srLrnKurK6ZOnYobN27U2N7vv/+Ohx9+GGZmZvD19cUnn3xSa1yN/Z4wefJkrFu3DgBUut/dz4N+DgH1v8a+/PJLPP300wCAwYMHK+O6twvM77//jt69e8PMzAzt2rXD119/XWNbly5dwtNPPw17e3tYWFigT58+ygto1V27dg0jR46EpaUlnJ2dMXfu3BqfcTolqEl5eHiIdu3aqV2/X79+wsXFRVRWVqqUR0ZGCgAiLS1NCCHEyJEjxdixY8X7778v1q9fL55++mkBQLz22msqy02aNElYWlrW2M6YMWMEAHH27Nl6Y/L29hadOnUSbm5uYunSpeK///2v8PDwEFZWVuKbb74Rbdq0EdHR0SI6OlrY2tqK9u3bC5lMplx+yZIl4t6XHgDRs2dP4ebmJpYvXy5Wr14t2rVrJywsLER+fr6y3hdffCEAiMuXLzdaPH///bcwMTERgYGBYs2aNWLDhg3itddeEwMGDFDWkclkIjw8XFhYWIg5c+aITz75RLzyyiuiVatWYsSIETX2rUuXLsLJyUksW7ZMrFu3Tvz111/K2L29ves95rdv3xbdu3cXRkZGYtq0aWL9+vVi+fLl4uGHH1auq7S0VHTp0kUYGxuLuXPnig8//FAEBwcLAGL16tXKdV2+fFkAEL169RLt27cXK1asECtXrhSOjo7C09NTlJeXCyGEyMjIEBKJRKxcubJGPO3atROPP/648nF8fLwwMTERffv2FR988IH473//K/z8/ISJiYlITk6ucay7du0qRowYIT7++GOxbt06IYQQ8+fPFwDEk08+KdauXSumTZsmPD09haOjo5g0aZJyHSUlJcLPz084ODiI119/XWzYsEFEREQIiUQiZs+erfF+CiHEiRMnhI2NjXBwcBCLFi0Sn3zyiZg/f77o0aOHsk52drbw9PQUXl5e4u233xbr168Xw4cPFwDEf//733rP4aRJkwQAMWbMGLFu3ToREREhAIiRI0cq62zevFkEBwcLU1NTsXnzZrF582ZlG7/X/v37hb+/v3B0dFTW/f7774UQQiQkJCj3PSAgQPz3v/8VS5cuFRYWFqJ3794q61H33NVGsZ0ePXoIPz8/sWrVKrFw4UJhZmYmOnbsKEpLS5V1Bw4cKFxdXYWTk5OYOXOm+OSTT8QPP/yg9utWiKq2tGTJEo3PSWVlpQgJCREAxPjx48XatWtFVFSUGDJkiPjhhx9EcXGxWL9+vQAgRo0apTyeJ06cEEJUvSfY2tqKrl27ihUrVoi1a9eKAQMGCIlEInbv3q3cTlZWlnBychJ2dnZi6dKl4v333xcdOnQQfn5+Nd63atOvXz9ha2sr3nzzTfHpp5+K9957TwwePFj89ttvdR4DBW9vb5V2oniv7NGjhwgODhYffvihmDFjhpBKpWLAgAFCLpffNxYhhBg7dqwAICZOnCjWrVsnxo4dK3r27Fkjhvu165iYGBEcHCzefvttsXHjRjF79mxhbm4uevfurRLDyZMnhbm5uWjTpo2IiooSy5cvFy4uLspjd7991fZ7wuHDh0VYWJgAoHwtbN68+b7H6kE/h9R5jaWlpYlZs2YJAOL1119XxpWdna0Sg4uLi3j99dfF2rVrxUMPPSQkEon4+++/ldvKzs4WLi4uwtraWrzxxhti1apVomfPnkIqlaq8nktLS0XHjh2FmZmZmD9/vli9erUICAhQnpOEhIT7HpOmwCS2CRUWFgoANZKc+1m3bp0AIPbt26csk8lkwsPDQ/Tt21dZVv3DQuHFF18UFhYW4u7du8oyRRKbl5cn8vLyxMWLF0VMTIyQSCSie/fuar2xeXt7CwDi8OHDyrJ9+/YJAMLc3FxkZGQoyz/55JMaL/a6klgTExNx8eJFZdmJEycEAPHRRx8py+pKYrUZz3//+18BQOTl5dV5DDZv3iykUqk4dOiQSvmGDRsEAPHHH3+o7JtUKhWnT5+usR51k9jFixcLACpvMAqKc7Z69WoBQHzzzTfK58rLy0Xfvn2FlZWVKCoqEkL8+0bu4OAgCgoKlHV//PFHAUD8/PPPyrK+ffuKgIAAle0dPXpUABBff/21cvsdOnQQQ4cOVXn9lJaWirZt24qwsDBlmeJYT5gwQWWd2dnZolWrVioJnRBCLF26VABQ+cBavny5sLS0FP/8849K3YULFwojIyNx5coVjfdzwIABwtraWuW1Uv3YCiHE888/L9zc3FS+VAkhxPjx44WtrW2tbVDh+PHjAoB44YUXVMpfe+01AUAcOHBAWVbXF83aPP7447W+fhTJZZcuXURZWZmyfM2aNQKAOHXqlHL/1D13tVFsx8PDQ/n6EkKIb7/9VgAQa9asUZYNHDhQABAbNmxQWYe6r1shaiZw6p6Tzz//XAAQq1atqrEPiv3Oy8urM0EMCQkRPXr0UHkvlcvlol+/fqJDhw7Ksjlz5ggAKsl/bm6usLW1rTeJvXnzpgAg3n///Trr1HYMFOpKYgMCAlS+sK1cuVIAED/++ON9t5OSkiIAiDlz5qiUT548uc4k9t52LUTtn03btm0TAMTBgweVZSNHjhRmZmYqbfDMmTPCyMio3iS2Md4TZsyYUWO79/Ogn0PqvsZ27txZZwKpiKH6cc3NzRWmpqbi1VdfVZYpXqfVP79u374t2rZtK3x8fJTJtaJtfvvtt8p6JSUlon379s0miWV3giZUVFQEALC2tlZ7mXHjxsHY2FilS8Fvv/2GzMxMZVcCADA3N1f+ffv2beTn5yM4OBilpaU4d+6cyjpLSkrg5OQEJycntG/fHq+99hoeeeQR/Pjjj2oPNdW1a1f07dtX+TgoKAgAMGTIELRp06ZGuTrdFEJDQ+Hr66t87OfnBxsbG7WW1WY8rVu3BlDVRaOunwF37tyJLl26oHPnzsjPz1f+GzJkCAAgISFBpf7AgQPRtWvXGutJT09X6y7T7777Dj179sSoUaNqPKc4Z7/++itcXV0xYcIE5XPGxsaYNWsWiouL8dtvv6ksN27cONjZ2SkfBwcHA1A9NuPGjUNKSopKl4cdO3bA1NQUI0aMAAAcP34cFy5cwDPPPIMbN24oj0VJSQlCQkJw8ODBGsfxpZdeUnkcHx+PyspKvPzyyyrlM2fOrLG/O3fuRHBwMOzs7FSOfWhoKGQyGQ4ePKjRfubl5eHgwYOYOnWqymsF+PfYCiHw3Xff4cknn4QQQmW7Q4cORWFhIVJTU2vEqvDrr78CQI2RRF599VUAqPVnPG2YMmWKSt/ae/e9IeeuNhERESrva2PGjIGbm5tyvxVMTU0xZcoUlTJNX7cKmpyT7777Do6OjrW+nup7zysoKMCBAwcwduxY5Xtrfn4+bty4gaFDh+LChQvIzMxU7kufPn3Qu3dv5fJOTk4q79V1UfSDTkxMVPvnfnVMnz4dxsbGysf/+c9/0KpVqxrn5l6KLk/qtEmFe9s1oPrZdPfuXeTn5yvv8VCcH5lMhn379mHkyJEqbbBLly4YOnTofeMEtP+e0FAN/RzS5DWmTgyK/QGqXn+dOnVS2bdff/0VvXv3Vnb5AAArKytMnz4d6enpOHPmjLKem5sbxowZo6xnYWGB6dOnq31MGhtv7GpCNjY2AKqSTHU5ODhg6NCh+P7777FhwwaYmZlh69ataNWqFcaOHausd/r0abz55ps4cOCAMllWKCwsVHlsZmaGn3/+GUBVf5eVK1cqbyZR170f9ra2tgAALy+vWsvVeVO+d50AYGdn16BlHySecePG4dNPP8ULL7yAhQsXIiQkBKNHj8aYMWOUd8ReuHABZ8+eVfaju1dubq7K47Zt29a7D/eTlpaGp5566r51MjIy0KFDhxp37Xbp0kX5fHX3HjPFm3r1Y/P0008jMjJS2edRCIGdO3fiscceU76eL1y4AACYNGlSnbEVFhaqfGjcezwUsbVv316l3N7eXmU5xfZOnjyp9rGvbz8Vb+7du3evM/68vDzcunULGzduxMaNG9XabnUZGRmQSqU19s/V1RWtW7eutd+xNtS37w05d7Xp0KGDymOJRIL27dvX+ILm4eFR44Y1TV+3Cpqck7S0NHTq1KlBN3BevHgRQgi89dZbeOutt+rcjoeHBzIyMpQJSnWdOnWqdzumpqZYsWIFXn31Vbi4uKBPnz544oknEBERAVdXV43jVrj33FhZWcHNzU15bgoLC3Hnzh3l8yYmJrC3t1e+Zu9tq/e+hqur7X2uoKAAy5Ytw/bt22u0EcVnU15eHu7cuVMjVqDq2NWXcGv7PaGhGvo5pMlrTNMYgJqfo3W9Tqu3ue7duyMjIwPt27ev8UVPnddzU2ES24RsbGzg7u6Ov//+W6PlnnvuOezZswd79uzB8OHD8d133yE8PFzZYG/duoWBAwfCxsYGb7/9Nnx9fWFmZobU1FQsWLCgxpUUIyMjhIaGKh8PHToUnTt3xosvvljrjQq1qWuEgLrKhRANXueDLNuQdZqbm+PgwYNISEjAL7/8gr1792LHjh0YMmQI9u/fDyMjI8jlcvTo0QOrVq2qdR33vmlp8gWhqahzbNzd3REcHIxvv/0Wr7/+Oo4cOYIrV65gxYoVyjqK19f7779f58D8VlZWKo8f5HjI5XKEhYVh/vz5tT7fsWNHlccP8rqqvk2gqi3WlfD5+fnVu56mnlSjvn1vyLl7ENpsB9o6J+pu57XXXqvzquD9EjtNzJkzB08++SR++OEH7Nu3D2+99RaioqJw4MAB9OrV677LqnMTb21mz56tchPdwIEDGzxWbm3nd+zYsTh8+DDmzZsHf39/WFlZQS6X49FHH1X7hrf66OI9oTYN/RzS5mussfatuWIS28SeeOIJbNy4EUlJSSo/O9zP8OHDYW1tja1bt8LY2Bg3b95U+XkqMTERN27cwO7duzFgwABl+eXLl9Vav5ubG+bOnYtly5bVOZxXSyOVShESEoKQkBCsWrUK7733Ht544w0kJCQouz2cOHECISEhTZKY+Pr61vvlx9vbGydPnoRcLle5qqXoTuLt7d2gbY8bNw4vv/wyzp8/jx07dsDCwgJPPvmkSmxA1Ze06l+ONKGI7eLFiypXc27cuFHj6oivry+Ki4sbvK17tWvXDgDue3ydnJxgbW0NmUzWoO16e3tDLpfjwoULyqsdAJCTk4Nbt241+Nw86GtPG+cO+PeKroIQAhcvXlQriWzo61aTc+Lr64vk5GRUVFSo/LReXV3HUvH6MDY2rnc73t7eNY4FUDWuqbp8fX3x6quv4tVXX8WFCxfg7++PDz74AN988w2Aqqtqt27dUlmmvLwcWVlZta7vwoULGDx4sPJxcXExsrKyMGzYMADA/PnzVYZcVFyVVLxmL1++rHKFtLbRLepy8+ZNxMfHY9myZVi8eLFKTNUpRgRp6LHT9nsC0LRfODV5jWkjLm9v71qP671tztvbG3///TeEECrb1eT13NjYJ7aJzZ8/H5aWlnjhhReQk5NT4/m0tDSsWbNGpczc3ByjRo3Cr7/+ivXr18PS0lLZHxH495tX9W9a5eXl+Pjjj9WOa+bMmbCwsEB0dLSmu2RwCgoKapQprlIphhYZO3YsMjMzsWnTphp179y5g5KSErW2pe4QW0899RROnDiB77//vsZzivM+bNgwZGdnY8eOHcrnKisr8dFHH8HKygoDBw5UK6batm1kZIRt27Zh586deOKJJ1TGfwwICICvry9iYmJQXFxcY/m8vLx6txESEoJWrVph/fr1KuVr166tUXfs2LFISkrCvn37ajx369YtVFZWqrNbSk5OThgwYAA+//xzXLlyReU5xbE1MjLCU089he+++67WZLe+fVQkDPfOrqW4kv/4449rFLOCpaVlje5CmtDGuQOAr7/+WqWb1K5du5CVlYXHHnus3mUb+rrV5Jw89dRTyM/Pr/X1pDjHivFq700QnZ2dMWjQIHzyySe1JorVtzNs2DAcOXIER48eVXlenUlkSktLa8ya6OvrC2tra5UhjXx9fWv08dy4cWOdV2I3btyIiooK5eP169ejsrJSeW66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tWd2J6Bmr7i4GBcvXlQ+vnz5Mo4fPw57e3u0adMGkZGRmDRpEgIDA9G7d2+sXr0aJSUlmDJlig6jJqJ7sS0TGY5m0Z4fdFgFosaWkJAgANT4N2nSJGWdjz76SLRp00aYmJiI3r17iyNHjuguYCKqFdsykeFoDu1ZIgTn7CMiIiIi/cI+sURERESkd5jEEhEREZHeYRJLRERERHqHSSwRERER6R0msURERESkd5jEEhEREZHeYRJLRERERHqHSSwRERER6R0msURERESkd5jEEhEZAIlEgh9++EHXYRARNRkmsUREBiArKwuPPfYYACA9PR0SiQTHjx/XbVBERI2ola4DICKiB+fq6too662oqICxsXGjrJuI6EHwSiwRUTMxaNAgzJo1C/Pnz4e9vT1cXV2xdOlStZat3p2gbdu2AIBevXpBIpFg0KBBynqffvopunTpAjMzM3Tu3Bkff/yx8jnFFdwdO3Zg4MCBMDMzw5YtW7S1e0REWsUrsUREzchXX32FyMhIJCcnIykpCZMnT8YjjzyCsLAwtddx9OhR9O7dG3FxcejWrRtMTEwAAFu2bMHixYuxdu1a9OrVC3/99RemTZsGS0tLTJo0Sbn8woUL8cEHH6BXr14wMzPT+j4SEWkDk1giombEz88PS5YsAQB06NABa9euRXx8vEZJrJOTEwDAwcFBpZvBkiVL8MEHH2D06NEAqq7YnjlzBp988olKEjtnzhxlHSKi5opJLBFRM+Ln56fy2M3NDbm5uQ+83pKSEqSlpeH555/HtGnTlOWVlZWwtbVVqRsYGPjA2yMiamxMYomImpF7b6KSSCSQy+UPvN7i4mIAwKZNmxAUFKTynJGRkcpjS0vLB94eEVFjYxJLRGRgFH1gZTKZsszFxQXu7u64dOkSnn32WV2FRkSkNUxiiYgMjLOzM8zNzbF37154enrCzMwMtra2WLZsGWbNmgVbW1s8+uijKCsrw59//ombN28iMjJS12ETEWmEQ2wRERmYVq1a4cMPP8Qnn3wCd3d3jBgxAgDwwgsv4NNPP8UXX3yBHj16YODAgfjyyy+VQ3IREekTiRBC6DoIIiIiIiJN8EosEREREekdJrFERM3cli1bYGVlVeu/bt266To8IiKdYHcCIqJm7vbt28jJyan1OWNjY3h7ezdxREREusckloiIiIj0DrsTEBEREZHeYRJLRERERHqHSSwRERER6R0msURERESkd5jEEhEREZHeYRJLRERERHqHSSwRERER6R0msURERESkd/4PijXGuXOMZFIAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "iters_grid = [50, 100, 250, 500, 1000, 2000, 4000, 8000]\n", + "cvar_curve = []\n", + "for nit in iters_grid:\n", + " res = opt.minimize_cvar_py(\n", + " samples.tolist(),\n", + " alpha=0.95,\n", + " n_iter=nit,\n", + " step_size=0.05,\n", + " tol=0.0,\n", + " )\n", + " cvar_curve.append(res['cvar'])\n", + "\n", + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "ax.semilogx(iters_grid, cvar_curve, 'o-', color='navy')\n", + "ax.set_xlabel('n_iter')\n", + "ax.set_ylabel('achieved CVaR objective')\n", + "ax.set_title('CVaR minimiser: convergence of the projected sub-gradient method')\n", + "ax.grid(True, alpha=0.3)\n", + "fig.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "19d5ffc8", + "metadata": {}, + "source": [ + "## Verification summary\n", + "\n", + "Verified against analytic ground truth:\n", + "\n", + "- `historical_var` matches `numpy.quantile(L, alpha, method='higher')` — error = 0.\n", + "- `parametric_var` matches $\\mu + \\sigma\\, \\Phi^{-1}(\\alpha)$ — error $< 10^{-6}$.\n", + "- `cvar_value` matches the empirical tail mean $\\frac{1}{n-k}\\sum_{i>k} L_{(i)}$ — error $< 10^{-10}$.\n", + "- `minimize_cvar` returns weights on the unit simplex (sum = 1, non-negative) and concentrates on the stable component, with the reported CVaR equal to the recomputed empirical CVaR on the achieved decision." + ] + } + ], + "metadata": { + "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.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebooks/07_topology.ipynb b/examples/notebooks/07_topology.ipynb new file mode 100644 index 0000000..bb63b01 --- /dev/null +++ b/examples/notebooks/07_topology.ipynb @@ -0,0 +1,444 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4a4162d3", + "metadata": {}, + "source": [ + "# Topological Data Analysis — `optimiz-rs`\n", + "\n", + "Companion notebook for the [`topology` module documentation](https://optimiz-r.readthedocs.io/en/latest/algorithms/topology.html).\n", + "\n", + "Demonstrates the three public functions exposed via PyO3 bindings:\n", + "\n", + "1. `vietoris_rips_filtration(points, max_dim, max_eps)`\n", + "2. `persistent_homology(points, max_dim, max_eps)`\n", + "3. `bottleneck_distance(diagram_a, diagram_b)`\n", + "\n", + "Synthetic point clouds are used so that the topology is known analytically and results can be verified against ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "37f6083a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:10.216100Z", + "iopub.status.busy": "2026-05-12T09:45:10.215503Z", + "iopub.status.idle": "2026-05-12T09:45:11.425071Z", + "shell.execute_reply": "2026-05-12T09:45:11.422244Z" + } + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from optimizr import _core as opt\n", + "\n", + "rng = np.random.default_rng(0)\n", + "\n", + "def plot_diagram(ax, diagram, title):\n", + " if diagram:\n", + " finite_d = max((p['death'] for p in diagram if np.isfinite(p['death'])), default=1.0)\n", + " else:\n", + " finite_d = 1.0\n", + " cap = max(finite_d * 1.1, 1e-3)\n", + " ax.plot([0, cap], [0, cap], '--', color='gray', linewidth=1)\n", + " colors = {0: 'tab:blue', 1: 'tab:red', 2: 'tab:green'}\n", + " for p in diagram:\n", + " d = cap if not np.isfinite(p['death']) else p['death']\n", + " ax.scatter(p['birth'], d, c=colors.get(p['dim'], 'k'),\n", + " marker='o' if np.isfinite(p['death']) else '^',\n", + " label=f\"H{p['dim']}\")\n", + " handles, labels = ax.get_legend_handles_labels()\n", + " seen = {}\n", + " for h, l in zip(handles, labels):\n", + " seen.setdefault(l, h)\n", + " ax.legend(seen.values(), seen.keys(), loc='lower right')\n", + " ax.set_xlabel('birth'); ax.set_ylabel('death')\n", + " ax.set_title(title); ax.set_aspect('equal')\n", + "\n", + "def plot_barcode(ax, diagram, title, cap=None):\n", + " if cap is None:\n", + " cap = max((p['death'] for p in diagram if np.isfinite(p['death'])), default=1.0) * 1.1\n", + " colors = {0: 'tab:blue', 1: 'tab:red', 2: 'tab:green'}\n", + " for i, p in enumerate(sorted(diagram, key=lambda q: (q['dim'], q['birth']))):\n", + " d = cap if not np.isfinite(p['death']) else p['death']\n", + " ax.plot([p['birth'], d], [i, i], color=colors.get(p['dim'], 'k'), linewidth=2)\n", + " ax.set_xlabel('scale'); ax.set_yticks([])\n", + " ax.set_title(title)" + ] + }, + { + "cell_type": "markdown", + "id": "a4aa92a9", + "metadata": {}, + "source": [ + "## 1. Vietoris–Rips filtration\n", + "\n", + "$$\n", + "\\mathrm{VR}_{\\varepsilon}(X) \\;=\\; \\big\\{\\, \\sigma \\subseteq X : \\mathrm{diam}(\\sigma) \\le \\varepsilon \\,\\big\\}.\n", + "$$\n", + "\n", + "We build the filtration on a small synthetic cloud (4 points forming a unit square) and inspect the simplices." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "08979bf6", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:11.431246Z", + "iopub.status.busy": "2026-05-12T09:45:11.430642Z", + "iopub.status.idle": "2026-05-12T09:45:11.443235Z", + "shell.execute_reply": "2026-05-12T09:45:11.440591Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dim=0 vertices=[0] filt=0.0000\n", + "dim=0 vertices=[1] filt=0.0000\n", + "dim=0 vertices=[2] filt=0.0000\n", + "dim=0 vertices=[3] filt=0.0000\n", + "dim=1 vertices=[0, 1] filt=1.0000\n", + "dim=1 vertices=[0, 3] filt=1.0000\n", + "dim=1 vertices=[1, 2] filt=1.0000\n", + "dim=1 vertices=[2, 3] filt=1.0000\n", + "dim=1 vertices=[0, 2] filt=1.4142\n", + "dim=1 vertices=[1, 3] filt=1.4142\n", + "dim=2 vertices=[0, 1, 2] filt=1.4142\n", + "dim=2 vertices=[0, 1, 3] filt=1.4142\n", + "dim=2 vertices=[0, 2, 3] filt=1.4142\n", + "dim=2 vertices=[1, 2, 3] filt=1.4142\n", + "\n", + "VR filtration cardinality check passed.\n" + ] + } + ], + "source": [ + "square = [[0.0, 0.0], [1.0, 0.0], [1.0, 1.0], [0.0, 1.0]]\n", + "simplices = opt.vietoris_rips_filtration(square, 2, 2.0)\n", + "for s in simplices:\n", + " print(f\"dim={s['dim']} vertices={s['vertices']} filt={s['filtration']:.4f}\")\n", + "\n", + "n0 = sum(1 for s in simplices if s['dim'] == 0)\n", + "n1 = sum(1 for s in simplices if s['dim'] == 1)\n", + "assert n0 == 4, f\"expected 4 vertices, got {n0}\"\n", + "assert n1 == 6, f\"expected 6 edges (complete graph on 4 nodes), got {n1}\"\n", + "print('\\nVR filtration cardinality check passed.')" + ] + }, + { + "cell_type": "markdown", + "id": "0b928d51", + "metadata": {}, + "source": [ + "## 2. Persistent homology\n", + "\n", + "$$\n", + "D_k(X) \\;=\\; \\big\\{\\, (b_i, d_i) : 0 \\le b_i < d_i \\le \\infty \\,\\big\\}.\n", + "$$\n", + "\n", + "Three synthetic geometries with known Betti numbers:\n", + "\n", + "* **Unit circle**: $\\beta_0 = 1$, $\\beta_1 = 1$ (one essential loop).\n", + "* **Two clusters**: $\\beta_0 = 2$ at small scale (one essential cluster after merge).\n", + "* **Figure-eight**: $\\beta_1 = 2$ (two loops)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "46531ba9", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:11.448291Z", + "iopub.status.busy": "2026-05-12T09:45:11.447795Z", + "iopub.status.idle": "2026-05-12T09:45:13.875097Z", + "shell.execute_reply": "2026-05-12T09:45:13.871754Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#H1 features detected on the circle: 253\n", + "longest H1 lifetime: birth=0.2611 death=inf\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABPAAAAGGCAYAAAD1gH94AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACHJ0lEQVR4nOzde1wVdf7H8fcB5OIF8MZNSfGSSqgkJWGWliiomVabableMi3LNrMybVPCStcuaplpa6W25lqaWlqLmUmtRZq3kkRXXbwDXhBQFFDO/P7wx1mPgHI7nAO8no/Heeye73xn5jNf5kwzH7/z/ZoMwzAEAAAAAAAAwCE52TsAAAAAAAAAAMUjgQcAAAAAAAA4MBJ4AAAAAAAAgAMjgQcAAAAAAAA4MBJ4AAAAAAAAgAMjgQcAAAAAAAA4MBJ4AAAAAAAAgAMjgQcAAAAAAAA4MBJ4AAAAAAAAgAMjgVeNDR8+XM2bN7fpPg4ePCiTyaRFixZV2DabN2+u4cOHV9j28D/x8fEymUyKj4+vsG2+8sorMplMFba90jCZTHrllVfssm8AAACgOuCe+vIz6D333GPvMCqMPZ/RYDsk8Oys4Id16tSpIpeHhISoe/fuFbKv8+fP65VXXqnQ5A1QVU2bNk2rV6+2dxgAAACoYRYtWiSTyWT5uLu768Ybb9TYsWOVlpZm7/BKZOnSpZo9e7a9wwBqFBd7BwDbWbBggcxms+X7+fPnFRsbK0kVlhRs1qyZLly4oFq1alXI9oDSuHDhglxcynYZmzZtmv70pz9pwIABFRsUAAAAUAJTp05VUFCQcnJytGnTJs2bN0/ffPONEhMTVbt27UqLoyz31EuXLlViYqLGjRtnm6AAFEICrxqrjKRawb8YXU92drbq1Klj83hQs5Tk3AMAAAAcUe/evXXLLbdIkh577DE1bNhQM2fO1JdffqnBgweXa9vnz58vcRKQe+rKkZOTI1dXVzk58SIkyoYzp4opGMPs888/1+uvv66mTZvK3d1dPXr00P79+63qXjkG3sGDB9W4cWNJUmxsrKW79vXGOsjIyNCzzz6r5s2by83NTU2bNtXQoUMtr/wWNQbe8OHDVbduXR04cEB9+vRRvXr19Mgjj0iSzGaz3nnnHbVv317u7u5q3LixoqOjtXXr1uvGMW7cOAUGBsrNzU2tWrXSjBkzrHoYVrb169era9eu8vb2Vt26ddWmTRu99NJLluV5eXmaMmWKwsLC5OXlpTp16uiOO+7Qxo0brbZT0IZvvfWW5s6dqxYtWqh27drq1auXjhw5IsMw9Oqrr6pp06by8PBQ//79lZ6ebrWNgjEbvv32W4WGhsrd3V3BwcFauXJliY5l8+bNio6OlpeXl2rXrq1u3brpp59+KlRv06ZNuvXWW+Xu7q6WLVvqgw8+KHF7de/eXSEhIdq2bZu6dOkiDw8PBQUFaf78+YXqnjhxQiNHjpSvr6/c3d3VsWNHLV68uFC9q8/hglfS9+/fr+HDh8vb21teXl4aMWKEzp8/b7Vedna2Fi9ebPktFIy7ePbsWY0bN85yzvv4+Khnz57avn17iY8VAAAAKK27775bkpScnGwpW7JkicLCwuTh4aEGDRpo0KBBOnLkiNV6V95n33nnnapdu7bluWTr1q2KiopSo0aNLPffjz76qNX6V99TX+9+uHv37vr666916NAhy730lWOv5+bmKiYmRq1atZKbm5sCAwM1YcIE5ebmFtrv2LFjtXr1aoWEhMjNzU033XST4uLiCrXNsWPHNHLkSAUEBMjNzU1BQUEaM2aM8vLyLHUq4pnxes9T6enpev7559W+fXvVrVtXnp6e6t27t3777TeregXP7cuWLdPLL7+sJk2aqHbt2srKypJ0+fmrT58+ql+/vurUqaMOHTronXfesdrG999/rzvuuEN16tSRt7e3+vfvr6SkpEIxl+YZrSTnExwXPfCqqL/97W9ycnLS888/r8zMTL3xxht65JFHtHnz5iLrN27cWPPmzdOYMWN033336f7775ckdejQodh9nDt3TnfccYeSkpL06KOPqlOnTjp16pS++uorHT16VI0aNSp23UuXLikqKkpdu3bVW2+9ZfnXn5EjR2rRokXq3bu3HnvsMV26dEn//ve/9csvv1j+9elq58+fV7du3XTs2DE9/vjjuuGGG/Tzzz9r0qRJSklJscvYC3/88YfuuecedejQQVOnTpWbm5v2799vlfTKysrShx9+qMGDB2vUqFE6e/asPvroI0VFRWnLli0KDQ212uann36qvLw8Pf3000pPT9cbb7yhgQMH6u6771Z8fLxefPFF7d+/X3PmzNHzzz+vjz/+2Gr9ffv26aGHHtITTzyhYcOGaeHChXrwwQcVFxennj17Fnss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oZLYt2+ffv/9d8sYflc7ceJEsetmZmbqwoULpdpfAS8vL6uL7ZUeeughffjhh3rsscc0ceJE9ejRQ/fff7/+9Kc/WQ1KunjxYr399tvas2eP1X80g4KCCm3z6r9pQTIvMDCwyPKr/9atWrUqdK7ceOONki6Ps+fn51don/v27ZN0+T8sxcnMzFRubq4uXLig1q1bF1repk0by39EricgIKDQZCZXxnjbbbfp0KFDat26daHBXdu1aydJOnTo0HX3c63fh6en5zXXfeONNzRs2DAFBgYqLCxMffr00dChQ9WiRYvr7hcAAAAoqblz5+rGG2+Ui4uLfH191aZNG8s98L59+2QYRpH331LhCQubNGli1cFDkrp166YHHnhAsbGxmjVrlrp3764BAwbo4YcflpubW7Fxled+eN++fUpKSirxs9vV9+3S5Xv3gmedkydPKisrSyEhIdfdb1mfGQuU5HmqYEz3999/X8nJycrPz7fULXjl90pXP/cVvCZ9reMpeN5p06ZNoWXt2rXTunXrlJ2drbNnz5b4Ga205xMcEwk8OyuY8ae4JNP58+eLnBXI2dm5yPqGYVRccOVw5b9MlJfZbFbPnj01YcKEIpcXXFSL8swzzxQ5+UFJLFy40DKxwdU8PDz0448/auPGjfr6668VFxenzz77THfffbe+/fZbOTs7a8mSJRo+fLgGDBigF154QT4+PnJ2dtb06dMtF+4rFfc3teXfuqD34JtvvlloTL4CdevWLTTgrKMrT5sNHDhQd9xxh1atWqVvv/1Wb775pmbMmKGVK1eqd+/eFR0qAAAAaqjOnTsXOw642WyWyWTSv/71ryLvbQvGnCtQVMcDk8mkFStW6JdfftGaNWu0bt06Pfroo3r77bf1yy+/FNpGgfLcD5vNZrVv314zZ84scvnVnRMq6lmnPM+MpTFt2jRNnjxZjz76qF599VU1aNBATk5OGjduXJFvZhXXIaSylfZ8gmMigWdnzZo1kyTt3bu30MXs/PnzOnLkiHr16lUh+yrJa69XatmypRITEytk3wXbW7dundLT00vVC69ly5Y6d+6cIiMjS73PCRMmaMiQIaVeT5Juuummay53cnJSjx491KNHD82cOVPTpk3TX//6V23cuFGRkZFasWKFWrRooZUrV1q1fVGvEFeE/fv3yzAMq3395z//kSSrWaGuVNBd3dPT85rt27hxY3l4eFh67F1p7969JY7x+PHjys7OtuqFd3WMzZo10++//y6z2WyVBN6zZ49leUW41u/B399fTz75pJ588kmdOHFCnTp10uuvv04CDwAAAJWiZcuWMgxDQUFB5U4+3Xbbbbrtttv0+uuva+nSpXrkkUe0bNkyPfbYY8Wuc7374eLupVu2bKnffvtNPXr0KPXzZ1EaN24sT0/P6z6XlueZsUBJnqdWrFihu+66Sx999JHVuhkZGdec5PHKOCUpMTGx2FivzBFcbc+ePWrUqJHq1Kkjd3f3Ej+jVeT5BPthDDw769Gjh1xdXTVv3rxCGfu///3vunTpUoUlDQpmgs3IyChR/QceeEC//fabVq1aVWhZWXp/PfDAAzIMQ7GxsaXa3sCBA5WQkKB169YVWpaRkaFLly4Vu25wcLAiIyPL9PH39y92u+np6YXKCnqwFfRWK/iXjSuPbfPmzUpISCh2u+Vx/Phxq79VVlaWPvnkE4WGhhb5+qwkhYWFqWXLlnrrrbd07ty5QstPnjwp6fKxREVFafXq1Tp8+LBleVJSUpF/l+JcunTJalrzvLw8ffDBB2rcuLHCwsIkSX369FFqaqo+++wzq/XmzJmjunXrqlu3biXe37XUqVOn0G8hPz9fmZmZVmU+Pj4KCAiocr0QAQAAUHXdf//9cnZ2VmxsbKFnJcMwdPr06etu48yZM4XWvfqZ5WolvR+uU6dOoXrS5We3Y8eOacGCBYWWXbhwQdnZ2deN+0pOTk4aMGCA1qxZo61btxZaXnB85XlmLFCS5ylnZ+dCbbp8+fJC45MXp1OnTgoKCtLs2bMLPYsUbNff31+hoaFavHixVZ3ExER9++236tOnjyWWkj6jVcT5BPujB56d+fj4aMqUKXr55Zd155136t5771Xt2rX1888/65///Kd69eqlfv36Vci+PDw8FBwcrM8++0w33nijGjRooJCQkGLfv3/hhRe0YsUKPfjgg3r00UcVFham9PR0ffXVV5o/f746duxYqv3fdddd+vOf/6x3331X+/btU3R0tMxms/7973/rrrvu0tixY4uN46uvvtI999yj4cOHKywsTNnZ2dq1a5dWrFihgwcPluhfOyrS1KlT9eOPP6pv375q1qyZTpw4offff19NmzZV165dJUn33HOPVq5cqfvuu099+/ZVcnKy5s+fr+Dg4CKTZeV14403auTIkfr111/l6+urjz/+WGlpaVq4cGGx6zg5OenDDz9U7969ddNNN2nEiBFq0qSJjh07po0bN8rT01Nr1qyRJMXGxiouLk533HGHnnzySUtS7aabbtLvv/9eohgDAgI0Y8YMHTx4UDfeeKM+++wz7dy5U3//+98t4y6MHj1aH3zwgYYPH65t27apefPmWrFihX766SfNnj1b9erVK39j6XLy8rvvvtPMmTMVEBCgoKAgtWnTRk2bNtWf/vQndezYUXXr1tV3332nX3/9VW+//XaF7BcAAAC4npYtW+q1117TpEmTdPDgQQ0YMED16tVTcnKyVq1apdGjR+v555+/5jYWL16s999/X/fdd59atmyps2fPasGCBfL09LQkga529uzZEt0Ph4WF6bPPPtP48eN16623qm7duurXr5/+/Oc/6/PPP9cTTzyhjRs36vbbb1d+fr727Nmjzz//XOvWrSv2teHiTJs2Td9++626deum0aNHq127dkpJSdHy5cu1adMmeXt7V8gzY0mep+655x5NnTpVI0aMUJcuXbRr1y59+umnJR4v28nJSfPmzVO/fv0UGhqqESNGyN/fX3v27NEff/xhSby9+eab6t27tyIiIjRy5EhduHBBc+bMkZeXl1555RXL9kr6jFYR5xMcQGVOeYviLVmyxLjtttuMOnXqGG5ubkbbtm2N2NhYIycnx6pewXTUy5cvtypPTk42JBkLFy60lA0bNqzQ1N4///yzERYWZri6uhaaLrwop0+fNsaOHWs0adLEcHV1NZo2bWoMGzbMOHXq1DX3W6dOnSK3d+nSJePNN9802rZta7i6uhqNGzc2evfubWzbts1Sp1mzZsawYcOs1jt79qwxadIko1WrVoarq6vRqFEjo0uXLsZbb71l5OXlXfMYbGHDhg1G//79jYCAAMPV1dUICAgwBg8ebDVtudlsNqZNm2Y0a9bMcHNzM26++WZj7dq1hf4uBW345ptvWu2juL91wbTzV06j3qxZM6Nv377GunXrjA4dOljOoavXLdjmxo0brcp37Nhh3H///UbDhg0NNzc3o1mzZsbAgQONDRs2WNX74YcfLOdPixYtjPnz5xsxMTFGSS4l3bp1M2666SZj69atRkREhOHu7m40a9bMeO+99wrVTUtLM0aMGGE0atTIcHV1Ndq3b291jhW4+hwuiOXkyZNFtllycrKlbM+ePcadd95peHh4GJKMYcOGGbm5ucYLL7xgdOzY0ahXr55Rp04do2PHjsb7779/3eMDAAAASqKo+/nifPHFF0bXrl2NOnXqGHXq1DHatm1rPPXUU8bevXstdQrus6+2fft2Y/DgwcYNN9xguLm5GT4+PsY999xjbN261arelffUJb0fPnfunPHwww8b3t7ehiSr55u8vDxjxowZxk033WS4ubkZ9evXN8LCwozY2FgjMzPTar9PPfVUobiLeh48dOiQMXToUKNx48aGm5ub0aJFC+Opp54ycnNzLXXK88xY0uepnJwc47nnnjP8/f0NDw8P4/bbbzcSEhKMbt26Gd26dbPUK+5ZrsCmTZuMnj17Wtq4Q4cOxpw5c6zqfPfdd8btt99ueHh4GJ6enka/fv2M3bt3F9pWaZ7RSnI+wXGZDMNBZj0AUGbNmzdXSEiI1q5da+9QitW9e3edOnWqQsdVBAAAAACgJmAMPAAAAAAAAMCBkcADAAAAAAAAHBgJPAAAAAAAAMCBMQYeAAAAAAAA4MDogQcAAAAAAAA4MBJ4AAAAAAAAgANzsXcA9mA2m3X8+HHVq1dPJpPJ3uEAQIkZhqGzZ88qICBATk78GwwAACg9nocAwDGU5vmuRibwjh8/rsDAQHuHAQBlduTIETVt2tTeYQAAgCqI5yEAcCwleb6rkQm8evXqSbrcQJ6ennaOBgBKLisrS4GBgZbrGAAAQGnxPAQAjqE0z3c1MoFX0E3c09OT/2ABqJJ43QUAAJQVz0MA4FhK8nzHAEoAAAAAAACAAyOBBwAAAAAAADgwEngAAAAAAACAAyOBBwAAAAAAADgwEngAAAAAAACAAyOBBwAAAAAAADgwF3sHAFQn+WZDW5LTdeJsjnzquatzUAM5O11/OmgAAAAAAIDi2LQH3o8//qh+/fopICBAJpNJq1evvu468fHx6tSpk9zc3NSqVSstWrSoUJ25c+eqefPmcnd3V3h4uLZs2VLxwQOlFJeYoq4zvtfgBb/omWU7NXjBL+o643vFJabYOzQAAAAAAFCF2TSBl52drY4dO2ru3Lklqp+cnKy+ffvqrrvu0s6dOzVu3Dg99thjWrdunaXOZ599pvHjxysmJkbbt29Xx44dFRUVpRMnTtjqMIDriktM0Zgl25WSmWNVnpqZozFLtpPEAwAAAAAAZWYyDMOolB2ZTFq1apUGDBhQbJ0XX3xRX3/9tRITEy1lgwYNUkZGhuLi4iRJ4eHhuvXWW/Xee+9JksxmswIDA/X0009r4sSJJYolKytLXl5eyszMlKenZ9kPCtDl12a7zvi+UPKugEmSn5e7Nr14N6/Toty4fgEAgPLifgIAHENprscONQZeQkKCIiMjrcqioqI0btw4SVJeXp62bdumSZMmWZY7OTkpMjJSCQkJxW43NzdXubm5lu9ZWVkVGzhqtC3J6cUm7yTJkJSSmaMtyemKaNmw8gIDAAAAYCX5gT/p0qlT9g4DQDXj0qiRgr5YYdt92HTrpZSamipfX1+rMl9fX2VlZenChQs6c+aM8vPzi6yzZ8+eYrc7ffp0xcbG2iRm2JcjTBpx4mzxybuy1KtIjtA+AAAAgKPI2btXunTJ3mEAqGYunT5t8304VALPViZNmqTx48dbvmdlZSkwMNCOEaEixCWmKHbNbqveb/5e7orpF6zoEP9Ki8OnnnuF1qsojtI+AAAAgMMgeQfAFirh2mLTSSxKy8/PT2lpaVZlaWlp8vT0lIeHhxo1aiRnZ+ci6/j5+RW7XTc3N3l6elp9ULU50qQRnYMayN/LXcX1azPpcuKsc1CDSovJkdoHAAAAAACUj0Ml8CIiIrRhwwarsvXr1ysiIkKS5OrqqrCwMKs6ZrNZGzZssNRB9ZdvNhS7ZreKmn2loCx2zW7lmytlfhY5O5kU0y9Ykgol8Qq+x/QLrrRXVx2tfQAAAAAAQPnYNIF37tw57dy5Uzt37pQkJScna+fOnTp8+LCky6+2Dh061FL/iSee0H//+19NmDBBe/bs0fvvv6/PP/9czz77rKXO+PHjtWDBAi1evFhJSUkaM2aMsrOzNWLECFseChxIaSaNqCzRIf6aN6ST/LysX5P183LXvCGdKvWVVUdsHwAAAAAAUHY2HQNv69atuuuuuyzfC8ahGzZsmBYtWqSUlBRLMk+SgoKC9PXXX+vZZ5/VO++8o6ZNm+rDDz9UVFSUpc5DDz2kkydPasqUKUpNTVVoaKji4uIKTWyB6stRJ42IDvFXz2A/u08a4ajtAwAAAAAAysamCbzu3bvLMIp/TW/RokVFrrNjx45rbnfs2LEaO3ZsecNDFeWok0ZIl1+njWjZsNL3eyVHbh8AAAAAAFB6DjUGHlASjjhphCOhfQAAAAAAqF5I4KHKcbRJIxwN7QMAAAAAQPVCAg9VkiNNGuGIaB8AAAAAAKoPm46BB9iSo0wa4ahoHwAAAAAAqgcSeKjSHGHSCEdG+wAAAAAAYGMutk+vkcADAAAAAAAASsnF1/fy/zZqZPt92XwPAAAAAAAAQDXT+of4StsXCTyUWb7ZYHw1XBfnCQAAAAAA5UMCD2USl5ii2DW7lZKZYynz93JXTL9gZjiFBecJAAAAAADl52TvAFD1xCWmaMyS7VZJGUlKzczRmCXbFZeYYqfI4Eg4TwAAAAAAqBgk8FAq+WZDsWt2yyhiWUFZ7JrdyjcXVQM1BecJAAAAAAAVhwQeSmVLcnqhHlVXMiSlZOZoS3J65QUFh8N5AgAAAABAxSGBh1I5cbb4pExZ6qF64jwBAAAAAKDikMBDqfjUc6/QeqieOE8AAAAAAKg4JPBQKp2DGsjfy12mYpabdHmW0c5BDSozLDgYzhMAAAAAACoOCTyUirOTSTH9giWpUHKm4HtMv2A5OxWXukFNwHkCAAAAAEDFIYGHUosO8de8IZ3k52X9+qOfl7vmDemk6BB/O0UGR8J5AgAAAABAxXCxdwComqJD/NUz2E9bktN14myOfOpdfh2SHlW4EucJAAAAAADlRwIPZebsZFJEy4b2DgMOjvMEAAAAAIDy4RVaAAAAAAAAwIGRwAMAAAAAAAAcGAk8AAAAAAAAwIGRwAMAAAAAAAAcWKUk8ObOnavmzZvL3d1d4eHh2rJlS7F1u3fvLpPJVOjTt29fS53hw4cXWh4dHV0ZhwIAAAAAAABUKpvPQvvZZ59p/Pjxmj9/vsLDwzV79mxFRUVp79698vHxKVR/5cqVysvLs3w/ffq0OnbsqAcffNCqXnR0tBYuXGj57ubmZruDAAAAAAAAAOzE5j3wZs6cqVGjRmnEiBEKDg7W/PnzVbt2bX388cdF1m/QoIH8/Pwsn/Xr16t27dqFEnhubm5W9erXr2/rQwEAAAAAAAAqnU0TeHl5edq2bZsiIyP/t0MnJ0VGRiohIaFE2/joo480aNAg1alTx6o8Pj5ePj4+atOmjcaMGaPTp09XaOwAAAAAAACAI7DpK7SnTp1Sfn6+fH19rcp9fX21Z8+e666/ZcsWJSYm6qOPPrIqj46O1v3336+goCAdOHBAL730knr37q2EhAQ5OzsX2k5ubq5yc3Mt37Oyssp4RAAAAAAAAEDlsvkYeOXx0UcfqX379urcubNV+aBBgyz/v3379urQoYNatmyp+Ph49ejRo9B2pk+frtjYWJvHCwAAAAAAgBrApXJTajZ9hbZRo0ZydnZWWlqaVXlaWpr8/PyuuW52draWLVumkSNHXnc/LVq0UKNGjbR///4il0+aNEmZmZmWz5EjR0p+EFVEvtlQwoHT+nLnMSUcOK18s2HvkAC74fcAAAAAACgvF1/fYj/ubdpUbiy23Lirq6vCwsK0YcMGDRgwQJJkNpu1YcMGjR079prrLl++XLm5uRoyZMh193P06FGdPn1a/v7+RS53c3Or1rPUxiWmKHbNbqVk5ljK/L3cFdMvWNEhRbcJUF3xewAAAAAAVITWP8TbOwQLm89CO378eC1YsECLFy9WUlKSxowZo+zsbI0YMUKSNHToUE2aNKnQeh999JEGDBighg0bWpWfO3dOL7zwgn755RcdPHhQGzZsUP/+/dWqVStFRUXZ+nAcTlxiisYs2W6VrJCk1MwcjVmyXXGJKXaKDKh8/B4AAAAAANWRzV/Yfeihh3Ty5ElNmTJFqampCg0NVVxcnGVii8OHD8vJyTqPuHfvXm3atEnffvttoe05Ozvr999/1+LFi5WRkaGAgAD16tVLr776arXuZVeUfLOh2DW7VdTLgYYkk6TYNbvVM9hPzk6mSo4OqFz8HgAAAAAA1VWljLg3duzYYl+ZjY+PL1TWpk0bGUbRY1Z5eHho3bp1FRlelbUlOb1QT6MrGZJSMnO0JTldES0bFlsPqA74PQAAAAAAqiubv0IL2zlxtvhkRVnqAVUZvwcAAAAAQHVFAq8K86nnXqH1gKqM3wMAAAAAoLoigVeFdQ5qIH8vdxU3mpdJl2ff7BzUoDLDAuyC3wMAAAAAoLoigVeFOTuZFNMvWJIKJS0Kvsf0C2bAftQI/B4AAAAAANUVCbwqLjrEX/OGdJKfl/VrgX5e7po3pJOiQ/ztFBlQ+fg9AAAAAACqo0qZhRa2FR3ir57BftqSnK4TZ3PkU+/ya4L0NEJNxO8BAAAAAFDdkMCrJpydTIpo2dDeYQAOgd8DAAAAAKA64RVaAAAAAAAAwIGRwAMAAAAAAAAcGAk8AAAAAAAAwIGRwAMAAAAAAAAcGAk8AAAAAAAAwIGRwAMAAAAAAAAcGAk8AAAAAAAAwIGRwAMAAAAAAAAcGAk8AAAAAAAAwIGRwAMAAAAAAAAcGAk8AAAAAAAAwIGRwAMAAAAAAACu5OJi7wisOFY0AAAAAAAAQAVy8fUt/TqNGtkgkrIjgQcAAAAAAIBqq/UP8fYOodx4hRYAAAAAAABwYCTwAAAAAAAAAAfGK7SVLN9saEtyuk6czZFPPXd1DmogZyeTvcMCUAL8fgEAAAAA9lApPfDmzp2r5s2by93dXeHh4dqyZUuxdRctWiSTyWT1cXd3t6pjGIamTJkif39/eXh4KDIyUvv27bP1YZRbXGKKus74XoMX/KJnlu3U4AW/qOuM7xWXmGLv0ABcB79fAAAAAIC92DyB99lnn2n8+PGKiYnR9u3b1bFjR0VFRenEiRPFruPp6amUlBTL59ChQ1bL33jjDb377ruaP3++Nm/erDp16igqKko5OTm2Ppwyi0tM0Zgl25WSaR1jamaOxizZThIAcGD8fgEAAAAA9mTzBN7MmTM1atQojRgxQsHBwZo/f75q166tjz/+uNh1TCaT/Pz8LB/fK6b7NQxDs2fP1ssvv6z+/furQ4cO+uSTT3T8+HGtXr3a1odTJvlmQ7FrdssoYllBWeya3co3F1UDgD3x+wUAAAAA2JtNE3h5eXnatm2bIiMj/7dDJydFRkYqISGh2PXOnTunZs2aKTAwUP3799cff/xhWZacnKzU1FSrbXp5eSk8PLzYbebm5iorK8vqU5m2JKcX6rlzJUNSSmaOtiSnV15QAEqE3y8AAAAAwN5smsA7deqU8vPzrXrQSZKvr69SU1OLXKdNmzb6+OOP9eWXX2rJkiUym83q0qWLjh49KkmW9UqzzenTp8vLy8vyCQwMLO+hlcqJsyV7tbek9QBUHn6/AAAAAAB7q5RJLEojIiJCQ4cOVWhoqLp166aVK1eqcePG+uCDD8q8zUmTJikzM9PyOXLkSAVGfH0+9dyvX6kU9QBUHn6/AAAAAAB7s2kCr1GjRnJ2dlZaWppVeVpamvz8/Eq0jVq1aunmm2/W/v37JcmyXmm26ebmJk9PT6tPZeoc1ED+Xu4yFbPcJMnfy12dgxpUZlgASoDfLwAAAADA3myawHN1dVVYWJg2bNhgKTObzdqwYYMiIiJKtI38/Hzt2rVL/v7+kqSgoCD5+flZbTMrK0ubN28u8TYrm7OTSTH9giWpUBKg4HtMv2A5OxWXIgBgL/x+AQAAAAD2ZvNXaMePH68FCxZo8eLFSkpK0pgxY5Sdna0RI0ZIkoYOHapJkyZZ6k+dOlXffvut/vvf/2r79u0aMmSIDh06pMcee0zS5Rlqx40bp9dee01fffWVdu3apaFDhyogIEADBgyw9eGUWXSIv+YN6SQ/L+vX7Py83DVvSCdFh/jbKTIA18PvFwAAAABgTy623sFDDz2kkydPasqUKUpNTVVoaKji4uIsk1AcPnxYTk7/yyOeOXNGo0aNUmpqqurXr6+wsDD9/PPPCg4OttSZMGGCsrOzNXr0aGVkZKhr166Ki4uTu7tjj0EVHeKvnsF+2pKcrhNnc+RT7/Jrd/TcARwfv18AAAAAgL2YDMMw7B1EZcvKypKXl5cyMzMrfTw8ACgPrl8AAKC8avL9RFLbdvYOAYAdtNuTZO8QilSa67HDzUILAAAAAAAA4H9I4AEAAAAAAAAOjAQeAAAAAAAA4MBI4AEAAAAAAAAOjAQeAAAAAAAA4MBI4AEAAAAAAAAOjAQeAAAAAAAA4MBI4AEAAAAAAKB6cnGxdwQVonocBQAAAAAAAKoVF1/f8m+jUaMKiMT+SOABAAAAAADA4bT+Id7eITgMXqEFAAAAAAAAHBgJPAAAAAAAAMCBkcADAAAAAAAAHBgJPAAAAAAAAMCBkcADAAAAAAAAHBgJPAAAgApgMpn0yiuv2DsMh9S8eXMNHz7c8j0+Pl4mk0nx8fF2iwkAAKAqIYEHAACqpEWLFslkMlk+7u7uuvHGGzV27FilpaXZO7wSWbp0qWbPnm3vMAAAAODgXOwdAAAAQHlMnTpVQUFBysnJ0aZNmzRv3jx98803SkxMVO3atSstjgsXLsjFpXS3VkuXLlViYqLGjRtnm6Ac1J133qkLFy7I1dXV3qEAAABUCSTwAABAlda7d2/dcsstkqTHHntMDRs21MyZM/Xll19q8ODB5dr2+fPnS5wEdHd3L9e+ahInJye7tNelS5dkNptJHAIAgCqHV2gBAEC1cvfdd0uSkpOTLWVLlixRWFiYPDw81KBBAw0aNEhHjhyxWq979+4KCQnRtm3bdOedd6p27dp66aWXJElbt25VVFSUGjVqJA8PDwUFBenRRx+1Wv/qMfDOnj2rcePGqXnz5nJzc5OPj4969uyp7du3W/b39ddf69ChQ5bXgJs3b25ZPzc3VzExMWrVqpXc3NwUGBioCRMmKDc3t9B+x44dq9WrVyskJERubm666aabFBcXV6htjh07ppEjRyogIEBubm4KCgrSmDFjlJeXZ6mTkZGhcePGKTAwUG5ubmrVqpVmzJghs9l83bY3DEOvvfaamjZtqtq1a+uuu+7SH3/8UaheUWPg/fvf/9aDDz6oG264wXK8zz77rC5cuFBo/eXLlys4OFju7u4KCQnRqlWrNHz4cKv2O3jwoEwmk9566y3Nnj1bLVu2lJubm3bv3q28vDxNmTJFYWFh8vLyUp06dXTHHXdo48aNVvu5chtz585VixYtVLt2bfXq1UtHjhyRYRh69dVX1bRpU3l4eKh///5KT0+/bjsBAACUFj3wAABAtXLgwAFJUsOGDSVJr7/+uiZPnqyBAwfqscce08mTJzVnzhzdeeed2rFjh7y9vS3rnj59Wr1799agQYM0ZMgQ+fr66sSJE+rVq5caN26siRMnytvbWwcPHtTKlSuvGccTTzyhFStWaOzYsQoODtbp06e1adMmJSUlqVOnTvrrX/+qzMxMHT16VLNmzZIk1a1bV5JkNpt17733atOmTRo9erTatWunXbt2adasWfrPf/6j1atXW+1r06ZNWrlypZ588knVq1dP7777rh544AEdPnzY0g7Hjx9X586dlZGRodGjR6tt27Y6duyYVqxYofPnz8vV1VXnz59Xt27ddOzYMT3++OO64YYb9PPPP2vSpElKSUm57nh9U6ZM0WuvvaY+ffqoT58+2r59u3r16mWVICzO8uXLdf78eY0ZM0YNGzbUli1bNGfOHB09elTLly+31Pv666/10EMPqX379po+fbrOnDmjkSNHqkmTJkVud+HChcrJydHo0aPl5uamBg0aKCsrSx9++KEGDx6sUaNG6ezZs/roo48UFRWlLVu2KDQ01Gobn376qfLy8vT0008rPT1db7zxhgYOHKi7775b8fHxevHFF7V//37NmTNHzz//vD7++OPrHi8AAEBpkMADAABVWmZmpk6dOqWcnBz99NNPmjp1qjw8PHTPPffo0KFDiomJ0WuvvWbpTSdJ999/v26++Wa9//77VuWpqamaP3++Hn/8cUvZ6tWrdebMGX377beWV3Ul6bXXXrtmXF9//bVGjRqlt99+21I2YcIEy//v2bOnmjRpojNnzmjI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Zq6V/teT7cr1DMPQO++8Y1UvICBAISEh+uSTT3Tu3DlL+Q8//KBdu3Zddz/X2t/mzZtLfH8KAABQ2WzaA+/UqVPKz8+Xr6+vVbmvr6/27NlTom28+OKLCggIsEoCRkdH6/7771dQUJAOHDigl156Sb1791ZCQkKRrzLk5uZa3SxnZWWV8YikE2eLfyAvSz0A1RPXCsAxtGzZUq+99pomTZqkgwcPasCAAapXr56Sk5O1atUqjR49Ws8///w1t7F48WK9//77uu+++9SyZUudPXtWCxYskKenp/r06VPkOmfPnlXTpk31pz/9SR07dlTdunX13Xff6ddff7WalTYsLMwy3Mitt96qunXrql+/fvrzn/+szz//XE888YQ2btyo22+/Xfn5+dqzZ48+//xzrVu3rtjXhoszbdo0ffvtt+rWrZtGjx6tdu3aKSUlRcuXL9emTZvk7e2tF154QV999ZXuueceDR8+XGFhYcrOztauXbu0YsUKHTx4UI0aNSpy+40bN9bzzz+v6dOn65577lGfPn20Y8cO/etf/yp2nQJt27ZVy5Yt9fzzz+vYsWPy9PTUF198UWTPvWnTpql///66/fbbNWLECJ05c0bvvfeeQkJCrJJ613LPPfdo5cqVuu+++9S3b18lJydr/vz5Cg4OLvE2AAAAKlOlTGJRVn/729+0bNkyxcfHy93d3VI+aNAgy/9v3769OnTooJYtWyo+Pl49evQotJ3p06crNja2QmLyqed+/UqlqAegeuJaATiOiRMn6sYbb9SsWbMs9wOBgYHq1auX7r333uuu361bN23ZskXLli1TWlqavLy81LlzZ3366afFTpBQu3ZtPfnkk/r2228tM+G2atVK77//vsaMGWOp9+STT2rnzp1auHChZs2apWbNmqlfv35ycnLS6tWrNWvWLH3yySdatWqVateurRYtWuiZZ54p0+vATZo00ebNmzV58mR9+umnysrKUpMmTdS7d2/Vrl3bEvcPP/ygadOmafny5frkk0/k6empG2+8UbGxsVYzsRbltddek7u7u+bPn6+NGzcqPDxc3377rfr27XvN9WrVqqU1a9boL3/5i6ZPny53d3fdd999Gjt2rDp27GhVt1+/fvrnP/+pV155RRMnTlTr1q21aNEiLV68WH/88UeJ2mL48OFKTU3VBx98oHXr1ik4OFhLlizR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z9/fX/Pnz9cXX3yhL774QoGBgerevbu2b99u79Dszmw2a9y4cbr99tsVEhJSbD1bXg9dyr2FKmjixImaMWPGNeskJSWpbdu2lRSR/ZW0TcrqyjHy2rdvL39/f/Xo0UMHDhxQy5Yty7xdVE0RERGKiIiwfO/SpYvatWunDz74QK+++qodIwMAAAAqH/fHcARt2rRRmzZtLN+7dOmiAwcOaNasWfrHP/5hx8js76mnnlJiYqI2bdpktxhqZALvueee0/Dhw69Zp0WLFmXatp+fnyQpLS1N/v7+lvK0tDSFhoaWaZuVoaRt4ufnV2jg1UuXLik9Pd1y7CURHh4uSdq/f3+VSuA1atRIzs7OSktLsypPS0sr9vj9/PxKVb+qKUubXK1WrVq6+eabtX//fluEWCUUd554enrKw8PDTlEBAICahvvd8uP+2D64n7aNzp072zVp5QjGjh1rmcCzadOm16xry+thjXyFtnHjxmrbtu01P66urmXadlBQkPz8/LRhwwZLWVZWljZv3mz1LyqOpqRtEhERoYyMDG3bts2y7vfffy+z2WxJypXEzp07JckqyVkVuLq6KiwszOrvazabtWHDhmL/vhEREVb1JWn9+vUOfT6URlna5Gr5+fnatWtXlTsfKlJ1P08AAEDVwP1u+XF/bB+ch7axc+fOGnseGoahsWPHatWqVfr+++8VFBR03XVseh6WexqMau7QoUPGjh07jNjYWKNu3brGjh07jB07dhhnz5611GnTpo2xcuVKy/e//e1vhre3t/Hll18av//+u9G/f38jKCjIuHDhgj0OocJFR0cbN998s7F582Zj06ZNRuvWrY3Bgwdblh89etRo06aNsXnzZsMwDGP//v3G1KlTja1btxrJycnGl19+abRo0cK488477XUI5bJs2TLDzc3NWLRokbF7925j9OjRhre3t5GammoYhmH8+c9/NiZOnGip/9NPPxkuLi7GW2+9ZSQlJRkxMTFGrVq1jF27dtnrECpcadskNjbWWLdunXHgwAFj27ZtxqBBgwx3d3fjjz/+sNchVLizZ89arheSjJkzZxo7duwwDh06ZBiGYUycONH485//bKn/3//+16hdu7bxwgsvGElJScbcuXMNZ2dnIy4uzl6HAAAAaijud8uP++Py4366/ErbhrNmzTJWr15t7Nu3z9i1a5fxzDPPGE5OTsZ3331nr0OwqzFjxhheXl5GfHy8kZKSYvmcP3/eUqcyr4ck8K5j2LBhhqRCn40bN1rqSDIWLlxo+W42m43Jkycbvr6+hpubm9GjRw9j7969lR+8jZw+fdoYPHiwUbduXcPT09MYMWKEVUIzOTnZqo0OHz5s3HnnnUaDBg0MNzc3o1WrVsYLL7xgZGZm2ukIym/OnDnGDTfcYLi6uhqdO3c2fvnlF8uybt26GcOGDbOq//nnnxs33nij4erqatx0003G119/XckR215p2mTcuHGWur6+vkafPn2M7du32yFq2ymYgv3qT0E7DBs2zOjWrVuhdUJDQw1XV1ejRYsWVtcVAACAysT9bvlxf1w+3E+XX2nbcMaMGUbLli0Nd3d3o0GDBkb37t2N77//3j7BO4Ci2u7q/E9lXg9N/x8UAAAAAAAAAAdUI8fAAwAAAAAAAKoKEngAAAAAAACAAyOBBwAAAAAAADgwEngAAAAAAACAAyOBBwAAAAAAADgwEngAAAAAAACAAyOBBwAAAAAAADgwEngAAAAAAACAAyOBBwAAAAAAqo1FixbJ29vb3mEAFYoEHgAAAAAAAODASOABAAAAAAAADowEHgAAAAAAqHQrVqxQ+/bt5eHhoYYNGyoy8v/au5dQaNs4juM/4y2iLJXkkETORUpZaTQTjY1sbIiF5BArpTRRJAtD5LQRxUYsSCmMRLOYBZFzs5kViYWckhnmXSgl76NnwTz32/P91L267//9v67tr+tQrIeHB0nS5OSkMjIyFBYWppiYGDU1Nb3XORwOZWVlKTIyUnFxcWpoaND9/f2XvRYXF5Wbm6vw8HAlJSWpq6tLfr//R+cHfCcCPAAAAAAAEFQXFxeqrKxUbW2tTk5OtLm5qfLycgUCAY2NjamxsVF1dXU6ODjQ0tKSkpOT32tNJpOGhoZ0dHSk6elpbWxsqK2t7Ze9tre3VVVVpZaWFh0fH2tiYkJTU1Pq6ekJxlSBbxESCAQCf3oQAAAAAADg77G7u6u8vDx5vV4lJCR8eBcbG6uamhp1d3f/1r/m5+dVX1+v6+trSW+XWLS2turm5kaSVFxcLLPZrPb29veamZkZtbW16fz8/HsmBPywf/70AAAAAAAAwN8lJydHZrNZWVlZslqtslgsqqiokM/n0/n5ucxm8y9r19fX1dvbq9PTU93e3srv9+vp6UmPj4+KiIj49P3+/r5cLteHFXcvLy9f1gBGwxZaAAAAAAAQVKGhoVpbW9PKyorS09M1PDys1NRUXV5eflnn9Xpls9mUnZ2thYUF7ezsaGRkRJL0/Pz8nzX39/fq6urS3t7e+3NwcCCPx6Pw8PBvnxvwE1iBBwAAAAAAgi4kJESFhYUqLCyU3W5XQkKC1tbWlJiYKKfTqaKiok81Ozs7en19VX9/v0ymtzVJc3NzX/bJzc3V2dnZh3P0gP8bAjwAAAAAABBUbrdbTqdTFotF0dHRcrvdurq6Ulpamjo7O1VfX6/o6GiVlJTo7u5OLpdLzc3NSk5Ols/n0/DwsMrKyuRyuTQ+Pv5lL7vdLpvNpvj4eFVUVMhkMml/f1+Hh4e/fc4e8KexhRYAAAAAAARVVFSUtra2VFpaqpSUFHV0dKi/v18lJSWqrq7W4OCgRkdHlZGRIZvNJo/HI+nt7DyHw6G+vj5lZmZqdnZWvb29X/ayWq1aXl7W6uqq8vPzVVBQoIGBgU+XZwBGxi20AAAAAAAAgIGxAg8AAAAAAAAwMAI8AAAAAAAAwMAI8AAAAAAAAAADI8ADAAAAAAAADIwADwAAAAAAADAwAjwAAAAAAADAwAjwAAAAAAAAAAMjwAMAAAAAAAAMjAAPAAAAAAAAMDACPAAAAAAAAMDACPAAAAAAAAAAAyPAAwAAAAAAAAzsX9aDTaoI3n/1AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# (a) Unit circle\n", + "n = 24\n", + "theta = np.linspace(0, 2*np.pi, n, endpoint=False)\n", + "circle = np.column_stack([np.cos(theta), np.sin(theta)]).tolist()\n", + "diag_circle = opt.persistent_homology(circle, 1, 2.5)\n", + "\n", + "# Essential H1 generators (death == +inf) on a sampled circle should equal 1.\n", + "h1 = [p for p in diag_circle if p['dim'] == 1]\n", + "h1_long = sorted(h1, key=lambda p: -((np.inf if not np.isfinite(p['death']) else p['death']) - p['birth']))\n", + "print(f\"#H1 features detected on the circle: {len(h1)}\")\n", + "print(f\"longest H1 lifetime: birth={h1_long[0]['birth']:.4f} death={h1_long[0]['death']:.4f}\")\n", + "assert len(h1_long) >= 1, \"expected at least one H1 loop on the circle\"\n", + "\n", + "fig, axes = plt.subplots(1, 3, figsize=(13, 4))\n", + "pts = np.array(circle)\n", + "axes[0].scatter(pts[:, 0], pts[:, 1], c='tab:blue'); axes[0].set_aspect('equal')\n", + "axes[0].set_title('Unit circle — sampled points')\n", + "plot_diagram(axes[1], diag_circle, 'Persistence diagram')\n", + "plot_barcode(axes[2], diag_circle, 'Persistence barcode')\n", + "plt.tight_layout(); plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "041e4b7c", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:13.881084Z", + "iopub.status.busy": "2026-05-12T09:45:13.880529Z", + "iopub.status.idle": "2026-05-12T09:45:17.446400Z", + "shell.execute_reply": "2026-05-12T09:45:17.444241Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "long-lived H0 components (lifetime > 1.0): 2\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABQkAAAGGCAYAAADYVwfrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABzCElEQVR4nO3de1yUZf7/8feAAoKConJQEVECz6KUiuapMPNUtNDBfq2HzLZWd3PdanO3zUNt1LaarpVWfs221hXUtLLSzFOa51PrccgWDymgpoKioDL37w+XWUdAAWHugXk9H4951Nxz3ff9uWecuZn3XPd1WQzDMAQAAAAAAADAbXmYXQAAAAAAAAAAcxESAgAAAAAAAG6OkBAAAAAAAABwc4SEAAAAAAAAgJsjJAQAAAAAAADcHCEhAAAAAAAA4OYICQEAAAAAAAA3R0gIAAAAAAAAuDlCQgAAAAAAAMDNERICAAC4AIvFookTJ5pdhktq1qyZhg8fbr+/Zs0aWSwWrVmzxrSaAADF43x29bw1aNAgs8uoMBMnTpTFYjG7DDgBISEAAHBLc+fOlcVisd98fHwUFRWlMWPGKCsry+zySmXevHmaNm2a2WUAAEzE+QxARalhdgEAAABmmjx5siIiIpSXl6f169dr5syZ+vLLL7Vnzx75+vo6rY6LFy+qRo2y/Wk2b9487dmzR2PHjq2colxUz549dfHiRXl5eZldCgC4DM5nAG4VISEAAHBr/fv31+233y5JeuKJJ1S/fn1NnTpVn376qYYMGXJL275w4UKpv5j5+Pjc0r7ciYeHhynP15UrV2Sz2QgnAbgkzmfuJS8vT15eXvLw4AJRVBz+NQEAAFzjrrvukiSlp6fbl3388ceKjY1VrVq1FBgYqEceeURHjx51WK93795q27attm/frp49e8rX11d//OMfJUnbtm1Tv3791KBBA9WqVUsRERF6/PHHHda/fgync+fOaezYsWrWrJm8vb0VFBSkvn37aseOHfb9ffHFFzp8+LD9ErNmzZrZ18/Pz9eECRMUGRkpb29vhYWF6fnnn1d+fn6R/Y4ZM0ZLlixR27Zt5e3trTZt2mjZsmVFnptjx45p5MiRatSokby9vRUREaGnn35aly5dsrc5e/asxo4dq7CwMHl7eysyMlKvv/66bDbbTZ97wzD0yiuvqEmTJvL19VWfPn20d+/eIu2KG5Nw3bp1evDBB9W0aVP78f7ud7/TxYsXi6y/YMECtW7dWj4+Pmrbtq0WL16s4cOHOzx/hw4dksVi0d/+9jdNmzZNLVq0kLe3t/bt26dLly7ppZdeUmxsrAICAuTn56cePXpo9erVDvu5dhtvv/22mjdvLl9fX91zzz06evSoDMPQyy+/rCZNmqhWrVq6//77dfr06Zs+TwBQGpzPzDufFfr6668VExMjHx8ftW7dWp988onD46dPn9azzz6rdu3aqXbt2vL391f//v31/fffO7QrPO/Nnz9fL774oho3bixfX1/l5ORIkjZv3qwBAwaoXr168vPzU/v27TV9+nSHbaxatUo9evSQn5+f6tatq/vvv1/79+8vUvP69et1xx13yMfHRy1atNC7775b4vGV5t8TqhZ6EgIAAFzjxx9/lCTVr19fkvSXv/xFf/7zn/XQQw/piSee0MmTJzVjxgz17NlTO3fuVN26de3r/vzzz+rfv78eeeQRPfbYYwoODtaJEyd0zz33qGHDhnrhhRdUt25dHTp0qMgXhes99dRTWrhwocaMGaPWrVvr559/1vr167V//3516tRJf/rTn5Sdna2ffvpJb775piSpdu3akiSbzab77rtP69ev15NPPqlWrVpp9+7devPNN5WWlqYlS5Y47Gv9+vX65JNP9Otf/1p16tTR3//+dyUmJurIkSP25+H48ePq3Lmzzp49qyeffFItW7bUsWPHtHDhQl24cEFeXl66cOGCevXqpWPHjulXv/qVmjZtqg0bNmj8+PHKyMi46XhTL730kl555RUNGDBAAwYM0I4dO3TPPfc4fGkryYIFC3ThwgU9/fTTql+/vrZs2aIZM2bop59+0oIFC+ztvvjiCz388MNq166dkpOTdebMGY0cOVKNGzcudrsffPCB8vLy9OSTT8rb21uBgYHKycnR7NmzNWTIEI0aNUrnzp3T//3f/6lfv37asmWLYmJiHLbxz3/+U5cuXdJvfvMbnT59Wn/961/10EMP6a677tKaNWv0hz/8QQcPHtSMGTP07LPPas6cOTc9XgC4Gc5n5p3PJOmHH37Qww8/rKeeekrDhg3TBx98oAcffFDLli1T3759JUn/+c9/tGTJEj344IOKiIhQVlaW3n33XfXq1Uv79u1To0aNHLb58ssvy8vLS88++6zy8/Pl5eWl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T59++qnq1KljH1cwICBAtWrVkiQNHTpUjRs3VnJysiTpmWeeUa9evTRlyhQNHDhQ8+fP17Zt2/Tee++ZdhyAq2nQoIHuv/9+tWnThoAQAADgFtCTEAAAJ5g5c6ays7PVu3dvhYaG2m8pKSn2NkeOHFFGRob9frdu3TRv3jy999576tChgxYuXKglS5bccLITwF2kpaVp9+7dslgsat++PQEhAADALaInIWCC3r17S5LWrFljah0AnMcwjJu2Ke4z4cEHH9SDDz5YCRUBVVdaWppSUlLUqlUrtW3blolKAAAAKgA9CVFlFc5eeLObOwZxr776qpYsWWJ2GQAAVLjCgDA6OloPPPAAASEAAEAFoSchqqyPPvrI4f4//vEPrVixosjyVq1aObMsl/Dqq68qKSlJCQkJZpcCAECF+fHHH+0BYWJiIpcYAwAAUx2I6Wh2CRWKkBBV1mOPPeZwf9OmTVqxYkWR5agYeXl58vLykocHHZABAOYICgpS586dFR8fT0AIAABMZ+TlmV1CheLbPqqtX/ziF+rUqZPDssGDB8tiseizzz6zL9u8ebMsFou++uor+7L//Oc/evDBBxUYGChfX1917dpVX3zxRan3/fHHH6tz587y9fVVvXr11LNnT3399dcltp87d64sFosOHTrksHzNmjVFLpn+4YcflJiYqJCQEPn4+KhJkyZ65JFHlJ2dLenqZdi5ubn68MMP7ZdcDx8+3L7+sWPH9Pjjjys4OFje3t5q06aN5syZU+x+58+frxdffFGNGzeWr6+vcnJydPnyZU2aNEm33XabfHx8VL9+fd15551asWJFqZ8fAADK4scff9T58+dVp04d9evXj4AQAACgEtCTENVWjx499OmnnyonJ0f+/v4yDEPfffedPDw8tG7dOt13332SpHXr1snDw0Pdu3eXJGVlZalbt266cOGCfvvb36p+/fr68MMPdd9992nhwoV64IEHbrjfSZMmaeLEierWrZsmT54sLy8vbd68WatWrdI999xzS8d06dIl9evXT/n5+frNb36jkJAQHTt2TEuXLtXZs2cVEBCgjz76SE888YQ6d+6sJ598UpLUokUL+7F17dpVFotFY8aMUcOGDfXVV19p5MiRysnJ0dixYx329/LLL8vLy0vPPvus8vPz5eXlpYkTJyo5Odm+j5ycHG3btk07duxQ3759b+n4AAC4ntVqVWpqqrp06XLL51EAAACUjJAQ1VaPHj1ks9n03XffqX///tqzZ4/OnDmjBx98UOvWrbO3W7dunTp06CB/f39J0muvvaasrCytW7dOd955pyRp1KhRat++vcaNG6f777+/xEtuDx48qMmTJ+uBBx7QwoULHdqVZmbTm9m3b5/S09O1YMECJSUl2Ze/9NJL9v9/7LHH9NRTT6l58+ZFLr3+05/+pIKCAu3evVv169eXJD311FMaMmSIJk6cqF/96leqVauWvX1eXp62bdvmsOyLL77QgAED9N57793y8QAAcCOFAWFUVJTuvvtus8sBAACo1rjcGNVWx44dVbt2bX377beSroaBTZo00dChQ7Vjxw5duHBBhmFo/fr16tGjh329L7/8Up07d7YHhJJUu3ZtPfnkkzp06JD27dtX4j6XLFkim82ml156qUiQWBGzLwYEBEiSli9frgsXLpRpXcMwtGjRIg0ePFiGYejUqVP2W79+/ZSdna0dO3Y4rDNs2DCHgFCS6tatq7179+qHH364tYMBAOAGrg0Ik5KSuMQYAACgkhESotry9PRUXFycvdfgunXr1KNHD915550qKCjQpk2btG/fPp0+fdohJDx8+LCio6OLbK9wluTDhw+XuM8ff/xRHh4eat26dQUfzVUREREaN26cZs+erQYNGqhfv356++237eMR3sjJkyd19uxZvffee2rYsKHDbcSIEZKkEydOFNnf9SZPnqyzZ88qKipK7dq103PPPad///vfFXOAAAD8V35+vlq2bElACAAA4CSEhKjW7rzzTm3dulV5eXn2kLBu3bpq27at1q1bZw8Qrw0JzVBSL8OCgoIiy6ZMmaJ///vf+uMf/6iLFy/qt7/9rdq0aaOffvrphvuw2WySrl6OvGLFimJvheMyFrq+F6Ek9ezZUz/++KPmzJmjtm3bavbs2erUqZNmz55d2sMFAKBEp06dkmEYat++PQEhAACAEzEmIaq1Hj166NKlS/rXv/6lY8eO2cPAnj17at26dQoODlZUVJSCg4Pt64SHh8tqtRbZ1oEDB+yPl6RFixay2Wzat2+fYmJiSl1nvXr1JElnz551WF5Sr8V27dqpXbt2evHFF7VhwwZ1795ds2bN0iuvvCKp+NCxYcOGqlOnjgoKChQfH1/q2ooTGBioESNGaMSIETp//rx6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x+xyAMABk5UAQOWqEiGhh4eHmjRpYsq+/f39q0UgUIjjcW3V7Xik6ndMHE/ZVdUehIVeffVVjR49WmFhYSooKFDr1q115coV/b//9//04osvlno727ZtU58+fez3x40bJ0kaNmyY5s6dq4yMDB05csT++KVLl/T73/9ex44dk6+vr9q3b69vvvnGYRtARbo2IExMTOQSYwAAADdTJUJCAADM4uXlpffff18vvfSSdu/erfPnz6tjx4667bbbyrSd3r1733Bsxrlz5zrcf/755/X888+Xp2SgzPLy8rR48WICQgAAADdGSAgAwHUKe/mVZNOmTfb/nzp1amWXA1Q6Hx8fDR06VEFBQQSEAFzSgZiOZpcAANUeIWEJvL29NWHChGozSyTH49qq2/FI1e+YOB73snPnTof7O3bs0JUrVxQdHS3p6mWZnp6eio2NNaM8oMJYrVZZrVYNGjSISXEAuDQjL8/sEgCg2rMYN7r2CQAANzd16lStWbNGH374oerVqydJOnPmjEaMGKEePXro97//vckVliwnJ0cBAQHKzs6uVmNpomJYrValpqYqKipKSUlJ9CCEy+MzzVxmP//7W7Zy+j4BwEytDuyvsG2V9jPco8L2CABANTRlyhQlJyfbA0JJqlevnl555RVNmTLFxMqA8iMgBAAAwPUICQEAuIGcnBydPHmyyPKTJ0/q3LlzJlQE3JqMjAwCQgBVCuMRAoBzMCYhAAA38MADD2jEiBGaMmWKOnfuLEnavHmznnvuOf3iF78wuTqg7IKDg3XvvfeqU6dOBIQAqgTGIwQA5yAkBADgBmbNmqVnn31Wjz76qC5fvixJqlGjhkaOHKk33njD5OqA0iuccKdFixa64447zC4HAAAALsatLzd+++231axZM/n4+KhLly7asmXLDdsvWLBALVu2lI+Pj9q1a6cvv/zSSZWWTlmOZ+7cubJYLA43Hx8fJ1Z7Y99++60GDx6sRo0ayWKxaMmSJTddZ82aNerUqZO8vb0VGRmpuXPnVnqdpVXW41mzZk2R18disSgzM9M5Bd9EcnKy7rjjDtWpU0dBQUFKSEiQ1Wq96Xqu+h4qz/G48nto5syZat++vfz9/eXv76+4uDh99dVXN1zHVV8bV+Dr66t33nlHP//8s3bu3KmdO3fq9OnTeuedd+Tn52d2eUCppKWlKSUlRd9//73Z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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# (b) Two well-separated clusters\n", + "c1 = rng.normal(loc=[0.0, 0.0], scale=0.05, size=(15, 2))\n", + "c2 = rng.normal(loc=[3.0, 0.0], scale=0.05, size=(15, 2))\n", + "two_clusters = np.vstack([c1, c2]).tolist()\n", + "diag_clusters = opt.persistent_homology(two_clusters, 1, 4.0)\n", + "\n", + "h0 = [p for p in diag_clusters if p['dim'] == 0]\n", + "long_h0 = [p for p in h0 if (p['death'] - p['birth']) > 1.0]\n", + "print(f\"long-lived H0 components (lifetime > 1.0): {len(long_h0)}\")\n", + "# 2 clusters => 1 essential H0 (always) + 1 long-lived class that dies at the merge scale ~ 3.0.\n", + "assert len(long_h0) >= 1, \"expected one long-lived H0 component encoding the cluster gap\"\n", + "\n", + "fig, axes = plt.subplots(1, 3, figsize=(13, 4))\n", + "pts = np.array(two_clusters)\n", + "axes[0].scatter(pts[:, 0], pts[:, 1], c='tab:blue'); axes[0].set_aspect('equal')\n", + "axes[0].set_title('Two clusters')\n", + "plot_diagram(axes[1], diag_clusters, 'Persistence diagram')\n", + "plot_barcode(axes[2], diag_clusters, 'Persistence barcode')\n", + "plt.tight_layout(); plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "62fc1e5f", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:17.451139Z", + "iopub.status.busy": "2026-05-12T09:45:17.450839Z", + "iopub.status.idle": "2026-05-12T09:45:27.034768Z", + "shell.execute_reply": "2026-05-12T09:45:27.032070Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#H1 features on figure-eight: 1183\n", + "top 4 H1 lifetimes:\n", + " birth=0.2091 death=inf life=inf\n", + " birth=0.2091 death=inf life=inf\n", + " birth=0.2091 death=inf life=inf\n", + " birth=0.2091 death=inf life=inf\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABQkAAAGGCAYAAADYVwfrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB9+0lEQVR4nO3deXwU9f3H8fduIAeQA4QcQIAICAkRkCgIVIEablLxRC3lEEEQ/IloFawS4kU9ECwgWK2CRaqCgAVsFJFoURS5LJFAQcMhJByGHBwhkJ3fH2lWltxhN7PZfT0fj3083NnvzHzmO18n7Ge/h8UwDEMAAAAAAAAAvJbV7AAAAAAAAAAAmIskIQAAAAAAAODlSBICAAAAAAAAXo4kIQAAAAAAAODlSBICAAAAAAAAXo4kIQAAAAAAAODlSBICAAAAAAAAXo4kIQAAAAAAAODlSBICAAAAAAAAXo4kIQAAAAAAcCqLxaIZM2aYHYapWrVqpSFDhpgdhtPMmDFDFovF7DDgQiQJAQAAAACo5RYtWiSLxWJ/+fv766qrrtKkSZN09OhRs8OrlKVLl2rOnDlmhwF4rTpmBwAAAAAAAJzj6aefVlRUlPLz87Vx40YtWLBAH3/8sVJTU1WvXr0ai+Ps2bOqU6dqKYelS5cqNTVVkydPdk1QAMpFkhAAAAAAAA8xcOBAXXvttZKk++67T1dccYVeeeUVffTRR7r77rsv69hnzpypdKLR39//ss6FysnPz5evr6+sVgaK4vLRigAAAAAA8FC//e1vJUnp6en2bUuWLFFcXJwCAgLUqFEj3XXXXTp06JDDfr1791ZsbKy2bt2qG2+8UfXq1dMTTzwhSdqyZYv69++vxo0bKyAgQFFRUbr33nsd9r90TsK8vDxNnjxZrVq1kp+fn0JDQ9W3b19t27bNfr61a9fqwIED9iHTrVq1su9/7tw5JSYmqk2bNvLz81NkZKQee+wxnTt3rsR5J02apFWrVik2NlZ+fn7q0KGDkpOTS9TN4cOHNWbMGDVt2lR+fn6KiorShAkTVFBQYC+TnZ2tyZMnKzIyUn5+fmrTpo1eeOEF2Wy2St+DTz/9VJ07d5a/v79iYmK0YsUKh8+zsrL06KOP6uqrr1aDBg0UFBSkgQMH6vvvv3col5KSIovFovfee09PPvmkmjVrpnr16ik3N1eS9O2332rQoEFq2LCh6tevr44dO+rVV191OMbnn3+uG264QfXr11dISIhuvvlmpaWllYh548aNuu666+Tv76/WrVvr9ddfL/P6KtOeUDvQkxAAAAAAAA/1448/SpKuuOIKSdJzzz2np556Snfeeafuu+8+HT9+XHPnztWNN96o7du3KyQkxL7vL7/8ooEDB+quu+7S8OHDFRYWpmPHjqlfv35q0qSJpk6dqpCQEO3fv79E4utS48eP1/LlyzVp0iTFxMTol19+0caNG5WWlqYuXbroT3/6k3JycvTzzz9r9uzZkqQGDRpIkmw2m373u99p48aNGjdunKKjo7Vz507Nnj1b//3vf7Vq1SqHc23cuFErVqzQAw88oMDAQP3lL3/RbbfdpoMHD9rr4ciRI+ratauys7M1btw4tW/fXocPH9by5ct15swZ+fr66syZM+rVq5cOHz6s+++/Xy1atNDXX3+tadOmKSMjo1LzJ+7du1fDhg3T+PHjNXLkSL399tu64447lJycrL59+0qSfvrpJ61atUp33HGHoqKidPToUb3++uvq1auXdu3apaZNmzoc85lnnpGvr68effRRnTt3Tr6+vlq3bp2GDBmiiIgIPfTQQwoPD1daWprWrFmjhx56SJL02WefaeDAgbryyis1Y8YMnT17VnPnzlXPnj21bds2e1J2586d9ns8Y8YMXbhwQYmJiQoLCytxfVVpT6gFDAAAAAAAUKu9/fbbhiTjs88+M44fP24cOnTIeO+994wrrrjCCAgIMH7++Wdj//79ho+Pj/Hcc8857Ltz506jTp06Dtt79eplSDIWLlzoUHblypWGJOO7774rNx5JRmJiov19cHCwMXHixHL3GTx4sNGyZcsS2//+978bVqvV+Pe//+2wfeHChYYk46uvvnI4r6+vr7Fv3z77tu+//96QZMydO9e+bcSIEYbVai31Omw2m2EYhvHMM88Y9evXN/773/86fD516lTDx8fHOHjwYLnX07JlS0OS8eGHH9q35eTkGBEREcY111xj35afn28UFhY67Juenm74+fkZTz/9tH3bhg0bDEnGlVdeaZw5c8a+/cKFC0ZUVJTRsmVL4+TJk6Vei2EYRufOnY3Q0FDjl19+cagbq9VqjBgxwr5t6NChhr+/v3HgwAH7tl27dhk+Pj7GxWmkqrQn1A4MNwYAAAAAwEPEx8erSZMmioyM1F133aUGDRpo5cqVatasmVasWCGbzaY777xTJ06csL/Cw8PVtm1bbdiwweFYfn5+Gj16tMO24p5ha9as0fnz5ysdV0hIiL799lsdOXKkyte0bNkyRUdHq3379g5xFw+lvjTu+Ph4tW7d2v6+Y8eOCgoK0k8//SSpqGfiqlWrlJCQYJ+/8WIWi8V+3htuuEENGzZ0OG98fLwKCwv15ZdfVhh706ZNdcstt9jfBwUFacSIEdq+fbsyMzMlFdVz8ZyChYWF+uWXX9SgQQO1a9fOPhz7YiNHjlRAQID9/fbt25Wenq7JkyeX6LlXfC0ZGRnasWOHRo0apUaNGjnUTd++ffXxxx/bz//JJ59o6NChatGihb1cdHS0+vfv73DsqrYnuD+GGwMAAAAA4CHmz5+vq666SnXq1FFYWJjatWtnT0Dt3btXhmGobdu2pe5bt25dh/fNmjWTr6+vw7ZevXrptttuU1JSkmbPnq3evXtr6NChuueee+Tn51dmXC+++KJGjhypyMhIxcXFadCgQRoxYoSuvPLKCq9p7969SktLU5MmTUr9/NixYw7vL05uFWvYsKFOnjwpSTp+/Lhyc3MVGxtb4Xn/85//VPq8pWnTpo09UVfsqquukiTt379f4eHhstlsevXVV/Xaa68pPT1dhYWF9rLFw6MvFhUV5fC+eEh5eddz4MABSVK7du1KfBYdHa1PPvlEp0+fVl5ens6ePVtqG2nXrp09mShVvT3B/ZEkBAAAAADAQ3Tt2rXU3nFSUQ86i8Wif/3rX/Lx8SnxefEcgMUu7q1WzGKxaPny5frmm2+0evVqffLJJ7r33ns1a9YsffPNNyWOUezOO+/UDTfcoJUrV+rTTz/VSy+9pBdeeEErVqzQwIEDy70mm82mq6++Wq+88kqpn0dGRjq8L+3aJMkwjHLPU9p5+/btq8cee6zUz4uTfZfr+eef11NPPaV7771XzzzzjBo1aiSr1arJkyeXukBKaffFDFVtT3B/JAkBAAAAAPACrVu3lmEYioqKuuwE1/XXX6/rr79ezz33nJYuXarf//73eu+993TfffeVuU9ERIQeeOABPfDAAzp27Ji6dOmi5557zp4kvLTH3cVxf//997rpppvKLFMVTZo0UVBQkFJTU8st17p1a506dUrx8fHVPte+fftkGIZD3P/9738lyb5QyPLly9WnTx/97W9/c9g3OztbjRs3rvAcxUOrU1NTy4y1ZcuWkqQ9e/aU+Gz37t1q3Lix6tevL39/fwUEBGjv3r0lyl26rzPbE9wDcxICAAAAAOAFbr31Vvn4+CgpKalErzrDMPTLL79UeIyTJ0+W2Ldz586SpHPnzpW6T2FhoXJychy2hYaGqmnTpg771K9fv0Q5qagX4uHDh/XGG2+U+Ozs2bM6ffp0hXFfzGq1aujQoVq9erW2bNlS4vPi67vzzju1adMmffLJJyXKZGdn68KFCxWe68iRI1q5cqX9fW5urt555x117txZ4eHhkop6Pl5ap8uWLdPhw4crdT1dunRRVFSU5syZo+zs7FKvJSIiQp07d9bixYsdyqSmpurTTz/VoEGD7LH0799fq1at0sGDB+3l0tLSStSDM9oT3As9CQEAAAAA8AKtW7fWs88+q2nTpmn//v0aOnSoAgMDlZ6erpUrV2rcuHF69NFHyz3G4sWL9dprr+mWW25R69atlZeXpzfeeENBQUH2RNOl8vLy1Lx5c91+++3q1KmTGjRooM8++0zfffedZs2aZS8XFxen999/X1OmTNF1112nBg0aKCEhQX/4wx/0wQcfaPz48dqwYYN69uypwsJC7d69Wx988IE++eSTModYl+X555/Xp59+ql69emncuHGKjo5WRkaGli1bpo0bNyokJER//OMf9c9//lNDhgzRqFGjFBcXp9OnT2vnzp1avny59u/fX2FPv6uuukpjxozRd999p7CwML311ls6evSo3n77bXuZIUOG6Omnn9bo0aPVo0cP7dy5U++++26l5muUipKeCxYsUEJCgjp37qzRo0crIiJCu3fv1g8//GBP7r300ksaOHCgunfvrjFjxujs2bOaO3eugoODNWPGDPvxkpKSlJycrBtuuEEPPPCALly4oLlz56pDhw76z3/+Yy/njPYEN2PGksoAAAAAAMB53n77bUOS8d1331VY9sMPPzR+85vfGPXr1zfq169vtG/f3pg4caKxZ88ee5levXoZHTp0KLHvtm3bjLvvvtto0aKF4efnZ4SGhhpDhgwxtmzZ4lBOkpGYmGgYhmGcO3fO+OMf/2h06tTJCAwMNOrXr2906tTJeO211xz2OXXqlHHPPfcYISEhhiSjZcuW9s8KCgqMF154wejQoYPh5+dnNGzY0IiLizOSkpKMnJwch/NOnDixRNwtW7Y0Ro4c6bDtwIEDxogRI4wmTZoYfn5+xpVXXmlMnDjROHfunL1MXl6eMW3aNKNNmzaGr6+v0bhxY6NHjx7Gyy+/bBQUFJRbzy1btjQGDx5sfPLJJ0bHjh0NPz8/o3379sayZcscyuXn5xuPPPKIERERYQQEBBg9e/Y0Nm3aZPTq1cvo1auXvdyGDRsMSSX2L7Zx40ajb9++9jru2LGjMXfuXIcyn332mdGzZ08jICDACAoKMhISEoxdu3aVONYXX3xhxMXFGb6+vsaVV15pLFy40EhMTDRKSyNVpj2hdrAYRhVn7gQAAAAAAADgUZiTEAAAAAAAAPByJAkBAAAAAAAAL0eSEAAAAAAAAPByJAkBAAAAAAAAL0eSEAAAAAAAAPByJAkBAAAAAAAAL1fH7AAAAAAAALWLzWbTkSNHFBgYKIvFYnY4AIByGIahvLw8NW3aVFZr2f0FSRICAAAAAKrkyJEjioyMNDsMAEAVHDp0SM2bNy/zc5KEAAAAAIAqCQwMlFT0hTMoKMjkaAAA5cnNzVVkZKT92V0WkoQAAAAAgCopHmIcFBREkhAAaomKpodg4RIAAAAAAADAy5EkBAAAAAAAALwcSUIAAAAAAADAy5EkBAAAAAAAALwcSUIAAAAAAADAy5EkBAAAAAAAALwcSUIAAAAAAADAy5EkBAAAAAAAALwcSUIAAAAAAADAy5EkBAAAAAAAALxcHbMDAAAAAADAXezufI2MggKzwwAABxZfX7Xfsd2l5yBJCAAAAADA/xj5+WaHAAAl1MSzieHGAAAAAAAAgJcjSQgAAAAAAAB4OZKEAAAAAAAAgJcjSQgAAAAAAAB4OZKEAAAAAAAAgJcjSQgAAAAAAAB4OZKEAAAAAAAAgJcjSQgAAAAAAAB4OZKEAAAAAAAAgJcjSQgAAAAAAAB4OZKEAAAAAAAAgJcjSQgAAAAAAAB4OZKEAAAAAAAAgJcjSQgAAAAAAAB4OZKEAAAAAAAAgDuzWFx+CpKEAAAAAAAAgBuLTtvl8nOQJAQAAAAAAAC8HElCAAAAAAAAwMuRJAQAAAAAAAC8HElCAAAAAAAAwMuRJAQAAAAAAAC8HElCAAAAAAAAwMuRJAQAAAAAAAC8HElCAAAAAAAAwMuRJAT+Z//+/bJYLFq0aJHZobjcqFGj1KpVq2rv26BBA+cGBAAAAAAATEWSEF5l0aJFslgspb6mTp1qdnge5cyZM5oxY4ZSUlLMDgUAAAAAAFSgjtkBAGZ4+umnFRUV5bCtQ4cOWrRokerWrWtSVDXnjTfekM1mc+k5zpw5o6SkJElS7969XXouAAAAAABweUgSwisNHDhQ1157rdlh2J0+fVr169evsfN5QyIUAAAAAABUHsONgf8pa07CZcuWKSYmRv7+/oqNjdXKlStLzOmXkpIii8VSYmhtaccsntPvxx9/1KBBgxQYGKjf//73kiSbzaY5c+aoQ4cO8vf3V1hYmO6//36dPHmy0texZMkSxcXFKSAgQI0aNdJdd92lQ4cOOZQpbU7CX375RX/4wx8UFBSkkJAQjRw5Ut9//32Z8zQePnxYQ4cOVYMGDdSkSRM9+uijKiwstF93kyZNJElJSUn2Id0zZsyo9HUAAAAAAICaQ09CeKWcnBydOHGiwnJr167VsGHDdPXVV2vmzJk6efKkxowZo2bNml3W+S9cuKD+/fvrN7/5jV5++WXVq1dPknT//fdr0aJFGj16tP7v//5P6enpmjdvnrZv366vvvqqwh6Azz33nJ566indeeeduu+++3T8+HHNnTtXN954o7Zv366QkJBS97PZbEpISNDmzZs1YcIEtW/fXh999JFGjhxZavnCwkL1799f3bp108svv6zPPvtMs2bNUuvWrTVhwgQ1adJECxYs0IQJE3TLLbfo1ltvlSR17Nix+pUGAAAAAIA3sVgUnbarxk5HkhBeKT4+vsS29PT0EtumTZumZs2a6auvvrKv6HvTTTepd+/eatmyZbXPf+7cOd1xxx2aOXOmfdvGjRv15ptv6t1339U999xj396nTx8NGDBAy5Ytc9h+qQMHDigxMVHPPvusnnjiCfv2W2+9Vddcc41ee+01h+0XW7VqlTZt2qQ5c+booYcekiRNmDBBffv2LbV8fn6+hg0bpqeeekqSNH78eHXp0kV/+9vfNGHCBNWvX1+33367JkyYoI4dO2r48OGVrxwAAAAAALxU9O40087NcGN4pfnz52vdunUOr0sdOXJEO3fu1IgRI+wJQknq1auXrr766suOYcKECQ7vly1bpuDgYPXt21cnTpywv+Li4tSgQQNt2LCh3OOtWLFCNptNd955p8P+4eHhatu2bbn7Jycnq27duho7dqx9m9Vq1cSJE8vcZ/z48Q7vb7jhBv3000/lxggAAAAAANwTPQnhlbp27Vpi4ZL9+/c7vD9w4IAkqU2bNiX2b9OmjbZt21bt89epU0fNmzd32LZ3717l5OQoNDS01H2OHTsmqWio9NmzZ+3bfX191ahRI+3du1eGYaht27al7l/eUOUDBw4oIiLCPuy5WGnXLkn+/v72OQeLNWzYsEpzJwIAAAAAAPdBkhBwAovFUur24oU8LuXn5yer1bEjr81mU2hoqN59991S9ylOyj300ENavHixfXuvXr2UkpIim80mi8Wif/3rX/Lx8Smx/8W9IS9XaccHAAAAAAC1F0lCoAzFcw7u27evxGeXbmvYsKEkKTs722F7cW/EymjdurU+++wz9ezZUwEBAWWWe+yxxxzm+Cs+d+vWrWUYhqKionTVVVdV+rxS0bVu2LBBZ86ccehNWNq1V1ZZiVMAAAAAAOB+mJMQKEPTpk0VGxurd955R6dOnbJv/+KLL7Rz506Hsi1btpSPj4++/PJLh+2vvfZapc935513qrCwUM8880yJzy5cuGBPQMbExCg+Pt7+iouLk1S0QImPj4+SkpJkGIbD/oZh6Jdffinz3P3799f58+f1xhtv2LfZbDbNnz+/0vFfqjjZeGniFAAAAAAAuB96EgLleP7553XzzTerZ8+eGj16tE6ePKl58+YpNjbWIXEYHBysO+64Q3PnzpXFYlHr1q21Zs0a+zyCldGrVy/df//9mjlzpnbs2KF+/fqpbt262rt3r5YtW6ZXX31Vt99+e5n7t27dWs8++6ymTZum/fv3a+jQoQoMDFR6erpWrlypcePG6dFHHy1136FDh6pr16565JFHtG/fPrVv317//Oc/lZWVJal6vQIDAgIUExOj999/X1dddZUaNWqk2NhYxcbGVvlYAAAAAADAtehJCJQjISFB//jHP1RQUKCpU6dqxYoVWrRokdq1ayd/f3+HsnPnztXNN9+shQsX6sknn1SLFi0c5g6sjIULF+qvf/2rjh07pieeeELTpk3T559/ruHDh6tnz54V7j916lR9+OGHslqtSkpK0qOPPqp//vOf6tevn373u9+VuZ+Pj4/Wrl2rYcOGafHixfrTn/6kpk2b2nsSXnqtlfXmm2+qWbNmevjhh3X33Xdr+fLl1ToOAAAAAABwLYtx6bhEABXq3LmzmjRponXr1pkdikutWrVK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vsaNGyc/Pz81atRIubm5evPNN3X33Xdr7NixysvL09/+9jf1799fmzdvVufOnR2O8e6776qgoEAPPvigsrKy9OKLL+rOO+/Ub3/7W6WkpOjxxx/Xvn37NHfuXD366KN66623KrxeAACA6nL52JUpU6Zo5MiRuvbaa9W1a1fNmTNHp0+ftk8IPmLECDVr1kwzZ86UVDT/z/XXX682bdooOztbL730kg4cOKD77rvP1aGWKzk1Q0mrdykjJ9++LSLYX4kJMRoQG2FiZPAE1W1ftEu4Cm0LkHJycnTixAnl5+frq6++0tNPP62AgAANGTJEBw4cUGJiop599ll7r0BJuvXWW3XNNdfotddec9iemZmphQsX6v7777dvW7VqlU6ePKlPP/1U1157rX37s88+W25ca9eu1dixYzVr1iz7tscee8z+33379lWzZs108uRJDR8+3GHfpUuX6rPPPtMXX3yh3/zmN/btsbGxGj9+vL7++mv16NHDvj0tLU27du1S69atJUl9+vRRp06d9I9//MP+g++0adOUmZmpb7/91uE6nn76aRmGIUl65ZVX9OOPP2r79u1q27atJOn+++9X06ZN9dJLL+mRRx5RZGRkqdd7/Phxvfjiixo8eLBWr14ti6Xox4o//elPev7558utK0l64YUXFBAQYH8/btw4tWnTRk888YQOHjyoFi1a2K+jWbNm+uqrr+xJ1Ztuukm9e/dWy5YtSxz3559/1r59+9SkSRP7tsLCQu3fv99hTsSxY8eqffv2mjt3rv72t785HOPw4cPau3evgoOD7fvPnDlTZ8+e1ZYtW+zDzI8fP653331XCxYskJ+fX4XXDAAAUB0un7Bl2LBhevnllzV9+nR17txZO3bsUHJysn0xk4MHDyojI8Ne/uTJkxo7dqyio6M1aNAg5ebm6uuvv1ZMTIyrQy1TcmqGJizZ5vBlWZIyc/I1Yck2JadmlLEnULHqti/aJVyFtgUUiY+PV5MmTRQZGam77rpLDRo00MqVK9WsWTOtWLFCNptNd955p06cOGF/hYeHq23btiWGl/r5+TmsmCzJ3tNwzZo1On/+fKXjCgkJ0bfffqsjR45U+ZqWLVum6OhotW/f3iHu4qHUl8YdHx9vTxBKUseOHRUUFKSffvpJUlHPxFWrVikhIcEhQVisOKG3bNky3XDDDWrYsKHDeePj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hAkT7OUeeOAB7dixQ2+//bZmz56tli1bKiEhQVarVatWrdLs2bP1zjvvaOXKlapXr56uvPJKPfTQQ9UaOt2sWTN9++23euqpp/Tuu+8qNzdXzZo108CBA1WvXj173F988YWef/55LVu2TO+8846CgoJ01VVXKSkpyaFnZGmeffZZ+fv7a+HChdqwYYO6deumTz/9VIMHDy53v7p162r16tX6v//7P82cOVP+/v665ZZbNGnSJHXq1MmhbEJCgv7xj39oxowZmjp1qtq2batFixZp8eLF+uGHys1dNGrUKGVmZur111/XJ598opiYGC1ZskTLli0rsVifOyksLLQnCCvqAesNiuebPHbsmH1eSQCAG7NYFJ22y+woPILF8LAZkHNzcxUcHKycnBwFBQU57bjJqRlKWr3LYUL/iGB/JSbEaEAsvzDi8lS3fdEu4So11bZc9cwGAGfp3LmzmjRpUmIeQ0+Sn5+v9PR0tWrVqtQFWbzR2bNntX//fkVFRcnfnyk2SuPJf8PT2kebHQKActQJC1Odxo0V9eFys0OpNSr7zKYnYSUNiI1Q35hwbU7P0rG8fIUGFg23ozcNnKG67Yt2CVehbQHwNufPn5fFYnGYGzElJUXff/+9nn32WRMjqzneOsS4NNQFALivtl+kmB2CxyJJWAU+Vou6t2YIBlyjuu2LdglXoW0B8CaHDx9WfHy8hg8frqZNm2r37t1auHChwsPDNX78eLPDAwAAcDmShAAAAPB6DRs2VFxcnN58800dP35c9evX1+DBg/XnP/+ZefoAAIBXsJodAAAAAGC24OBgvf/++/r555917tw5ZWVladmyZWrdurXZoaEco0aN0tChQ0tsT0lJkcViUXZ2tiTpP//5j2644Qb5+/srMjJSL774Ys0GCgBALUBPQgAAAACXrdBmuOVctrm5uerXr5/i4+O1cOFC7dy5U/fee69CQkI0btw4s8MDAMBtkCQEAAAAcFmSUzOUtHqXMnLy7dsigv2VmBCjAbERJkYmvfvuuyooKNBbb70lX19fdejQQTt27NArr7xCkhAAgIsw3LgMhTZDm378RR/tOKxNP/6iQpthdkjwQpe2w4ILNtolTMfzEQBwseTUDE1Yss0hQShJmTn5mrBkm5JTM0yKrMimTZt04403ytfX176tf//+2rNnj06ePGliZAAAuBd6EpbC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ww/NDgcAALfl8q5Ir7zyisaOHavRo0crJiZGCxcuVL169fTWW2+VWv7VV1/VgAED9Mc//lHR0dF65pln1KVLF82bN8+lcSanZmjCkm0OX3glKTMnXxOWbFNyaoZLzw+UZubHu/T6l44JQkmyGdLrX6Zr5sdMAoua587Pyy1btuixxx7TXXfdpVtvvdXhharbsWMHCUIAVZL7z39q/x13Knf1arNDsatfv74WLFigsWPHKjw83OxwAABwWy5NEhYUFGjr1q2Kj4//9YRWq+Lj47Vp06ZS99m0aZNDeUnq379/meWdodBmKGn1LhmlfFa8LWn1LhVemqkBXKjggk1v/LvsBQmkonnICi7YaigiwL2fl++995569OihtLQ0rVy5UufPn9cPP/ygzz//XMHBwTUeT21WWFgoSerTp4/GjBlDghBApRgXLuj43KIf9o/PnSfjwgWTIwIAAFXh0iThiRMnVFhYqLCwMIftYWFhyszMLHWfzMzMKpU/d+6ccnNzHV5VtTk9q0SPmIsZkjJy8rU5PavKxwaq6++b9pfoQXgpm1FUDqgp7vy8fP755zV79mytXr1avr6+evXVV7V7927deeedatGiRY3HU1tlZWVp/vz5+vHHH2WxWBQQEGB2SABqidy1a3X+558lSecPHVLuxx/XyHnXrFmjBg0aOLwGDhxYI+cGAMCT1PqVD2bOnKng4GD7KzIyssrHOJZX9hfe6pQDnOFA1hmnlgOcwZ2flz/++KMGDx4sqWhV49OnT8tisejhhx/WX//61xqPpzYqnoPQarWWOm8wAJTF3ouweB5Ci6XGehP26dNHO3bscHi9+eabLj8vAACexqVJwsaNG8vHx0dHjx512H706NEy5wMJDw+vUvlp06YpJyfH/jp06FCV4wwN9HdqOcAZWjaq59RygDO48/OyYcOGysvLkyQ1a9ZMqampkqTs7GydOUMyvSIsUgLgcth7ERr/GwZhGDXWm7B+/fpq06aNw6tZs2YuPy8AAJ7GpUlCX19fxcXFaf369fZtNptN69evV/fu3Uvdp3v37g7lJWndunVllvfz81NQUJDDq6q6RjVSRLC/ylp/zaKiVTu7RjWq8rGB6vpD91ayVrAooNVSVA6oKe78vLzxxhu1bt06SdIdd9yhhx56SGPHjtXdd9+tm266qcbjqU0Mw9CqVatIEAKolhK9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NRmm2xs4cKAGDhxY6fILFy5UVFSUZs2aJUmKjo7Wxo0bNXv2bPXv399VYdYKVa3LYqGhoQoJCXF+QLVYcnKyw/tFixYpNDRUW7du1Y033ljqPjwvAbiT6F0/mB0CvBg9CSsQGli57H1lywEXq277ol3CVWhb7qmgoEBbt25VfHy8fZvValV8fLw2bdpU6j6bNm1yKC9J/fv3L7O8t6hOXUrSqVOn1LJlS0VGRurmm2/WDz/wD/iqok06X+fOnRUREaG+ffvqq6++Mjsct5STkyNJatSoUZllaJsAABQhSViBrlGNFBHsL0sZn1tUtOJn16iy/+EBlKW67Yt2CVehbbmnEydOqLCwUGFhYQ7bw8LCypyDLDMzs0rlvUV16rJdu3Z666239NFHH2nJkiWy2Wzq0aOHfv7555oI2WOU1SZzc3N19uxZk6KqnSIiIrRw4UJ9+OGH+vDDDxUZGanevXtr27ZtZofmVmw2myZPnqyePXsqNja2zHI8LwEAKOLSJGFWVpZ+//vfKygoSCEhIRozZoxOnTpV7j69e/cuMQnz+PHjXRlmuXysFiUmxEhSiS/Nxe8TE2LkYy3rKzVQtuq2L9olXIW2BZTUvXt3jRgxQp07d1avXr20YsUKNWnSRK+//rrZocFLtWvXTvfff7/i4uLUo0cPvfXWW+rRo4dmz55tdmhuZeLEiUpNTdV7771ndigAANQKLk0S/v73v9cPP/ygdevWac2aNfryyy81bty4CvcbO3aswyTML774oivDrNCA2AgtGN5F4cGOw+vCg/21YHgXDYiNMCkyeILqti/aJVyFtuV+GjduLB8fHx09etRh+9GjR8ucJy88PLxK5b1FderyUnXr1tU111yjffv2uSJEj1VWmwwKClJAQIBJUXmOrl270iYvMmnSJK1Zs0YbNmxQ8+bNyy3L8xIAgCIuW7gkLS1NycnJ+u6773TttddKkubOnatBgwbp5ZdfVtOmTcvct169em73R3lAbIT6xoRrc3qWjuXlKzSwaLgdvWngDNVtX7RLuApty734+voqLi5O69ev19ChQyUVDaNbv369Jk2aVOo+3bt31/r16zV58mT7tnXr1ql79+41ELH7qk5dXqqwsFA7d+7UoEGDXBip5+nevbs+/vhjh220SefZsWOHIiL4EccwDD344INauXKlUlJSFBUVVeE+PC8B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vPJKJSUl6cKFCy69PsCVSBICAAAAAIBaLyMjQ3fffbfuvfdepaWlKSUlRbfeeqsMw9CCBQs0ceJEjRs3Tjt37tQ///lPtWnTxr6v1WrVX/7yF/3www9avHixPv/8cz322GNlnuvf//63RowYoYceeki7du3S66+/rkWLFum5556riUsFXMJiGIZhdhAAAAAAAACXY9u2bYqLi9P+/fvVsmVLh8+aNWum0aNH69lnn63UsZYvX67x48frxIkTkooWLpk8ebKys7MlSfHx8brppps0bdo0+z5LlizRY489piNHjjjngoAaVsfsAAAAAAAAAC5Xp06ddNNNN+nqq69W//791a9fP91+++06f/68jhw5optuuqnMfT/77DPNnDlTu3fvVm5uri5cuKD8/HydOXNG9erVK1H++++/11dffeXQc7CwsLDcfQB3x3BjAAAAAABQ6/n4+GjdunX617/+pZiYGM2dO1ft2rXT0aNHy91v//79GjJkiDp27KgPP/xQW7du1fz58yVJBQUFpe5z6tQpJSUlaceOHfbXzp07tXfvXvn7+zv92oCaQE9CAAAAAADgESwWi3r27KmePXtq+vTpatmypdatW6dWrVpp/fr16tOnT4l9tm7dKpvNplmzZslqLepL9cEHH5R7ni5dumjPnj0O8xoCtR1JQgAAAAAAUOt9++23Wr9+vfr166fQ0FB9++23On78uKKjozVjxgyNHz9eoaGhGjhwoPLy8vTVV1/pwQcfVJs2bXT+/HnNnTtXCQkJ+uqrr7Rw4cJyzzV9+nQNGTJELVq00O233y6r1arvv/9eqamplZ73EHA3DDcGAAAAAAC1XlBQkL788ksNGjRIV111lZ588knNmjVLAwcO1MiRIzVnzhy99tpr6tChg4YMGaK9e/dKKprL8JVXXtELL7yg2NhYvfvuu5o5c2a55+rfv7/WrFmjTz/9VNddd52uv/56zZ49u8SCKUBtwurGAAAAAAAAgJejJyEAAAAAAADg5UgSAgAAAAAAAF6OJCEAAAAAAADg5UgSAgAAAAAAAF6OJCEAAAAAAADg5UgSAgAAAAAAAF6OJCEAAAAAAADg5UgSAgAAAAAAAF6OJCEAAAAAAADg5UgSAgAAAAAAAF6OJCEAAAAAAADg5UgSAgAAAAAAAF7u/wHERVK2XmQBSQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# (c) Figure-eight: two loops sharing a crossing\n", + "n = 30\n", + "th = np.linspace(0, 2*np.pi, n, endpoint=False)\n", + "left = np.column_stack([np.cos(th) - 1.0, np.sin(th)])\n", + "right = np.column_stack([np.cos(th) + 1.0, np.sin(th)])\n", + "fig8 = np.vstack([left, right]).tolist()\n", + "diag_fig8 = opt.persistent_homology(fig8, 1, 2.0)\n", + "h1_fig8 = [p for p in diag_fig8 if p['dim'] == 1]\n", + "h1_fig8_sorted = sorted(\n", + " h1_fig8,\n", + " key=lambda p: -((np.inf if not np.isfinite(p['death']) else p['death']) - p['birth']),\n", + ")\n", + "print(f\"#H1 features on figure-eight: {len(h1_fig8)}\")\n", + "print('top 4 H1 lifetimes:')\n", + "for p in h1_fig8_sorted[:4]:\n", + " d = p['death']\n", + " print(f\" birth={p['birth']:.4f} death={d:.4f} life={(np.inf if not np.isfinite(d) else d) - p['birth']:.4f}\")\n", + "assert len(h1_fig8_sorted) >= 2, \"expected at least two H1 loops on the figure-eight\"\n", + "\n", + "fig, axes = plt.subplots(1, 3, figsize=(13, 4))\n", + "pts = np.array(fig8)\n", + "axes[0].scatter(pts[:, 0], pts[:, 1], c='tab:blue'); axes[0].set_aspect('equal')\n", + "axes[0].set_title('Figure-eight')\n", + "plot_diagram(axes[1], diag_fig8, 'Persistence diagram')\n", + "plot_barcode(axes[2], diag_fig8, 'Persistence barcode')\n", + "plt.tight_layout(); plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "2daa8da6", + "metadata": {}, + "source": [ + "## 3. Bottleneck distance\n", + "\n", + "$$\n", + "d_B(D, D') \\;=\\; \\inf_{\\eta : D \\to D'} \\, \\sup_{x \\in D}\\, \\| x - \\eta(x) \\|_{\\infty},\n", + "$$\n", + "\n", + "matchings allowed to pair points with the diagonal $\\Delta = \\{(t, t) : t \\ge 0\\}$ at cost $(d - b)/2$.\n", + "\n", + "Sanity checks:\n", + "* $d_B(D, D) = 0$ (identity).\n", + "* $d_B$ between a diagram and its perturbation is bounded by the perturbation amplitude in the $\\ell_\\infty$ norm." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "1b9cc842", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:27.044619Z", + "iopub.status.busy": "2026-05-12T09:45:27.043683Z", + "iopub.status.idle": "2026-05-12T09:45:30.614929Z", + "shell.execute_reply": "2026-05-12T09:45:30.613504Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d_B(diag_circle, diag_circle) = 0.000000e+00\n", + "d_B(diag, diag + 0.05) = 5.000000e-02\n", + "d_B(A, B) = 0.200000\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Identity: bottleneck distance to itself must be 0.\n", + "d_self = opt.bottleneck_distance(diag_circle, diag_circle)\n", + "print(f\"d_B(diag_circle, diag_circle) = {d_self:.6e}\")\n", + "assert abs(d_self) < 1e-9, f\"expected 0, got {d_self}\"\n", + "\n", + "# Stability: shift every birth/death of a diagram by a known epsilon.\n", + "eps_shift = 0.05\n", + "diag_perturbed = []\n", + "for p in diag_circle:\n", + " d_val = p['death']\n", + " diag_perturbed.append({\n", + " 'dim': p['dim'],\n", + " 'birth': p['birth'] + eps_shift,\n", + " 'death': d_val if not np.isfinite(d_val) else d_val + eps_shift,\n", + " })\n", + "d_pert = opt.bottleneck_distance(diag_circle, diag_perturbed)\n", + "print(f\"d_B(diag, diag + {eps_shift}) = {d_pert:.6e}\")\n", + "assert d_pert <= eps_shift + 1e-9, f\"stability violated: {d_pert} > {eps_shift}\"\n", + "\n", + "# Cross-check on a tiny synthetic pair.\n", + "A = [{'dim': 0, 'birth': 0.0, 'death': 1.0}, {'dim': 1, 'birth': 0.5, 'death': 1.5}]\n", + "B = [{'dim': 0, 'birth': 0.0, 'death': 1.2}, {'dim': 1, 'birth': 0.4, 'death': 1.6}]\n", + "d_AB = opt.bottleneck_distance(A, B)\n", + "print(f\"d_B(A, B) = {d_AB:.6f}\")\n", + "assert d_AB >= 0.0\n", + "\n", + "fig, ax = plt.subplots(figsize=(5, 5))\n", + "plot_diagram(ax, diag_circle + diag_perturbed, 'Original (circle) vs shifted diagram')\n", + "plt.tight_layout(); plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "f6116645", + "metadata": {}, + "source": [ + "## Summary — verification against analytic ground truth\n", + "\n", + "Verified against analytic ground truth:\n", + "\n", + "* Vietoris–Rips on 4 points yields $\\binom{4}{1} = 4$ vertices and $\\binom{4}{2} = 6$ edges — error = 0.\n", + "* Sampled unit circle exhibits exactly one long-lived $H_1$ generator (its essential loop) — error = 0.\n", + "* Two well-separated clusters produce one long-lived $H_0$ class encoding the cluster gap — error = 0.\n", + "* Figure-eight exhibits at least two $H_1$ generators — error = 0.\n", + "* Bottleneck identity: $d_B(D, D) = 0$ — error $< 10^{-9}$.\n", + "* Bottleneck stability under a uniform shift $\\varepsilon = 0.05$: $d_B(D, D + \\varepsilon) \\le \\varepsilon$ — error = 0." + ] + } + ], + "metadata": { + "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.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebooks/08_volterra.ipynb b/examples/notebooks/08_volterra.ipynb new file mode 100644 index 0000000..dc358a8 --- /dev/null +++ b/examples/notebooks/08_volterra.ipynb @@ -0,0 +1,443 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2f5c1703", + "metadata": {}, + "source": [ + "# `volterra` -- Volterra and Fractional Solvers\n", + "\n", + "Companion notebook for the [`volterra` documentation page](https://optimiz-r.readthedocs.io/en/latest/algorithms/volterra.html).\n", + "\n", + "Four CPU-only generic numerical primitives are demonstrated against analytic ground truths:\n", + "\n", + "1. **`solve_fractional_ode`** -- Caputo fractional Adams predictor-corrector (Diethelm-Ford-Freed 2002).\n", + "2. **`geometric_grid_lift`** -- multi-exponential approximation of a convolution kernel.\n", + "3. **`solve_volterra`** -- generic second-kind Volterra integral equation.\n", + "4. **`fourier_invert`** -- recover a probability density from its characteristic function.\n", + "\n", + "Each section displays the equation, calls the Rust primitive through the PyO3 bindings, plots numerical vs. analytic solutions, and asserts a tolerance bound." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "8464cdb2", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:33.974500Z", + "iopub.status.busy": "2026-05-12T09:45:33.973532Z", + "iopub.status.idle": "2026-05-12T09:45:35.800033Z", + "shell.execute_reply": "2026-05-12T09:45:35.798250Z" + } + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from optimizr import _core as opt\n", + "from scipy.special import gamma as Gamma\n", + "\n", + "rng = np.random.default_rng(0)\n", + "errors = {}" + ] + }, + { + "cell_type": "markdown", + "id": "17129256", + "metadata": {}, + "source": [ + "## 1. Fractional Caputo Adams solver\n", + "\n", + "Solve, for $\\alpha \\in (0, 1)$,\n", + "\n", + "$$\n", + "D^{\\alpha} h(t) = F(t, h(t)), \\qquad h(0) = h_0,\n", + "$$\n", + "\n", + "with the predictor-corrector\n", + "\n", + "$$\n", + "h^{P}_{n+1} = h_0 + \\frac{\\Delta t^{\\alpha}}{\\alpha\\,\\Gamma(\\alpha)} \\sum_{k=0}^{n} \\big[(n+1-k)^{\\alpha} - (n-k)^{\\alpha}\\big]\\, F(t_k, h_k),\n", + "$$\n", + "\n", + "$$\n", + "h_{n+1} = h_0 + \\frac{\\Delta t^{\\alpha}}{\\Gamma(\\alpha + 2)}\\Big[ F(t_{n+1}, h^{P}_{n+1}) + \\sum_{k=0}^{n} a_{n+1, k}\\, F(t_k, h_k) \\Big].\n", + "$$\n", + "\n", + "**Ground truth.** For the linear test equation $D^{\\alpha} h = -h$, $h(0) = 1$, the exact solution is the Mittag-Leffler function\n", + "\n", + "$$\n", + "h(t) = E_{\\alpha}(-t^{\\alpha}) = \\sum_{k=0}^{\\infty} \\frac{(-t^{\\alpha})^{k}}{\\Gamma(\\alpha k + 1)}.\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3b101abb", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:35.805793Z", + "iopub.status.busy": "2026-05-12T09:45:35.805117Z", + "iopub.status.idle": "2026-05-12T09:45:37.554817Z", + "shell.execute_reply": "2026-05-12T09:45:37.552764Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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z7gU0+QRjnGFY0wQnnGFY0wyUjiOcTjGBOEZVzjGBOEZVzjGBOEZVzjGBKGNK+IWRhURERERERGRyKSZICIiIiIiIiISEVQEEREREREREZGIoCKIiIiIiIiIiEQEFUHOoaKigqKiIqxWK+Xl5ezateu87X/1q18xa9YsrFYrV1xxBb///e9H3G8YBo8++ijZ2dnExcWxdOlSjh07NpYhnNWlxPXzn/+ca665htTUVFJTU1m6dOkZ7b/73e9iMplG/Nx8881jHcYIlxLTli1bzuiv1Wod0WYyjtX1119/Rlwmk4lbb711uE2ox2r79u184xvfICcnB5PJxG9/+9sLPqayspIrr7yS2NhYpk2bxpYtW85oc6nv1dF0qTH95je/4aabbiIjIwObzcaSJUt46623RrT58Y9/fMY4zZo1awyjGOlSY6qsrDzr757T6RzRLpTjBJce19neLyaTiblz5w63CfVYPf744yxevJikpCQyMzNZuXIlR48eveDjJsvxSoYoH1E+MpnGSvmI8pHRFI45ifKRvwjl8UpFkLN49dVXWbNmDevWrWPPnj2UlpayfPlyWltbz9r+ww8/5M477+T73/8+e/fuZeXKlaxcuZIDBw4Mt3nyySf56U9/yubNm/noo49ISEhg+fLl9Pb2jldYlxxXZWUld955J++99x47duwgPz+fZcuW0djYOKLdzTffTHNz8/DPyy+/PB7hAJceE4DNZhvR39ra2hH3T8ax+s1vfjMipgMHDhAVFcW3v/3tEe1COVZ+v5/S0lIqKiouqn11dTW33norN9xwA/v27eOhhx7ivvvuG3GQvpzxH02XGtP27du56aab+P3vf8/u3bu54YYb+MY3vsHevXtHtJs7d+6Icfrzn/88Ft0/q0uN6aSjR4+O6HNmZubwfaEeJ7j0uP793/99RDz19fXY7fYz3lOhHKv333+f1atXs3PnTt555x0CgQDLli3D7/ef8zGT5XglQ5SPDFE+MnnGSvmI8pHRFI45ifKRISE/XhlyhrKyMmP16tXDtwcHB42cnBzj8ccfP2v773znO8att946Ylt5ebnxwAMPGIZhGMFg0HA4HMbGjRuH73e73UZsbKzx8ssvj0EEZ3epcZ1uYGDASEpKMl588cXhbatWrTJuu+220e7qRbvUmF544QUjOTn5nPsLl7F65plnjKSkJKOr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hCKuyZCTKB8ZEurjlYog5/Dss88aBQUFhsViMcrKyoydO3cO33fdddcZq1atGtH+tddeM2bMmGFYLBZj7ty5xptvvjni/mAwaPzLv/yLkZWVZcTGxho33nijcfTo0fEIZYRLiauwsNAAzvhZt26dYRiG0d3dbSxbtszIyMgwYmJijMLCQuP+++8f1z9sLjWmhx56aLhtVlaWccsttxh79uwZsb/JOFaGYRhHjhwxAOPtt98+Y18TYaxOXrbs9J+Tcaxatcq47rrrznjM/PnzDYvFYkydOtV44YUXztjv+V6nsXapMV133XXnbW8YQ5fdy87ONiwWi5Gbm2vcfvvtRlVV1YSN6YknnjCKi4sNq9Vq2O124/rrrzf++Mc/nrHfUI6TYVze75/b7Tbi4uKM//zP/zzrPkM9VmeLBxjxPpnMxysZonxE+chkGivDUD6ifCR0cU2GnET5yF+E8nhl+qLjIiIiIiIiIiJhTWuCiIiIiIiIiEhEUBFERERERERERCKCiiAiIiIiIiIiEhFUBBERERERERGRiKAiiIiIiIiIiIhEBBVBRERERERERCQiqAgiIiIiIiIiIhFBRRARERERERERiQgqgoiIiIiIiIhIRFARREQmpOuvv56HHnoo1N0QERGRCKecRCS8qAgiIiIiIiIiIhHBZBiGEepOiIic6rvf/S4vvvjiiG3V1dUUFRWFpkMiIiISkZSTiIQfFUFEZMLxeDysWLGCkpIS/vVf/xWAjIwMoqKiQtwzERERiSTKSUTCT3SoOyAicrrk5GQsFgvx8fE4HI5Qd0dEREQilHISkfCjNUFEREREREREJCKoCCIiIiIiIiIiEUFFEBGZkCwWC4ODg6HuhoiIiEQ45SQi4UVFEBGZkIqKivjoo4+oqamhvb2dYDAY6i6JiIhIBFJOIhJeVAQRkQnp4YcfJioqijlz5pCRkUFdXV2ouyQiIiIRSDmJSHjRJXJFREREREREJCJoJoiIiIiIiIiIRAQVQUREREREREQkIqgIIiIiIiIiIiIRQUUQEREREREREYkIKoKIiIiIiIiISERQEUREREREREREIoKKICIiIiIiIiISEVQEEREREREREZGIoCKIiIiIiIiIiEQEFUFEREREREREJCKoCCIiIiIiIiIiEUFFEBERERERERGJCP8//mu+DAgBfqoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max error vs Mittag-Leffler = 5.625e-04\n" + ] + } + ], + "source": [ + "def mittag_leffler(alpha, z, n_terms=200):\n", + " z = np.asarray(z, dtype=float)\n", + " out = np.zeros_like(z)\n", + " term = np.ones_like(z)\n", + " for k in range(n_terms):\n", + " out = out + term / Gamma(alpha * k + 1.0)\n", + " term = term * z\n", + " return out\n", + "\n", + "T, N = 2.0, 800\n", + "alphas = [0.3, 0.5, 0.7, 0.9]\n", + "fig, ax = plt.subplots(1, 2, figsize=(11, 4))\n", + "max_err = 0.0\n", + "for a in alphas:\n", + " res = opt.solve_fractional_ode(1.0, a, T, N, lambda t, h: -h)\n", + " t = np.asarray(res[\"t_grid\"]) ; h_num = np.asarray(res[\"h\"])\n", + " h_exact = mittag_leffler(a, -t**a)\n", + " err = np.max(np.abs(h_num - h_exact))\n", + " max_err = max(max_err, err)\n", + " ax[0].plot(t, h_num, label=f\"alpha={a} num\")\n", + " ax[0].plot(t, h_exact, '--', alpha=0.6, label=f\"alpha={a} exact\")\n", + " ax[1].semilogy(t[1:], np.abs(h_num - h_exact)[1:], label=f\"alpha={a}\")\n", + "ax[0].set_xlabel(\"t\"); ax[0].set_ylabel(\"h(t)\"); ax[0].legend(fontsize=7); ax[0].set_title(\"D^a h = -h, h(0)=1\")\n", + "ax[1].set_xlabel(\"t\"); ax[1].set_ylabel(\"|h_num - E_a(-t^a)|\"); ax[1].legend(fontsize=7); ax[1].set_title(\"pointwise error (log)\")\n", + "plt.tight_layout(); plt.show()\n", + "errors['solve_fractional_ode'] = max_err\n", + "assert max_err < 5e-2, f\"max err = {max_err}\"\n", + "print(f\"max error vs Mittag-Leffler = {max_err:.3e}\")" + ] + }, + { + "cell_type": "markdown", + "id": "3ec2f158", + "metadata": {}, + "source": [ + "## 2. Markovian lift on a geometric grid\n", + "\n", + "Approximate a convolution kernel admitting the integral representation\n", + "\n", + "$$\n", + "K(t) = \\int_{0}^{\\infty} e^{-\\gamma t}\\, \\nu(d\\gamma)\n", + "$$\n", + "\n", + "by\n", + "\n", + "$$\n", + "K(t) \\;\\approx\\; \\sum_{j=1}^{N} c_j\\, e^{-\\gamma_j t},\n", + "\\qquad c_j \\ge 0,\n", + "$$\n", + "\n", + "with rates on a geometric grid and weights fitted by non-negative least squares.\n", + "\n", + "**Target.** The rough kernel\n", + "\n", + "$$\n", + "K(t) = \\frac{t^{H - 1/2}}{\\Gamma(H + 1/2)}, \\qquad H \\in (0, 1/2],\n", + "$$\n", + "\n", + "with $H = 0.1$." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "d1ce930a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:37.562632Z", + "iopub.status.busy": "2026-05-12T09:45:37.561864Z", + "iopub.status.idle": "2026-05-12T09:45:39.631556Z", + "shell.execute_reply": "2026-05-12T09:45:39.630065Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max relative error on rough kernel = 1.688e-02\n" + ] + } + ], + "source": [ + "H = 0.1\n", + "rough_kernel = lambda t: t ** (H - 0.5) / Gamma(H + 0.5)\n", + "t_samples = np.geomspace(1e-3, 1.0, 200).tolist()\n", + "lift = opt.geometric_grid_lift(rough_kernel, t_samples, 12, 1e-2, 1e4, 20000)\n", + "gammas = np.asarray(lift[\"gammas\"]) ; weights = np.asarray(lift[\"weights\"])\n", + "\n", + "t_eval = np.geomspace(1e-3, 1.0, 400)\n", + "k_target = np.array([rough_kernel(tt) for tt in t_eval])\n", + "k_lift = np.array([np.sum(weights * np.exp(-gammas * tt)) for tt in t_eval])\n", + "rel_err = np.max(np.abs(k_lift - k_target) / np.abs(k_target))\n", + "\n", + "fig, ax = plt.subplots(1, 2, figsize=(11, 4))\n", + "ax[0].loglog(t_eval, k_target, label='target K(t)')\n", + "ax[0].loglog(t_eval, k_lift, '--', label='lift sum c_j exp(-g_j t)')\n", + "ax[0].set_xlabel('t'); ax[0].set_ylabel('K(t)'); ax[0].legend(); ax[0].set_title(f'Rough kernel H={H}')\n", + "ax[1].loglog(t_eval, np.abs(k_lift - k_target) / np.abs(k_target))\n", + "ax[1].set_xlabel('t'); ax[1].set_ylabel('relative error'); ax[1].set_title('lift relative error')\n", + "plt.tight_layout(); plt.show()\n", + "errors['geometric_grid_lift'] = rel_err\n", + "assert rel_err < 0.5, f'relative err = {rel_err}'\n", + "print(f'max relative error on rough kernel = {rel_err:.3e}')" + ] + }, + { + "cell_type": "markdown", + "id": "7b414887", + "metadata": {}, + "source": [ + "## 3. Generic second-kind Volterra equation\n", + "\n", + "Solve\n", + "\n", + "$$\n", + "y(t) = g(t) + \\int_{0}^{t} K(t - s,\\, y(s))\\, ds\n", + "$$\n", + "\n", + "by trapezoidal product integration,\n", + "\n", + "$$\n", + "y_n = g_n + \\Delta t\\,\\Big[ \\tfrac{1}{2} K(t_n, y_0) + \\sum_{k=1}^{n-1} K(t_n - t_k, y_k) + \\tfrac{1}{2} K(0, y_n) \\Big],\n", + "$$\n", + "\n", + "with the implicit step solved by fixed-point iteration.\n", + "\n", + "**Ground truth.** Take $g(t) = 1$ and $K(t, y) = y$. Then $y(t) = 1 + \\int_0^t y(s)\\, ds$ is equivalent to $y' = y,\\, y(0) = 1$, with exact solution\n", + "\n", + "$$\n", + "y(t) = e^{t}.\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f0dcd786", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:39.636022Z", + "iopub.status.busy": "2026-05-12T09:45:39.635722Z", + "iopub.status.idle": "2026-05-12T09:45:40.961468Z", + "shell.execute_reply": "2026-05-12T09:45:40.959903Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABEEAAAGGCAYAAACUtJ9/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACX+0lEQVR4nOzdd1xV5R8H8M+9F7jsPZQ9VBRRQHDgninOstTMFEephZqSDW24KlNLLaPMhlZqpZU2zJ2K4kIUFw5QQEX2nhe49/z+QO6vG0NQ4DA+79fLV91zzj3nw9B77vc+z/eRCIIggIiIiIiIiIiomZOKHYCIiIiIiIiIqCGwCEJERERERERELQKLIERERERERETUIrAIQkREREREREQtAosgRERERERERNQisAhCRERERERERC0CiyBERERERERE1CKwCEJERERERERELQKLIERERERERETUIrAIQk1KXFwcJBIJtmzZInYUakDOzs6YOnWq2DGalLy8PFhbW2Pbtm21el6PHj3w+uuvP9a1+feUiKj56d+/P/r37y92DADA0qVLIZFIxI7RZNy9exe6uroICwtTb5s6dSqcnZ3r9bobN26Eo6MjFApFvV6HqLZYBKF6M3r0aOjr6yM3N7fKYyZNmgQdHR2kp6c/8nX+/vtvLF269JGfT5U7cOAAZsyYAU9PT8hksnp/oawvn3/++WO9GT958iR69+4NfX19tGrVCvPmzUNeXl61z9m7dy+0tbWhp6eHEydOVHlcff7ufvLJJzAyMsKzzz5bq+e98cYbCAkJQVJSUr3kIiKilmf79u1Yv3692DFarOXLl6N79+7o1atXg1536tSpKC4uxpdfftmg1yV6GBZBqN5MmjQJhYWF2LVrV6X7CwoK8Pvvv2PYsGGwsLB45Ov8/fffWLZs2SM/nyq3fft2bN++HSYmJrC1tRU1y40bN/DVV1890nMfpwgSGRmJQYMGoaCgAGvXrsULL7yATZs2Ydy4cVU+JyIiAuPHj4e7uztsbW0xZswYXL9+vdJj6+t3t6SkBJ988gleeOEFyGSyWj13zJgxMDY2xueff17nuYiIqOk6cOAADhw48EjPresiyNtvv43CwsI6O19zlpqaiu+++w6zZ89u8Gvr6uoiMDAQa9euhSAIDX59oqqwCEL1ZvTo0TAyMsL27dsr3f/7778jPz8fkyZN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tjwJd9U9ZMMAiSO/h1fXwWLHoiakvAASExODW7duoW/fvtDT04NEIsE777wjcjqqa4pSJV7dcRF/XUoEACwe3h4v9nGFRCIRORkRERF7ghARUTVuJufitR+OwUyZjmRYIGvCn2jPAgjVUnp6OgYNGoR27dph+PDhSEwse3M8Y8YMLFy4UOR0VJdyikow9dtw/HUpEdoyCdZP8MbMvm4sgBARUaPBIggREVUqIj4D4zaewvHc1njHYAmEGQfg1MFX7FjUBC1YsADa2tq4c+cO9PX11dsnTJiAvXv3ipiM6lJ2QQkmf31GvQLM5qnd8KSPndixiIiINHA6DBERVXDx8E/46GgSskvawsfRFEsDh8CMzQzpER04cAD79++Hvb29xva2bdsiPj5epFRUlzLzi/H8N2dw9X4OzPS18cOM7vC0MxE7FhERUQUcCUJERBrCd29Ax9CX8IV0Nca7lmDbC91ZAKHHkp+frzECpFxGRgbkcrkIiagupeUpMPGr07h6PweWhjr4aaY/CyBERNRosQhCREQAAEGlwunv30HXyLehJVEh2rQ33p8aAH0dDhqkx9OnTx98//336scSiQQqlQqrV6/GgAEDRExGjyszvxiTvjqD60m5sDKS46eZPeDeykjsWERERFXinS0REaG0pBgRG19Ej/TdAIDTrSah+8zPIJGyVk6Pb/Xq1Rg0aBDOnTuH4uJivP7667h69SoyMjIQFhYmdjx6RHmKUkzdfBY3knNhYyzHjy/2gKuVodixiIiIqlXrIohCocCZM2cQHx+PgoICWFlZwcfHBy4uLvWRj4iI6llBXjZuhoxH98LTUAkSnHV/FT2e47KlVHc8PT1x8+ZNfPbZZzAyMkJeXh7Gjh2LoKAgtG7dWux49AiKSpR44btwXLyXDTN9bWyd0Z0FECIiahJqXAQJCwvDJ598gj///BMlJSUwMTGBnp4eMjIyoFAo4OrqipkzZ2L27NkwMuIwSCKipiAltwj/fP46ni08jSJBG9d6foweQwPFjkXNkImJCd566y2xY1AdKFWqMGf7eZy+nQFDuRa+m94NbW1470dERE1DjcY5jx49GhMmTICzszMOHDiA3NxcpKen4969eygoKEB0dDTefvttHD58GO3atcPBgwfrOzcRET2mmJRcPBVyEksyh+EwuiNu5M/wYQGEiKohCAKW/RmFQ9dS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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max error vs exp(t) = 1.232e-06\n" + ] + } + ], + "source": [ + "T, N = 2.0, 2000\n", + "res = opt.solve_volterra(lambda t: 1.0, lambda dt, y: y, T, N, 100, 1e-13)\n", + "t = np.asarray(res[\"t_grid\"]) ; y_num = np.asarray(res[\"y\"])\n", + "y_exact = np.exp(t)\n", + "err = np.abs(y_num - y_exact)\n", + "max_err = float(err.max())\n", + "\n", + "fig, ax = plt.subplots(1, 2, figsize=(11, 4))\n", + "ax[0].plot(t, y_num, label='numerical')\n", + "ax[0].plot(t, y_exact, '--', label='exp(t)')\n", + "ax[0].set_xlabel('t'); ax[0].set_ylabel('y(t)'); ax[0].legend(); ax[0].set_title('Volterra: y = 1 + int_0^t y(s) ds')\n", + "ax[1].semilogy(t[1:], err[1:])\n", + "ax[1].set_xlabel('t'); ax[1].set_ylabel('|y_num - exp(t)|'); ax[1].set_title('pointwise error (log)')\n", + "plt.tight_layout(); plt.show()\n", + "errors['solve_volterra'] = max_err\n", + "assert max_err < 1e-2, f'max err = {max_err}'\n", + "print(f'max error vs exp(t) = {max_err:.3e}')" + ] + }, + { + "cell_type": "markdown", + "id": "19a8f090", + "metadata": {}, + "source": [ + "## 4. Fourier inversion of a characteristic function\n", + "\n", + "Recover a density from $\\varphi(u) = \\mathbb{E}[e^{i u X}]$ via\n", + "\n", + "$$\n", + "f(x) \\;\\approx\\; \\frac{\\Delta u}{\\pi}\\, \\sum_{k=0}^{N_u - 1} w_k \\big[\\,\\Re\\varphi(u_k)\\,\\cos(u_k x) + \\Im\\varphi(u_k)\\,\\sin(u_k x)\\,\\big].\n", + "$$\n", + "\n", + "**Ground truth.** Standard normal $X \\sim \\mathcal{N}(0, 1)$ has\n", + "\n", + "$$\n", + "\\varphi(u) = e^{-u^2 / 2}, \\qquad f(x) = \\frac{1}{\\sqrt{2\\pi}}\\, e^{-x^2 / 2}.\n", + "$$\n", + "\n", + "We supply $\\varphi$ in the trigonometric form $\\varphi(u) = \\cos(-u^2/2) + i \\sin(-u^2/2)$ rescaled by $e^{-u^2/2}$ -- equivalently, real part $e^{-u^2/2}$ and imaginary part $0$, which matches $\\cos(-u^2/2) e^{-u^2/2}$ and $\\sin(-u^2/2) e^{-u^2/2}$ when one writes the Gaussian characteristic function in polar form with phase $-u^2/2$ collapsing to $0$ for a real symmetric law." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "bf8f64a8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:40.965231Z", + "iopub.status.busy": "2026-05-12T09:45:40.964938Z", + "iopub.status.idle": "2026-05-12T09:45:41.737924Z", + "shell.execute_reply": "2026-05-12T09:45:41.736418Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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RERElBUYBCEiIiIiIiKirMAgCBERERERERFlBQZBiIiIiIiIiCgrMAhCRB1ebW0tevXqhZ///Oehx95//3243W4sX77cxpERERFRNuBchKjrkFRVVe0eBBFRLK+++ipmz56N999/H8OHD0dlZSUuv/xyPPjgg3YPjYiIiLIA5yJEXQODIETUaVRVVeG///0vJk2ahE8//RSrV6+Gx+Oxe1hERESUJTgXIer8GAQhok6jqakJo0ePxp49e7BmzRqMGTPG7iERERFRFuFchKjzY08QIuo0tm/fjv3790NRFOzcudPu4RAREVGW4VyEqPNjJggRdQqtra2YMmUKKisrMXz4cCxZsgSffvopevbsaffQiIiIKAtwLkLUNTAIQkSdwh133IHnnnsOH3/8MfLz8zF9+nQUFRXh5ZdftntoRERElAU4FyHqGlgOQ0Qd3ooVK7BkyRI8+eSTKCwshCzLePLJJ/HOO+/gj3/8o93DIyIioi6OcxGiroOZIERERERERESUFZgJQkRERERERERZgUEQIiIiIiIiIsoKDIIQERERERERUVZgEISIiIiIiIiIsgKDIERERERERESUFRgEISIiIiIiIqKswCAIEREREREREWUFBkGIiIiIiIiIKCswCEJEREREREREWYFBECIiIiIiIiLKCgyCEBEREREREVFWYBCEiIiIiIiIiLLC/weHqx9iGLVQMwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max error vs N(0,1) density = 1.665e-15\n" + ] + } + ], + "source": [ + "def phi_normal(u):\n", + " # Standard normal phi(u) = exp(-u^2 / 2), purely real.\n", + " return (float(np.exp(-0.5 * u * u)), 0.0)\n", + "\n", + "x_grid = np.linspace(-5.0, 5.0, 401).tolist()\n", + "res = opt.fourier_invert(phi_normal, x_grid, 25.0, 4000)\n", + "x = np.asarray(res[\"x_grid\"]) ; f_num = np.asarray(res[\"density\"])\n", + "f_exact = (1.0 / np.sqrt(2.0 * np.pi)) * np.exp(-0.5 * x * x)\n", + "err = np.abs(f_num - f_exact)\n", + "max_err = float(err.max())\n", + "\n", + "fig, ax = plt.subplots(1, 2, figsize=(11, 4))\n", + "ax[0].plot(x, f_num, label='Fourier inversion')\n", + "ax[0].plot(x, f_exact, '--', label='exact N(0,1)')\n", + "ax[0].set_xlabel('x'); ax[0].set_ylabel('f(x)'); ax[0].legend(); ax[0].set_title('Density recovery')\n", + "ax[1].semilogy(x, err)\n", + "ax[1].set_xlabel('x'); ax[1].set_ylabel('|f_num - f_exact|'); ax[1].set_title('pointwise error (log)')\n", + "plt.tight_layout(); plt.show()\n", + "errors['fourier_invert'] = max_err\n", + "assert max_err < 1e-3, f'max err = {max_err}'\n", + "print(f'max error vs N(0,1) density = {max_err:.3e}')" + ] + }, + { + "cell_type": "markdown", + "id": "ef513b3c", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "Verified against analytic ground truth -- max error per primitive (filled in at execution time):\n", + "\n", + "* `solve_fractional_ode` vs. Mittag-Leffler $E_{\\alpha}(-t^{\\alpha})$\n", + "* `geometric_grid_lift` vs. rough kernel $t^{H-1/2}/\\Gamma(H+1/2)$\n", + "* `solve_volterra` vs. $e^{t}$\n", + "* `fourier_invert` vs. standard normal density" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c74e905c", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:41.743078Z", + "iopub.status.busy": "2026-05-12T09:45:41.742650Z", + "iopub.status.idle": "2026-05-12T09:45:41.748208Z", + "shell.execute_reply": "2026-05-12T09:45:41.747112Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "solve_fractional_ode max error = 5.625e-04\n", + "geometric_grid_lift max error = 1.688e-02\n", + "solve_volterra max error = 1.232e-06\n", + "fourier_invert max error = 1.665e-15\n", + "\n", + "Verified against analytic ground truth -- max error = 0.016883453274562938\n" + ] + } + ], + "source": [ + "for name, e in errors.items():\n", + " print(f'{name:30s} max error = {e:.3e}')\n", + "print('\\nVerified against analytic ground truth -- max error =', max(errors.values()))" + ] + } + ], + "metadata": { + "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.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebooks/09_signatures.ipynb b/examples/notebooks/09_signatures.ipynb new file mode 100644 index 0000000..f2da415 --- /dev/null +++ b/examples/notebooks/09_signatures.ipynb @@ -0,0 +1,448 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "23e5e7a8", + "metadata": {}, + "source": [ + "# Path Signatures — Companion Notebook\n", + "\n", + "Companion to the documentation page\n", + "[optimiz-r.readthedocs.io / signatures](https://optimiz-r.readthedocs.io/en/latest/algorithms/signatures.html).\n", + "\n", + "We exercise the `signatures` module of `optimiz-rs` on a planar Lissajous\n", + "trajectory of a multivariate path and verify each routine against an\n", + "analytic ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "07795277", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:44.865669Z", + "iopub.status.busy": "2026-05-12T09:45:44.865187Z", + "iopub.status.idle": "2026-05-12T09:45:46.165789Z", + "shell.execute_reply": "2026-05-12T09:45:46.164468Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from optimizr import _core as opt\n", + "\n", + "rng = np.random.default_rng(0)\n", + "n_pts = 50\n", + "t = np.linspace(0.0, 1.0, n_pts)\n", + "path = np.column_stack([np.sin(2 * np.pi * t), np.sin(3 * np.pi * t + 0.4)])\n", + "path_list = [list(map(float, row)) for row in path]\n", + "\n", + "fig, ax = plt.subplots(figsize=(4.5, 4.5))\n", + "ax.plot(path[:, 0], path[:, 1], '-o', ms=3)\n", + "ax.set_title('Lissajous trajectory of a 2D multivariate path')\n", + "ax.set_xlabel('channel 0'); ax.set_ylabel('channel 1'); ax.set_aspect('equal')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "271a318e", + "metadata": {}, + "source": [ + "## Truncated tensor signature\n", + "\n", + "$$ S(X)_{0,T} \\;=\\; 1 + \\sum_{k\\ge 1} \\sum_{i_1,\\dots,i_k}\n", + " S^{i_1,\\dots,i_k}_{0,T}\\, e_{i_1}\\otimes\\dots\\otimes e_{i_k},\n", + " \\qquad\n", + " S^{i_1,\\dots,i_k}_{0,T} = \\int_{0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "linear-segment signature max error vs analytic: 4.337e-19\n" + ] + } + ], + "source": [ + "level = 3\n", + "sig = opt.path_signature(path_list, level)\n", + "tensors = [np.asarray(t, dtype=float) for t in sig['tensors']]\n", + "norms = [float(np.linalg.norm(t)) for t in tensors]\n", + "print('channels =', sig['channels'], 'level =', sig['level'])\n", + "for k, (t_k, nrm) in enumerate(zip(tensors, norms)):\n", + " print(f' level {k}: shape={t_k.shape}, ||S_k||_2 = {nrm:.4e}')\n", + "\n", + "fig, ax = plt.subplots(figsize=(5, 3))\n", + "ax.bar(range(level + 1), norms)\n", + "ax.set_xlabel('tensor level k'); ax.set_ylabel('||S_k||_2')\n", + "ax.set_title('Signature tensor norms by level')\n", + "plt.show()\n", + "\n", + "# Ground truth: a single linear segment of displacement Delta has\n", + "# S^{i_1...i_k} = (Delta_{i_1} ... Delta_{i_k}) / k!\n", + "delta = np.array([0.3, -0.2])\n", + "seg = [[0.0, 0.0], delta.tolist()]\n", + "sig_seg = opt.path_signature(seg, 3)\n", + "T2 = np.asarray(sig_seg['tensors'][2]).reshape(2, 2)\n", + "T3 = np.asarray(sig_seg['tensors'][3]).reshape(2, 2, 2)\n", + "exp_T2 = np.einsum('i,j->ij', delta, delta) / 2.0\n", + "exp_T3 = np.einsum('i,j,k->ijk', delta, delta, delta) / 6.0\n", + "err_seg = max(np.max(np.abs(T2 - exp_T2)), np.max(np.abs(T3 - exp_T3)))\n", + "print(f'linear-segment signature max error vs analytic: {err_seg:.3e}')\n", + "assert err_seg < 1e-12" + ] + }, + { + "cell_type": "markdown", + "id": "44d01c35", + "metadata": {}, + "source": [ + "## Log-signature\n", + "\n", + "$$ \\log(S) \\;=\\; \\sum_{n\\ge 1} \\frac{(-1)^{n+1}}{n}(S - 1)^{\\otimes n}. $$\n", + "\n", + "Lives in the truncated free Lie algebra; its level-1 component equals the\n", + "total path increment." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "d2a13685", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:46.549872Z", + "iopub.status.busy": "2026-05-12T09:45:46.549523Z", + "iopub.status.idle": "2026-05-12T09:45:46.787959Z", + "shell.execute_reply": "2026-05-12T09:45:46.786642Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "log level-1: [-2.49800181e-16 -7.78836685e-01]\n", + " err vs path increment [-2.44929360e-16 -7.78836685e-01]: 1.110e-16\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAE8CAYAAACii+qhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8g0lEQVR4nO3deVxP+f4H8Ne30re0fBOtSrJMSaXGWpZCZBlXwx2EQXYyuO5YmutaZ26MMbgzjNLQzGDCGMxlLE2oQcxYurJMtshSYaQSE+rz+8Ovc+fb5nxTfb/p9Xw8zuMx38/5nHPe5zjm5ewKIYQAERERvZSetgsgIiKqKRiaREREMjE0iYiIZGJoEhERycTQJCIikomhSUREJBNDk4iISCaGJhERkUwMTSIiIpkYmlRlrl+/DoVCgejoaG2XQlSt/P394e7uXuXLUSgUWLBgQZUvRw5dqqUqMTRrkOjoaCgUCpw8eVLbpdRIx44dw4IFC/Dw4UNtl1KCLtdGRP/D0KQq4+TkhCdPnuDdd9/VdikAXgTTwoULdTKYdLk2IvofhiZVGYVCASMjI+jr62u7lCqVl5en7RJ0ii5sD12ogV5PDM3X0JkzZ9C7d2+Ym5vD1NQU3bt3x/Hjx0v0O3v2LPz8/GBsbAwHBwd8+OGH2LBhAxQKBa5fv/7S5cTGxqJTp06wsLCAqakpXFxc8MEHH0jjy7qmuW3bNri5ucHIyAju7u7YsWMHRo0ahcaNG5eY9pNPPkFkZCSaNm0KpVKJtm3b4tdffy2xHqNGjUKTJk1gZGQEW1tbjB49Gr///rvUZ8GCBZg5cyYAwNnZGQqFQlrP8q69Fr9Os2DBAigUCly4cAFDhw5FvXr10KlTJ2n8xo0b0bp1axgbG8PS0hJDhgzBzZs3y92O5dWmyXyLrqNduHABXbt2Rd26ddGwYUN8/PHHJZb52WefoWXLlqhbty7q1auHNm3aYPPmzWp95OxHRZcM4uPjMXnyZFhbW8PBwaHMdT18+DAUCgW2bt2Kjz76CA4ODjAyMkL37t1x5cqVEv23bdsmrXeDBg0wfPhw3L59W63PqFGjYGpqiqtXr6JPnz4wMzPDsGHDALz485syZYq0zxkbG8PHxwfJyckAgIiICDRr1gxGRkbw9/cvsd9fvnwZAwcOhK2tLYyMjODg4IAhQ4YgOzu7zHX8s1OnTsHX1xfGxsZwdnbG2rVrpXGPHj2CiYkJpk2bVmK6W7duQV9fH+Hh4bKW82e3b9/G6NGjYWNjA6VSiZYtW2L9+vXS+MzMTBgYGGDhwoUlpk1JSYFCocDnn38utT18+BDTp0+Ho6MjlEolmjVrhqVLl6KwsFDj2l4HBtougCrX+fPn0blzZ5ibm2PWrFmoU6cOIiIi4O/vj/j4eLRv3x7Ai79YXbt2hUKhQFhYGExMTBAVFQWlUil7OW+99RY8PT2xaNEiKJVKXLlyBUePHi13uj179mDw4MHw8PBAeHg4srKyMGbMGDRs2LDU/ps3b0Zubi4mTJgAhUKBjz/+GAMGDMC1a9dQp04dAC/C+9q1awgJCYGtrS3Onz+PyMhInD9/HsePH4dCocCAAQNw6dIlfPvtt1ixYgUaNGgAALCyssK9e/fkbl7JO++8g+bNm+Nf//oXir6u99FHH+Gf//wnBg0ahLFjx+LevXv47LPP0KVLF5w5cwYWFhalzqu82jSdb1ZWFnr16oUBAwZg0KBB+O677zB79mx4eHigd+/eAIB169Zh6tSp+Otf/4pp06bhjz/+wNmzZ3HixAkMHToUgPz9qMjkyZNhZWWFefPmyTrKW7JkCfT09PD+++8jOzsbH3/8MYYNG4YTJ05IfaKjoxESEoK2bdsiPDwcmZmZWLVqFY4ePVpivZ8/f47AwEB06tQJn3zyCerWrSuN+/nnn/HDDz8gNDQUABAeHo633noLs2bNwpo1azB58mRkZWXh448/xujRo3Hw4EEAwNOnTxEYGIj8/Hy89957sLW1xe3bt7F79248fPgQKpWq3HXMyspCnz59MGjQIAQHB2Pr1q2YNGkSDA0NMXr0aJiamuLtt9/Gli1b8Omnn6qdkfn2228hhJDCX67MzEx06NBB+seClZUV9u7dizFjxiAnJwfTp0+HjY0N/Pz8sHXrVsyfP19t+i1btkBfXx/vvPMOAODx48fw8/PD7du3MWHCBDRq1AjHjh1DWFgY0tPTsXLlSo3qey0IqjE2bNggAIhff/21zD5BQUHC0NBQXL16VWq7c+eOMDMzE126dJHa3nvvPaFQKMSZM2ektt9//11YWloKACI1NbXcWlasWCEAiHv37pXZJzU1VQAQGzZskNo8PDyEg4ODyM3NldoOHz4sAAgnJ6cS09avX188ePBAat+1a5cAIP7zn/9IbY8fPy6x7G+//VYAEAkJCVLbsmXLSl230uosAkDMnz9f+j1//nwBQAQHB6v1u379utDX1xcfffSRWntycrIwMDAo0V5cWbVpMl8/Pz8BQHz99ddSW35+vrC1tRUDBw6U2vr37y9atmxZbj1y96OifbJTp07i+fPn5c5TCCEOHTokAIgWLVqI/Px8qX3VqlUCgEhOThZCCPH06VNhbW0t3N3dxZMnT6R+u3fvFgDEvHnzpLaRI0cKAGLOnDkllgdAKJVKte0aEREhAAhbW1uRk5MjtYeFhan9GZw5c0YAENu2bXvpehVX9GexfPlyqS0/P194eXkJa2tr8fTpUyGEEPv37xcAxN69e9Wm9/T0FH5+fi9dTvH9c8yYMcLOzk7cv39frd+QIUOESqWS/q4UbYOi7V3Ezc1NdOvWTfq9ePFiYWJiIi5duqTWb86cOUJfX1+kpaWVWcvriqdnXyMFBQU4cOAAgoKC0KRJE6ndzs4OQ4cOxZEjR5CTkwMA2LdvH3x8fODl5SX1s7S0lP0v26J/5e/atUv2aZo7d+4gOTkZI0aMgKmpqdTu5+cHDw+PUqcZPHgw6tWrJ/3u3LkzAODatWtSm7GxsfTff/zxB+7fv48OHToAAE6fPi2rNk1NnDhR7ff333+PwsJCDBo0CPfv35cGW1tbNG/eHIcOHarQcjSdr6mpKYYPHy79NjQ0RLt27dS2l4WFBW7dulXiNHcRTfajIuPGjdPo2nVISAgMDQ2l38X/XE+ePIm7d+9i8uTJMDIykvr17dsXrq6u2LNnT4l5Tpo0qdRlde/eXe3Uf9FR8sCBA2FmZlaivaiGoiPJ/fv34/Hjx7LXrYiBgQEmTJgg/TY0NMSECRNw9+5dnDp1CgAQEBAAe3t7bNq0Sep37tw5nD17Vu3PUQ4hBLZv345+/fpBCKG2vwQGBiI7O1v6+zBgwAAYGBhgy5Ytasu9cOECBg8eLLVt27YNnTt3Rr169dTmFxAQgIKCAiQkJGi8XWo6huZr5N69e3j8+DFcXFxKjGvRogUKCwul62A3btxAs2bNSvQr3padnY2MjAxpePDgAYAXYdaxY0eMHTsWNjY2GDJkCLZu3VpugN64caPUZZTVBgCNGjVS+10UoFlZWVLbgwcPMG3aNNjY2MDY2BhWVlZwdnaW6q8KRfMvcvnyZQgh0Lx5c1hZWakNFy9exN27dyu0HE3n6+DgAIVCodZWr149te01e/ZsmJqaol27dmjevDlCQ0PVTqtrsh+VtT1e5mV/rkX7Smk1uLq6SuOLGBgYlHkttfiyisLQ0dGx1PaiGpydnTFjxgxERUWhQYMGCAwMxOrVq2XvU/b29jAxMVFre+ONNwBAunaqp6eHYcOGYefOnVIwb9q0CUZGRtIpUrnu3buHhw8fIjIyssS+EhISAgDS/tKgQQN0794dW7dulabfsmULDAwMMGDAAKnt8uXL2LdvX4n5BQQEqM2vNuE1TSrXtGnT8NVXX0m//fz8cPjwYRgbGyMhIQGHDh3Cnj17sG/fPmzZsgXdunXDgQMHKu2O2bLmI/7/OiIADBo0CMeOHcPMmTPh5eUFU1NTFBYWolevXrKOgouHTJGCgoIyp/nz0S0AFBYWQqFQYO/evaXW/Ocja01oOl8526tFixZISUnB7t27sW/fPmzfvh1r1qzBvHnzSr05RI7i2+Nl5NSpCaVSCT290o8BylqWnBqWL1+OUaNGYdeuXThw4ACmTp2K8PBwHD9+vNwbnjQxYsQILFu2DDt37kRwcDA2b96Mt95666XXTIsr2teHDx+OkSNHltrH09NT+u8hQ4YgJCQESUlJ8PLywtatW9G9e3fpmnrRPHv06IFZs2aVOr+ifwTUJgzN14iVlRXq1q2LlJSUEuN+++036OnpSf+6dnJyKvVuxeJts2bNUjtN9OdTpXp6eujevTu6d++OTz/9FP/617/wj3/8A4cOHZL+JfpnTk5OpS6jrDY5srKyEBcXh4ULF2LevHlS++XLl0v0LSsci9ap+DOSxY9mytO0aVMIIeDs7Fyh/5GUVdurzrcsJiYmGDx4MAYPHoynT59iwIAB+OijjxAWFqbRflRVivaVlJQUdOvWTW1cSkqKNL46eHh4wMPDA3PnzsWxY8fQsWNHrF27Fh9++GG50925cwd5eXlqR5uXLl0CALXTxe7u7vD29samTZvg4OCAtLQ0fPbZZxrXaWVlBTMzMxQUFJT696+4oKAgTJgwQTpFe+nSJYSFhan1adq0KR49eiRrfrUFT8++RvT19dGzZ0/s2rVL7db5zMxMbN68GZ06dYK5uTkAIDAwEImJiUhKSpL6PXjwQO3aCgC4ubkhICBAGlq3bi31La7o+mh+fn6p9dnb28Pd3R1ff/01Hj16JLXHx8dLjwBoquhoofgRSml39RX9z6t4OJqbm6NBgwYlrs+sWbNGdh0DBgyAvr4+Fi5cWKIWIYTa4y+lKau2V51vaYpPY2hoCDc3Nwgh8OzZM432o6rSpk0bWFtbY+3atWr70969e3Hx4kX07du3SpcPADk5OXj+/Llam4eHB/T09Mrcx//s+fPniIiIkH4/ffoUERERsLKykv4eFXn33Xdx4MABrFy5EvXr15fudNaEvr4+Bg4ciO3bt+PcuXMlxhe/S9zCwgKBgYHYunUrYmJiYGhoiKCgILU+gwYNQmJiIvbv319ifg8fPiyxfWoDHmnWQOvXr8e+fftKtE+bNg0ffvih9Pzk5MmTYWBggIiICOTn56s9rzdr1ixs3LgRPXr0wHvvvSc9ctKoUSM8ePCgzCOfIosWLUJCQgL69u0LJycn3L17F2vWrIGDg4Pac4vF/etf/0L//v3RsWNHhISEICsrC59//jnc3d3VglQuc3NzdOnSBR9//DGePXuGhg0b4sCBA0hNTS3Rt+h/VP/4xz8wZMgQ1KlTB/369YOJiQnGjh2LJUuWYOzYsWjTpg0SEhKkowI5mjZtig8//BBhYWG4fv06goKCYGZmhtTUVOzYsQPjx4/H+++/X+b0ZdX2qvMtTc+ePWFra4uOHTvCxsYGFy9exOeff46+fftKN8bI3Y+qSp06dbB06VKEhITAz88PwcHB0iMnjRs3xt/+9rcqr+HgwYOYMmUK3nnnHbzxxht4/vw5vvnmGymcXsbe3h5Lly7F9evX8cYbb2DLli1ISkpCZGSk9LhUkaFDh2LWrFnYsWMHJk2aVGK8XEuWLMGhQ4fQvn17jBs3Dm5ubnjw4AFOnz6Nn376qcQ/dgcPHozhw4djzZo1CAwMLPFY1MyZM/HDDz/grbfewqhRo9C6dWvk5eUhOTkZ3333Ha5fv652OrdWqP4bdqmiim7vL2u4efOmEEKI06dPi8DAQGFqairq1q0runbtKo4dO1ZifmfOnBGdO3cWSqVSODg4iPDwcPHvf/9bABAZGRnl1hIXFyf69+8v7O3thaGhobC3txfBwcFqt6aX9ShHTEyMcHV1FUqlUri7u4sffvhBDBw4ULi6upaYdtmyZSWWjWK3tt+6dUu8/fbbwsLCQqhUKvHOO++IO3fulHoL/OLFi0XDhg2Fnp6e2uMFjx8/FmPGjBEqlUqYmZmJQYMGibt375b5yElZj9ps375ddOrUSZiYmAgTExPh6uoqQkNDRUpKSrnbs7za5M7Xz8+v1EdJRo4cqfY4T0REhOjSpYuoX7++UCqVomnTpmLmzJkiOztbbTo5+5Gcx6D+rOiRk+KPcZS1r2zZskV4e3sLpVIpLC0txbBhw8StW7dKrJ+JiUmpywMgQkNDS11W8X2reG3Xrl0To0ePFk2bNhVGRkbC0tJSdO3aVfz0008vXc+iP4uTJ08KHx8fYWRkJJycnMTnn39e5jR9+vQRAEr9u1qW0vbxzMxMERoaKhwdHUWdOnWEra2t6N69u4iMjCwxfU5OjjA2NhYAxMaNG0tdRm5urggLCxPNmjUThoaGokGDBsLX11d88skn0qMzZdXyOlIIUcEr7/Ramj59OiIiIvDo0aNqff2dl5cXrKysEBsbW23LJNIlb7/9NpKTkyt8fZ+qB69p1mJPnjxR+/3777/jm2++QadOnaosMJ89e1biOsjhw4fx3//+F/7+/lWyTCJdl56ejj179ujMxw2obDzSrMW8vLzg7++PFi1aIDMzE19++SXu3LmDuLg4dOnSpUqWef36dQQEBGD48OGwt7fHb7/9hrVr10KlUuHcuXOoX79+lSyXSBelpqbi6NGjiIqKwq+//oqrV6/C1tZW22VROXgjUC3Wp08ffPfdd4iMjIRCocCbb76JL7/8ssoCE3jxeEfr1q0RFRWFe/fuwcTEBH379sWSJUsYmFTrxMfHIyQkBI0aNcJXX33FwKwBeKRJREQkE69pEhERycTQJCIikqlWXtMsLCzEnTt3YGZm9tKH+ImI6PUkhEBubi7s7e3LfHdxcbUyNO/cuVPl784kIqKa4ebNm7JfwF8rQ7PoVWE3b96s8ndoEhGRbsrJyYGjo6Pad1VfplaGZtEpWXNzc4YmEVEtp8llOt4IREREJBNDk4iISCaGJhERkUwMTSIiIpkYmkRERDIxNImIiGRiaBIREcnE0CQiIpKpVr7cgIg0sECl7QpqhgXZ2q6AqgGPNImIiGRiaBIREcnE0CQiIpJJq6H5xRdfwNPTU3pxuo+PD/bu3VvuNNu2bYOrqyuMjIzg4eGBH3/8sZqqJSKi2k6roeng4IAlS5bg1KlTOHnyJLp164b+/fvj/PnzpfY/duwYgoODMWbMGJw5cwZBQUEICgrCuXPnqrlyIiKqjRRCCKHtIv7M0tISy5Ytw5gxY0qMGzx4MPLy8rB7926prUOHDvDy8sLatWtlLyMnJwcqlQrZ2dn8NBjRy/DuWXl492yNU5Es0JlrmgUFBYiJiUFeXh58fHxK7ZOYmIiAgAC1tsDAQCQmJpY77/z8fOTk5KgNREREmtJ6aCYnJ8PU1BRKpRITJ07Ejh074ObmVmrfjIwM2NjYqLXZ2NggIyOj3GWEh4dDpVJJg6OjY6XVT0REtYfWQ9PFxQVJSUk4ceIEJk2ahJEjR+LChQuVuoywsDBkZ2dLw82bNyt1/kREVDto/Y1AhoaGaNasGQCgdevW+PXXX7Fq1SpERESU6Gtra4vMzEy1tszMTNja2pa7DKVSCaVSWXlFExFRraT1I83iCgsLkZ+fX+o4Hx8fxMXFqbXFxsaWeQ2UiIioMmn1SDMsLAy9e/dGo0aNkJubi82bN+Pw4cPYv38/AGDEiBFo2LAhwsPDAQDTpk2Dn58fli9fjr59+yImJgYnT55EZGSkNleDiIhqCa2G5t27dzFixAikp6dDpVLB09MT+/fvR48ePQAAaWlp0NP738Gwr68vNm/ejLlz5+KDDz5A8+bNsXPnTri7u2trFYiIqBbRuec0qwOf0yTSAJ/TlIfPadY4Nfo5TSIiIl3H0CQiIpKJoUlERCQTQ5OIiEgmhiYREZFMDE0iIiKZGJpEREQyMTSJiIhkYmgSERHJxNAkIiKSiaFJREQkE0OTiIhIJoYmERGRTAxNIiIimRiaREREMjE0iYiIZGJoEhERycTQJCIikomhSUREJBNDk4iISCaGJhERkUwMTSIiIpkYmkRERDIxNImIiGTSamiGh4ejbdu2MDMzg7W1NYKCgpCSklLuNNHR0VAoFGqDkZFRNVVMRES1mVZDMz4+HqGhoTh+/DhiY2Px7Nkz9OzZE3l5eeVOZ25ujvT0dGm4ceNGNVVMRES1mYE2F75v3z6139HR0bC2tsapU6fQpUuXMqdTKBSwtbWt6vKIiIjU6NQ1zezsbACApaVluf0ePXoEJycnODo6on///jh//ny5/fPz85GTk6M2EBERaUpnQrOwsBDTp09Hx44d4e7uXmY/FxcXrF+/Hrt27cLGjRtRWFgIX19f3Lp1q8xpwsPDoVKppMHR0bEqVoGIiF5zCiGE0HYRADBp0iTs3bsXR44cgYODg+zpnj17hhYtWiA4OBiLFy8utU9+fj7y8/Ol3zk5OXB0dER2djbMzc1fuXai19oClbYrqBkWZGu7AtJQTk4OVCqVRlmg1WuaRaZMmYLdu3cjISFBo8AEgDp16sDb2xtXrlwps49SqYRSqXzVMomIqJbT6ulZIQSmTJmCHTt24ODBg3B2dtZ4HgUFBUhOToadnV0VVEhERPQ/Wj3SDA0NxebNm7Fr1y6YmZkhIyMDAKBSqWBsbAwAGDFiBBo2bIjw8HAAwKJFi9ChQwc0a9YMDx8+xLJly3Djxg2MHTtWa+tBRES1g1ZD84svvgAA+Pv7q7Vv2LABo0aNAgCkpaVBT+9/B8RZWVkYN24cMjIyUK9ePbRu3RrHjh2Dm5tbdZVNRES1lM7cCFSdKnLxl6jW4o1A8vBGoBqnIlmgM4+cEBER6TqGJhERkUwMTSIiIpkYmkRERDIxNImIiGRiaBIREcnE0CQiIpKJoUlERCQTQ5OIiEgmhiYREZFMDE0iIiKZGJpEREQyMTSJiIhkYmgSERHJVKHQXLNmDQICAjBo0CDExcWpjbt//z6aNGlSKcURERHpEo1D89///jdmzpwJV1dXKJVK9OnTB+Hh4dL4goIC3Lhxo1KLJCIi0gUGmk4QERGBdevWYejQoQCASZMmISgoCE+ePMGiRYsqvUAiIiJdoXFopqamwtfXV/rt6+uLgwcPIiAgAM+ePcP06dMrsz4iIiKdoXFoNmjQADdv3kTjxo2lNnd3dxw8eBDdunXDnTt3KrM+IiIinaHxNc1OnTrh+++/L9Hu5uaGuLg47N27t1IKIyIi0jUaH2nOmTMHp06dKnVcy5YtcfDgQWzfvv2VCyMiItI1Goemp6cnPD09yxzv7u4Od3d36ffkyZOxaNEiNGjQoGIVEhER6Ygqf7nBxo0bkZOTU9WLISIiqnJVHppCiKpeBBERUbXQ6mv0wsPD0bZtW5iZmcHa2hpBQUFISUl56XTbtm2Dq6srjIyM4OHhgR9//LEaqiUiotpOq6EZHx+P0NBQHD9+HLGxsXj27Bl69uyJvLy8Mqc5duwYgoODMWbMGJw5cwZBQUEICgrCuXPnqrFyIiKqjRSiis+fmpmZ4b///a+s99Heu3cP1tbWiI+PR5cuXUrtM3jwYOTl5WH37t1SW4cOHeDl5YW1a9fKqiknJwcqlQrZ2dkwNzeXtyJEtdUClbYrqBkWZGu7AtJQRbJAp75ykp39YqeztLQss09iYiICAgLU2gIDA5GYmFjmNPn5+cjJyVEbiIiINFXloTl8+HBZCV5YWIjp06ejY8eOao+sFJeRkQEbGxu1NhsbG2RkZJQ5TXh4OFQqlTQ4OjrKXwEiIqL/V+Wh+cUXX8h6RjM0NBTnzp1DTExMpdcQFhaG7Oxsabh582alL4OIiF5/Gr3coGvXrlAoFBovZNSoURgxYkSZ46dMmYLdu3cjISEBDg4O5c7L1tYWmZmZam2ZmZmwtbUtcxqlUgmlUqlZ0URERMVoFJqjRo2q0EJatWpVarsQAu+99x527NiBw4cPw9nZ+aXz8vHxQVxcnNrXVGJjY+Hj41Oh2oiIiOTSKDRHjhxZqQsPDQ3F5s2bsWvXLpiZmUnXJVUqFYyNjQEAI0aMQMOGDaUPXU+bNg1+fn5Yvnw5+vbti5iYGJw8eRKRkZGVWhsREVFxWr179osvvkB2djb8/f1hZ2cnDVu2bJH6pKWlIT09Xfrt6+uLzZs3IzIyEq1atcJ3332HnTt3lnvzEBERUWXQ6DnNtLS0Ci3EwsJCp56H5HOaRBrgc5ry8DnNGqciWaDR6dnGjRtDoVBo9D5ZhUKB+fPnY968eZosioiISOdoFJqFhYVVVQcREZHOq5JrmvyyCRERvY4qHJrLli0rtb2goABDhw6tcEFERES66pVC88svv1RrKygowJAhQ5CUlPSqdREREekcja5p/tmePXvQs2dPqFQq/PWvf8Xz588xaNAg/Pbbbzh06FBl1khERKQTKhyabdu2xfbt2xEUFARDQ0N8+eWXuHLlCg4dOlTihepERESvg1e6Eahbt274+uuvMXDgQKSmpiI+Pp6BSUREry2NjjQHDBhQaruVlRUsLCwwfvx4qe37779/tcqIiIh0jEahqVKV/maQwMDASimGiIhIl2kUmhs2bNB4AUePHkWbNm34aS4iIqrxqvyF7b1798bt27erejFERERVrspDk28HIiKi14VWPw1GRERUkzA0iYiIZGJoEhERyVTloalQKKp6EURERNWCNwIRERHJVOF3z8qVm5tb1YsgIiKqFhUKzYsXLyImJgY///wzbty4gcePH8PKygre3t4IDAzEwIED+TIDIiJ67Wh0evb06dMICAiAt7c3jhw5gvbt22P69OlYvHgxhg8fDiEE/vGPf8De3h5Lly5Ffn5+VdVNRERU7TQ60hw4cCBmzpyJ7777DhYWFmX2S0xMxKpVq7B8+XJ88MEHr1ojERGRTtAoNC9duoQ6deq8tJ+Pjw98fHzw7NmzChdGRESkazQ6PSsnMF+lPxERkS7T+JGTxMRE7N69W63t66+/hrOzM6ytrTF+/HheyyQioteSxqG5aNEinD9/XvqdnJyMMWPGICAgAHPmzMF//vMfhIeHy55fQkIC+vXrB3t7eygUCuzcubPc/ocPH4ZCoSgxZGRkaLoqREREGtE4NJOSktC9e3fpd0xMDNq3b49169ZhxowZ+Pe//42tW7fKnl9eXh5atWqF1atXa1RHSkoK0tPTpcHa2lqj6YmIiDSl8XOaWVlZsLGxkX7Hx8ejd+/e0u+2bdvi5s2bsufXu3dvtenlsra2LvcOXiIiosqm8ZGmjY0NUlNTAQBPnz7F6dOn0aFDB2l8bm5utdwA5OXlBTs7O/To0QNHjx4tt29+fj5ycnLUBiIiIk1pHJp9+vTBnDlz8PPPPyMsLAx169ZF586dpfFnz55F06ZNK7XIP7Ozs8PatWuxfft2bN++HY6OjvD398fp06fLnCY8PBwqlUoaHB0dq6w+IiJ6fSmEhm9Uv3//PgYMGIAjR47A1NQUX331Fd5++21pfPfu3dGhQwd89NFHmhejUGDHjh0ICgrSaDo/Pz80atQI33zzTanj8/Pz1e7ozcnJgaOjI7Kzs2Fubq5xnUS1ygKVtiuoGRZka7sC0lBOTg5UKpVGWaDxNc0GDRogISEB2dnZMDU1hb6+vtr4bdu2wdTUVNPZvpJ27drhyJEjZY5XKpV8Fy4REb2yCn/lRKUq/V+flpaWFS6mopKSkmBnZ1ftyyUiotpFo9CcOHEi5s6dCwcHh5f23bJlC54/f45hw4aV2+/Ro0e4cuWK9Ds1NRVJSUmwtLREo0aNEBYWhtu3b+Prr78GAKxcuRLOzs5o2bIl/vjjD0RFReHgwYM4cOCAJqtCRESkMY1C08rKCi1btkTHjh3Rr18/tGnTBvb29jAyMkJWVhYuXLiAI0eOICYmBvb29oiMjHzpPE+ePImuXbtKv2fMmAEAGDlyJKKjo5Geno60tDRp/NOnT/H3v/8dt2/fRt26deHp6YmffvpJbR5ERERVQeMbgTIzMxEVFYWYmBhcuHBBbZyZmRkCAgIwduxY9OrVq1ILrUwVufhLVGvxRiB5eCNQjVORLNA4NP8sKysLaWlpePLkCRo0aICmTZtCoVBUdHbVhqFJpAGGpjwMzRqnWu6e/bN69eqhXr16rzILIiKiGqPCoXn27NlS2xUKBYyMjNCoUSM+5kFERK+VCoeml5dXuadi69Spg8GDByMiIgJGRkYVXQwREZHO0Pg1ekV27NiB5s2bIzIyEklJSUhKSkJkZCRcXFywefNmfPnllzh48CDmzp1bmfUSERFpTYWPND/66COsWrUKgYGBUpuHhwccHBzwz3/+E7/88gtMTEzw97//HZ988kmlFEtERKRNFT7STE5OhpOTU4l2JycnJCcnA3hxCjc9Pb3i1REREemQCoemq6srlixZgqdPn0ptz549w5IlS+Dq6goAuH37ttq3N4mIiGqyCp+eXb16Nf7yl7/AwcEBnp6eAF4cfRYUFGD37t0AgGvXrmHy5MmVUykREZGWvdLLDXJzc7Fp0yZcunQJAODi4oKhQ4fCzMys0gqsCny5AZEG+HIDefhygxqn2l9uYGZmhokTJ77KLIiIiGqMVwrNq1evYuXKlbh48SIAoGXLlpg6dSqaNm1aKcURERHpkgrfCLR//364ubnhl19+gaenJzw9PXH8+HG0bNkSsbGxlVkjERGRTqjwkeacOXPwt7/9DUuWLCnRPnv2bPTo0eOViyMiItIlFT7SvHjxIsaMGVOiffTo0SU+GUZERPQ6qHBoWllZISkpqUR7UlISrK2tX6UmIiIinVTh07Pjxo3D+PHjce3aNfj6+gIAjh49iqVLl2LGjBmVViAREZGuqHBo/vOf/4SZmRmWL1+OsLAwAIC9vT0WLFiAqVOnVlqBREREuuKVXm5QJDc3FwB0/qUGRfhyAyIN8OUG8vDlBjVOtb/coEhNCUsiIqJXoVFoent7l/vh6T87ffp0hQoiIiLSVRqFZlBQUBWVQUREpPs0Cs358+dXVR1ERFSE15Hl0cJ15Ao/p0lERFTbaHSkuWjRogotxN/fH126dCl1XEJCApYtW4ZTp04hPT0dO3bseOlp4MOHD2PGjBk4f/48HB0dMXfuXIwaNapCtREREcmlUWimpqZWaCFeXl5ljsvLy0OrVq0wevRoDBgwQFYNffv2xcSJE7Fp0ybExcVh7NixsLOzQ2BgYIXqIyIikkOj0NywYUOlF9C7d2/07t1bdv+1a9fC2dkZy5cvBwC0aNECR44cwYoVKxiaRERUpWrcNc3ExEQEBASotQUGBiIxMbHMafLz85GTk6M2EBERaUqjI01nZ2fZz2n+2fTp0yvt1XoZGRmwsbFRa7OxsUFOTg6ePHkCY2PjEtOEh4dj4cKFlbJ8IiKqvTQKzejo6AotpHHjxhWarrKEhYWpvUQ+JycHjo6OWqyIiIhqIo1C08/Pr6rqkM3W1haZmZlqbZmZmTA3Ny/1KBMAlEollEpldZRHRESvsRp3TdPHxwdxcXFqbbGxsfDx8dFSRUREVFtoPTQfPXqEpKQk6YPWqampSEpKQlpaGoAXp1ZHjBgh9Z84cSKuXbuGWbNm4bfffsOaNWuwdetW/O1vf9NG+UREVItoPTRPnjwJb29veHt7AwBmzJgBb29vzJs3DwCQnp4uBSjw4makPXv2IDY2Fq1atcLy5csRFRXFx02IiKjKVcqnwV6Fv78/yvukZ2k3H/n7++PMmTNVWBUREVFJWj/SJCIiqikYmkRERDIxNImIiGRiaBIREcnE0CQiIpKJoUlERCQTQ5OIiEgmhiYREZFMDE0iIiKZtP5GICKNLFBpu4KaYUG2tisgei3xSJOIiEgmhiYREZFMDE0iIiKZGJpEREQyMTSJiIhkYmgSERHJxNAkIiKSiaFJREQkE0OTiIhIJoYmERGRTAxNIiIimRiaREREMjE0iYiIZGJoEhERyaQTobl69Wo0btwYRkZGaN++PX755Zcy+0ZHR0OhUKgNRkZG1VgtERHVVloPzS1btmDGjBmYP38+Tp8+jVatWiEwMBB3794tcxpzc3Okp6dLw40bN6qxYiIiqq20Hpqffvopxo0bh5CQELi5uWHt2rWoW7cu1q9fX+Y0CoUCtra20mBjY1ONFRMRUW2l1dB8+vQpTp06hYCAAKlNT08PAQEBSExMLHO6R48ewcnJCY6Ojujfvz/Onz9f7nLy8/ORk5OjNhAREWlKq6F5//59FBQUlDhStLGxQUZGRqnTuLi4YP369di1axc2btyIwsJC+Pr64tatW2UuJzw8HCqVShocHR0rdT2IiKh20PrpWU35+PhgxIgR8PLygp+fH77//ntYWVkhIiKizGnCwsKQnZ0tDTdv3qzGiomI6HVhoM2FN2jQAPr6+sjMzFRrz8zMhK2trax51KlTB97e3rhy5UqZfZRKJZRK5SvVSkREpNUjTUNDQ7Ru3RpxcXFSW2FhIeLi4uDj4yNrHgUFBUhOToadnV1VlUlERARAy0eaADBjxgyMHDkSbdq0Qbt27bBy5Urk5eUhJCQEADBixAg0bNgQ4eHhAIBFixahQ4cOaNasGR4+fIhly5bhxo0bGDt2rDZXg4iIagGth+bgwYNx7949zJs3DxkZGfDy8sK+ffukm4PS0tKgp/e/A+KsrCyMGzcOGRkZqFevHlq3bo1jx47Bzc1NW6tARES1hEIIIbRdRHXLycmBSqVCdnY2zM3NtV0OaWKBStsV1AwLsitxXtzmsnCbV79X3OYVyYIad/csERGRtjA0iYiIZGJoEhERycTQJCIikomhSUREJBNDk4iISCaGJhERkUwMTSIiIpkYmkRERDIxNImIiGRiaBIREcnE0CQiIpKJoUlERCQTQ5OIiEgmhiYREZFMDE0iIiKZGJpEREQyMTSJiIhkYmgSERHJxNAkIiKSiaFJREQkE0OTiIhIJoYmERGRTAxNIiIimRiaREREMulEaK5evRqNGzeGkZER2rdvj19++aXc/tu2bYOrqyuMjIzg4eGBH3/8sZoqJSKi2kzrobllyxbMmDED8+fPx+nTp9GqVSsEBgbi7t27pfY/duwYgoODMWbMGJw5cwZBQUEICgrCuXPnqrlyIiKqbbQemp9++inGjRuHkJAQuLm5Ye3atahbty7Wr19fav9Vq1ahV69emDlzJlq0aIHFixfjzTffxOeff17NlRMRUW1joM2FP336FKdOnUJYWJjUpqenh4CAACQmJpY6TWJiImbMmKHWFhgYiJ07d5a5nPz8fOTn50u/s7OzAQA5OTmvUD1pRb7QdgU1Q2Xu29zm8nCbV79X3OZFGSCE/O2t1dC8f/8+CgoKYGNjo9ZuY2OD3377rdRpMjIySu2fkZFR5nLCw8OxcOHCEu2Ojo4VqJqoBlii0nYFtQ+3efWrpG2em5sLlUrevLQamtUlLCxM7ei0sLAQDx48QP369aFQKEr0z8nJgaOjI27evAlzc/PqLPWV1NS6gZpbe02tG6i5tbPu6ldTa39Z3UII5Obmwt7eXvY8tRqaDRo0gL6+PjIzM9XaMzMzYWtrW+o0tra2GvUHAKVSCaVSqdZmYWHx0vrMzc1r1A5SpKbWDdTc2mtq3UDNrZ11V7+aWnt5dcs9wiyi1RuBDA0N0bp1a8TFxUlthYWFiIuLg4+PT6nT+Pj4qPUHgNjY2DL7ExERVRatn56dMWMGRo4ciTZt2qBdu3ZYuXIl8vLyEBISAgAYMWIEGjZsiPDwcADAtGnT4Ofnh+XLl6Nv376IiYnByZMnERkZqc3VICKiWkDroTl48GDcu3cP8+bNQ0ZGBry8vLBv3z7pZp+0tDTo6f3vgNjX1xebN2/G3Llz8cEHH6B58+bYuXMn3N3dK60mpVKJ+fPnlzilq+tqat1Aza29ptYN1NzaWXf1q6m1V0XdCqHJvbZERES1mNZfbkBERFRTMDSJiIhkYmgSERHJxNAkIiKSiaH5/x48eIBhw4bB3NwcFhYWGDNmDB49elTuNP7+/lAoFGrDxIkTq7TOmvwZNU1qj46OLrFtjYyMqrHaFxISEtCvXz/Y29tDoVCU+47jIocPH8abb74JpVKJZs2aITo6usrrLE7Tug8fPlxieysUinJfT1kVwsPD0bZtW5iZmcHa2hpBQUFISUl56XTa3s8rUreu7ONffPEFPD09pRcA+Pj4YO/eveVOo+3tDWhed2Vtb4bm/xs2bBjOnz+P2NhY7N69GwkJCRg/fvxLpxs3bhzS09Ol4eOPP66yGmvyZ9Q0rR148RaPP2/bGzduVGPFL+Tl5aFVq1ZYvXq1rP6pqano27cvunbtiqSkJEyfPh1jx47F/v37q7hSdZrWXSQlJUVtm1tbW1dRhaWLj49HaGgojh8/jtjYWDx79gw9e/ZEXl5emdPown5ekboB3djHHRwcsGTJEpw6dQonT55Et27d0L9/f5w/f77U/rqwvStSN1BJ21uQuHDhggAgfv31V6lt7969QqFQiNu3b5c5nZ+fn5g2bVo1VPhCu3btRGhoqPS7oKBA2Nvbi/Dw8FL7Dxo0SPTt21etrX379mLChAlVWmdpNK19w4YNQqVSVVN18gAQO3bsKLfPrFmzRMuWLdXaBg8eLAIDA6uwsvLJqfvQoUMCgMjKyqqWmuS6e/euACDi4+PL7KNL+3kROXXr4j5epF69eiIqKqrUcbq4vYuUV3dlbW8eaeLF58YsLCzQpk0bqS0gIAB6eno4ceJEudNu2rQJDRo0gLu7O8LCwvD48eMqqbHoM2oBAQFSm5zPqP25P/DiM2pl9a8qFakdAB49egQnJyc4Ojq+9F+QukJXtnlFeXl5wc7ODj169MDRo0e1XY70GT9LS8sy++jiNpdTN6B7+3hBQQFiYmKQl5dX5qtJdXF7y6kbqJztrfU3AumCjIyMEqehDAwMYGlpWe41naFDh8LJyQn29vY4e/YsZs+ejZSUFHz//feVXmN1fUatKlSkdhcXF6xfvx6enp7Izs7GJ598Al9fX5w/fx4ODg7VUXaFlLXNc3Jy8OTJExgbG2upsvLZ2dlh7dq1aNOmDfLz8xEVFQV/f3+cOHECb775plZqKiwsxPTp09GxY8dy3/ilK/t5Ebl169I+npycDB8fH/zxxx8wNTXFjh074ObmVmpfXdremtRdWdv7tQ7NOXPmYOnSpeX2uXjxYoXn/+drnh4eHrCzs0P37t1x9epVNG3atMLzpRcv5v/zvxh9fX3RokULREREYPHixVqs7PXk4uICFxcX6bevry+uXr2KFStW4JtvvtFKTaGhoTh37hyOHDmileVXlNy6dWkfd3FxQVJSErKzs/Hdd99h5MiRiI+PLzOAdIUmdVfW9n6tQ/Pvf/87Ro0aVW6fJk2awNbWtsQNKc+fP8eDBw/K/eRYce3btwcAXLlypdJDs7o+o1YVKlJ7cXXq1IG3tzeuXLlSFSVWmrK2ubm5uc4eZZalXbt2WgusKVOmSDfkvewoQFf2c0CzuovT5j5uaGiIZs2aAQBat26NX3/9FatWrUJERESJvrq0vTWpu7iKbu/X+pqmlZUVXF1dyx0MDQ3h4+ODhw8f4tSpU9K0Bw8eRGFhoRSEciQlJQF4caqrstXkz6hVpPbiCgoKkJycXCXbtjLpyjavDElJSdW+vYUQmDJlCnbs2IGDBw/C2dn5pdPowjavSN3F6dI+XlhYiPz8/FLH6cL2Lkt5dRdX4e39yrcSvSZ69eolvL29xYkTJ8SRI0dE8+bNRXBwsDT+1q1bwsXFRZw4cUIIIcSVK1fEokWLxMmTJ0VqaqrYtWuXaNKkiejSpUuV1RgTEyOUSqWIjo4WFy5cEOPHjxcWFhYiIyNDCCHEu+++K+bMmSP1P3r0qDAwMBCffPKJuHjxopg/f76oU6eOSE5OrrIaK6v2hQsXiv3794urV6+KU6dOiSFDhggjIyNx/vz5aq07NzdXnDlzRpw5c0YAEJ9++qk4c+aMuHHjhhBCiDlz5oh3331X6n/t2jVRt25dMXPmTHHx4kWxevVqoa+vL/bt26fTda9YsULs3LlTXL58WSQnJ4tp06YJPT098dNPP1Vr3ZMmTRIqlUocPnxYpKenS8Pjx4+lPrq4n1ekbl3Zx+fMmSPi4+NFamqqOHv2rJgzZ45QKBTiwIEDpdatC9u7InVX1vZmaP6/33//XQQHBwtTU1Nhbm4uQkJCRG5urjQ+NTVVABCHDh0SQgiRlpYmunTpIiwtLYVSqRTNmjUTM2fOFNnZ2VVa52effSYaNWokDA0NRbt27cTx48elcX5+fmLkyJFq/bdu3SreeOMNYWhoKFq2bCn27NlTpfWVR5Pap0+fLvW1sbERffr0EadPn672mosexSg+FNU6cuRI4efnV2IaLy8vYWhoKJo0aSI2bNig83UvXbpUNG3aVBgZGQlLS0vh7+8vDh48WO11l1YzALVtqIv7eUXq1pV9fPTo0cLJyUkYGhoKKysr0b17dyl4SqtbCO1vbyE0r7uytjc/DUZERCTTa31Nk4iIqDIxNImIiGRiaBIREcnE0CQiIpKJoUlERCQTQ5OIiEgmhiYREZFMDE0iIiKZGJpEhMOHD0OhUODhw4fVtszr169DoVBI72wuTePGjbFy5cpqq4noZRiaRJXA398f06dP13YZRFTFGJpEtUhBQQEKCwu1XQZRjcXQJHpFo0aNQnx8PFatWgWFQgGFQoHr168DAM6dO4fevXvD1NQUNjY2ePfdd3H//n1pWn9/f0ydOhWzZs2CpaUlbG1tsWDBAmm8EAILFixAo0aNoFQqYW9vj6lTp0rjs7KyMGLECNSrVw9169ZF7969cfnyZWl8dHQ0LCws8MMPP8DNzQ1KpRJpaWmy1uvIkSPo3LkzjI2N4ejoiKlTpyIvLw8A8MEHH5T62bxWrVph0aJF0u+oqCi0aNECRkZGcHV1xZo1a2QtuyxRUVGwsLAo8Wkqomrzyq+aJ6rlHj58KHx8fMS4ceOkT0I9f/5cZGVlCSsrKxEWFiYuXrwoTp8+LXr06CG6du0qTevn5yfMzc3FggULxKVLl8RXX32l9nmjbdu2CXNzc/Hjjz+KGzduiBMnTojIyEhp+r/85S+iRYsWIiEhQSQlJYnAwEDRrFkz8fTpUyGEEBs2bBB16tQRvr6+4ujRo+K3334TeXl5Jdah6KsoWVlZQogXn74zMTERK1asEJcuXRJHjx4V3t7eYtSoUUIIIc6dOycAiCtXrkjzKGq7fPmyEEKIjRs3Cjs7O7F9+3Zx7do1sX37dmFpaSmio6OFEP/7ctCZM2fK3LZOTk5ixYoVQogXX2KpX7++9Hk+Im1gaBJVAj8/PzFt2jS1tsWLF4uePXuqtd28eVMAECkpKdJ0nTp1UuvTtm1bMXv2bCGEEMuXLxdvvPGGFIJ/dunSJQFAHD16VGq7f/++MDY2Flu3bhVCvAhNACIpKanc+ouH5pgxY8T48ePV+vz8889CT09PPHnyRAghRKtWrcSiRYuk8WFhYaJ9+/bS76ZNm4rNmzeX2CY+Pj5CCM1Cc9asWcLOzk6cO3eu3PUgqmo8PUtURf773//i0KFDMDU1lQZXV1cAwNWrV6V+np6eatPZ2dnh7t27AIB33nkHT548QZMmTTBu3Djs2LEDz58/BwBcvHgRBgYGaqdJ69evDxcXF1y8eFFqMzQ0LLEMObVHR0er1R4YGIjCwkKkpqYCAIYNG4bNmzcDeHEa+dtvv8WwYcMAAHl5ebh69SrGjBmjNo8PP/xQbd3lWL58OdatW4cjR46gZcuWGk1LVNkMtF0A0evq0aNH6NevH5YuXVpinJ2dnfTfderUURunUCikm3UcHR2RkpKCn376CbGxsZg8eTKWLVuG+Ph42XUYGxtDoVBoXPuECRPUrp8WadSoEQAgODgYs2fPxunTp/HkyRPcvHkTgwcPlqYHgHXr1pW49qmvr69RLZ07d8aePXuwdetWzJkzR6NpiSobQ5OoEhgaGqKgoECt7c0338T27dvRuHFjGBhU/K+asbEx+vXrh379+iE0NBSurq5ITk5GixYt8Pz5c5w4cQK+vr4AgN9//x0pKSlwc3N7pfV58803ceHCBTRr1qzMPg4ODvDz88OmTZvw5MkT9OjRA9bW1gAAGxsb2Nvb49q1a9LRZ0W1a9cOU6ZMQa9evWBgYID333//leZH9CoYmkSVoHHjxjhx4gSuX78OU1NTWFpaIjQ0FOvWrUNwcLB0d+yVK1cQExODqKgoWUdc0dHRKCgoQPv27VG3bl1s3LgRxsbGcHJyQv369dG/f3+MGzcOERERMDMzw5w5c9CwYUP079//ldZn9uzZ6NChA6ZMmYKxY8fCxMQEFy5cQGxsLD7//HOp37BhwzB//nw8ffoUK1asUJvHwoULMXXqVKhUKvTq1Qv5+fk4efIksrKyMGPGDI3q8fX1xY8//ojevXvDwMCAz8SS1vCaJlEleP/996Gvrw83NzdYWVkhLS0N9vb2OHr0KAoKCtCzZ094eHhg+vTpsLCwgJ6evL96FhYWWLduHTp27AhPT0/89NNP+M9//oP69esDADZs2IDWrVvjrbfego+PD4QQ+PHHH0uc8tWUp6cn4uPjcenSJXTu3Bne3t6YN28e7O3t1fr99a9/xe+//47Hjx8jKChIbdzYsWMRFRWFDRs2wMPDA35+foiOjoazs3OFaurUqRP27NmDuXPn4rPPPqvoqhG9EoUQQmi7CCIiopqAR5pEREQyMTSJiIhkYmgSERHJxNAkIiKSiaFJREQkE0OTiIhIJoYmERGRTAxNIiIimRiaREREMjE0iYiIZGJoEhERyfR/gu4KWXjhyK4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "log_sig = opt.path_log_signature(path_list, level)\n", + "log_tensors = [np.asarray(t, dtype=float) for t in log_sig['tensors']]\n", + "log_norms = [float(np.linalg.norm(t)) for t in log_tensors]\n", + "print('log level-1:', log_tensors[1])\n", + "increment = path[-1] - path[0]\n", + "err_log1 = float(np.max(np.abs(log_tensors[1] - increment)))\n", + "print(f' err vs path increment {increment}: {err_log1:.3e}')\n", + "assert err_log1 < 1e-10\n", + "\n", + "fig, ax = plt.subplots(figsize=(5, 3))\n", + "ax.bar(range(level + 1), log_norms, color='C1')\n", + "ax.set_xlabel('tensor level k'); ax.set_ylabel('||log(S)_k||_2')\n", + "ax.set_title('Log-signature tensor norms by level')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "2db19426", + "metadata": {}, + "source": [ + "## Random reservoir signature\n", + "\n", + "$$ dZ_t = A_0 Z_t\\, dt + \\sum_{i=1}^{d} A_i Z_t\\, dX^{i}_t,\n", + " \\qquad A_i \\in \\mathbb{R}^{N\\times N},\\;\n", + " (A_i)_{ab}\\stackrel{iid}{\\sim}\\mathcal{N}(0, 1/N). $$" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f0ae6db8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:46.797186Z", + "iopub.status.busy": "2026-05-12T09:45:46.796900Z", + "iopub.status.idle": "2026-05-12T09:45:47.078891Z", + "shell.execute_reply": "2026-05-12T09:45:47.077506Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "reproducibility max error (same seed): 0.000e+00\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "res_a = opt.random_signature(path_list, reservoir_dim=32, seed=42, variance=1.0)\n", + "res_b = opt.random_signature(path_list, reservoir_dim=32, seed=42, variance=1.0)\n", + "traj_a = np.asarray(res_a['trajectory'], dtype=float)\n", + "traj_b = np.asarray(res_b['trajectory'], dtype=float)\n", + "err_seed = float(np.max(np.abs(traj_a - traj_b)))\n", + "print(f'reproducibility max error (same seed): {err_seed:.3e}')\n", + "assert err_seed == 0.0\n", + "\n", + "fig, ax = plt.subplots(figsize=(6, 3.5))\n", + "for i in range(min(8, traj_a.shape[1])):\n", + " ax.plot(traj_a[:, i], lw=0.9)\n", + "ax.set_xlabel('path step n'); ax.set_ylabel('Z_n component')\n", + "ax.set_title('Random reservoir trajectory (first 8 components)')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "210a9ab7", + "metadata": {}, + "source": [ + "## Signature kernel (Salvi--Cass--Lyons PDE)\n", + "\n", + "$$ K(s,t) \\;=\\; \\langle S(X)_{0,s},\\, S(Y)_{0,t}\\rangle, \\qquad\n", + " \\frac{\\partial^2 K}{\\partial s\\,\\partial t}\n", + " \\;=\\; \\langle \\dot X_s, \\dot Y_t\\rangle\\, K(s,t),\n", + " \\quad K(s,0)=K(0,t)=1.$$\n", + "\n", + "Goursat finite-difference scheme:\n", + "\n", + "$$ K_{i+1,j+1} = K_{i+1,j} + K_{i,j+1} - K_{i,j}\n", + " + \\langle \\Delta x_i,\\Delta y_j\\rangle\n", + " \\tfrac12(K_{i+1,j} + K_{i,j+1}). $$\n", + "\n", + "**Analytic ground truth.** A linear segment with displacement $\\Delta$\n", + "has signature inner product against itself equal to $\\exp(\\|\\Delta\\|^2)$." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "cf921756", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:47.082359Z", + "iopub.status.busy": "2026-05-12T09:45:47.082068Z", + "iopub.status.idle": "2026-05-12T09:45:47.419422Z", + "shell.execute_reply": "2026-05-12T09:45:47.418224Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "K(S, T) = 180.840450\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "kernel(seg, seg) = 1.177363, exact exp(||Delta||^2) = 1.185305, err = 7.942e-03\n" + ] + } + ], + "source": [ + "kres = opt.signature_kernel(path_list, path_list)\n", + "K = np.asarray(kres['grid'], dtype=float)\n", + "print(f\"K(S, T) = {kres['value']:.6f}\")\n", + "\n", + "fig, ax = plt.subplots(figsize=(5, 4))\n", + "im = ax.imshow(K, origin='lower', aspect='auto', cmap='viridis')\n", + "ax.set_xlabel('j (path Y)'); ax.set_ylabel('i (path X)')\n", + "ax.set_title('Signature kernel K(s, t)')\n", + "plt.colorbar(im, ax=ax)\n", + "plt.show()\n", + "\n", + "# Analytic check: linear segment vs itself\n", + "delta = np.array([0.4, -0.1])\n", + "n = 200\n", + "seg_path = [[float(k / n) * delta[0], float(k / n) * delta[1]] for k in range(n + 1)]\n", + "kseg = opt.signature_kernel(seg_path, seg_path)\n", + "exact = float(np.exp(np.dot(delta, delta)))\n", + "err_kernel = abs(kseg['value'] - exact)\n", + "print(f'kernel(seg, seg) = {kseg[\"value\"]:.6f}, exact exp(||Delta||^2) = {exact:.6f}, err = {err_kernel:.3e}')\n", + "assert err_kernel < 1e-2" + ] + }, + { + "cell_type": "markdown", + "id": "1f377d32", + "metadata": {}, + "source": [ + "## Shuffle product and Chen concatenation\n", + "\n", + "$$ \\mathrm{Sh}(u, v) \\;=\\; \\sum_{w\\in u\\,\\shuffle\\,v} w,\n", + " \\qquad\n", + " S(X * Y) \\;=\\; S(X)\\otimes S(Y). $$" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "71a56d29", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-12T09:45:47.424399Z", + "iopub.status.busy": "2026-05-12T09:45:47.424009Z", + "iopub.status.idle": "2026-05-12T09:45:47.435687Z", + "shell.execute_reply": "2026-05-12T09:45:47.433850Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sh([0], [1]) = {(1, 0): 1.0, (0, 1): 1.0}\n", + "Chen concatenation max error per level: [0.0, 4.440892098500626e-16, 8.326672684688674e-16, 1.4432899320127035e-15]\n", + "Chen concatenation overall max error: 1.443e-15\n" + ] + } + ], + "source": [ + "# Shuffle product of one-letter words\n", + "sh = dict((tuple(w), m) for w, m in opt.shuffle_product([0], [1]))\n", + "print('Sh([0], [1]) =', sh)\n", + "assert sh[(0, 1)] == 1.0 and sh[(1, 0)] == 1.0\n", + "\n", + "# Chen identity: split the path in two halves and concatenate signatures\n", + "mid = n_pts // 2\n", + "half_a = path_list[: mid + 1]\n", + "half_b = path_list[mid:]\n", + "sa = opt.path_signature(half_a, level)\n", + "sb = opt.path_signature(half_b, level)\n", + "cat = opt.concatenate_signatures(\n", + " sa['channels'], sa['level'], sa['tensors'],\n", + " sb['channels'], sb['level'], sb['tensors'],\n", + ")\n", + "full = opt.path_signature(path_list, level)\n", + "errs_chen = []\n", + "for k in range(level + 1):\n", + " a = np.asarray(cat['tensors'][k]); b = np.asarray(full['tensors'][k])\n", + " errs_chen.append(float(np.max(np.abs(a - b))) if a.size else 0.0)\n", + "err_chen = max(errs_chen)\n", + "print(f'Chen concatenation max error per level: {errs_chen}')\n", + "print(f'Chen concatenation overall max error: {err_chen:.3e}')\n", + "assert err_chen < 1e-10" + ] + }, + { + "cell_type": "markdown", + "id": "37a0f62d", + "metadata": {}, + "source": [ + "---\n", + "\n", + "**Verified against analytic ground truth** — max error across all\n", + "checks (linear-segment signature, log-signature level-1 increment,\n", + "reservoir reproducibility, signature kernel of a segment, Chen\n", + "concatenation) `< 1e-2` (kernel Goursat scheme on a coarse grid),\n", + "all other checks `< 1e-10`." + ] + } + ], + "metadata": { + "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.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/graph/mod.rs b/src/graph/mod.rs index c44cd05..e127499 100644 --- a/src/graph/mod.rs +++ b/src/graph/mod.rs @@ -12,3 +12,6 @@ pub mod spectral_clustering; pub use laplacian::{combinatorial_laplacian, normalised_laplacian, random_walk_laplacian, LaplacianKind}; pub use spectral_clustering::{spectral_cluster, SpectralClusterResult}; + +#[cfg(feature = "python-bindings")] +pub mod python_bindings; diff --git a/src/graph/python_bindings.rs b/src/graph/python_bindings.rs new file mode 100644 index 0000000..e66ca37 --- /dev/null +++ b/src/graph/python_bindings.rs @@ -0,0 +1,115 @@ +//! Python bindings for the `graph` module. +//! +//! Exposes graph Laplacian operators and the Ng--Jordan--Weiss +//! spectral clustering routine. + +use ndarray::Array2; +use pyo3::exceptions::PyValueError; +use pyo3::prelude::*; + +use super::laplacian::{combinatorial_laplacian, normalised_laplacian, random_walk_laplacian}; +use super::spectral_clustering::spectral_cluster; + +fn vec_of_vec_to_array2(w: &[Vec]) -> PyResult> { + let n = w.len(); + if n == 0 { + return Err(PyValueError::new_err( + "weight matrix must be non-empty", + )); + } + let m = w[0].len(); + if m != n { + return Err(PyValueError::new_err( + "weight matrix must be square", + )); + } + let mut a = Array2::::zeros((n, n)); + for (i, row) in w.iter().enumerate() { + if row.len() != n { + return Err(PyValueError::new_err( + "weight matrix must be square", + )); + } + for (j, &v) in row.iter().enumerate() { + a[[i, j]] = v; + } + } + Ok(a) +} + +fn array2_to_vec_of_vec(a: &Array2) -> Vec> { + let n = a.nrows(); + let m = a.ncols(); + let mut out = Vec::with_capacity(n); + for i in 0..n { + let mut row = Vec::with_capacity(m); + for j in 0..m { + row.push(a[[i, j]]); + } + out.push(row); + } + out +} + +/// Combinatorial Laplacian `L = D - W`. +#[pyfunction] +#[pyo3(signature = (w))] +fn combinatorial_laplacian_py(w: Vec>) -> PyResult>> { + let arr = vec_of_vec_to_array2(&w)?; + let l = combinatorial_laplacian(arr.view()) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + Ok(array2_to_vec_of_vec(&l)) +} + +/// Symmetric normalised Laplacian `L_sym = I - D^{-1/2} W D^{-1/2}`. +#[pyfunction] +#[pyo3(signature = (w))] +fn normalised_laplacian_py(w: Vec>) -> PyResult>> { + let arr = vec_of_vec_to_array2(&w)?; + let l = normalised_laplacian(arr.view()) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + Ok(array2_to_vec_of_vec(&l)) +} + +/// Random-walk Laplacian `L_rw = I - D^{-1} W`. +#[pyfunction] +#[pyo3(signature = (w))] +fn random_walk_laplacian_py(w: Vec>) -> PyResult>> { + let arr = vec_of_vec_to_array2(&w)?; + let l = random_walk_laplacian(arr.view()) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + Ok(array2_to_vec_of_vec(&l)) +} + +/// Spectral clustering (Ng--Jordan--Weiss) on a non-negative symmetric +/// similarity matrix. +/// +/// Returns a dict with keys `labels`, `eigenvalues`, `fiedler_value`. +#[pyfunction] +#[pyo3(signature = (w, k, n_kmeans_iter=100, seed=0))] +fn spectral_cluster_py( + py: Python<'_>, + w: Vec>, + k: usize, + n_kmeans_iter: usize, + seed: u64, +) -> PyResult { + let arr = vec_of_vec_to_array2(&w)?; + let result = spectral_cluster(arr.view(), k, n_kmeans_iter, seed) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + + let dict = pyo3::types::PyDict::new_bound(py); + dict.set_item("labels", result.labels.clone())?; + dict.set_item("eigenvalues", result.eigenvalues.clone())?; + dict.set_item("fiedler_value", result.fiedler_value)?; + Ok(dict.into()) +} + +/// Register all graph functions with the Python module. +pub fn register_python_functions(m: &Bound<'_, pyo3::types::PyModule>) -> PyResult<()> { + m.add_function(wrap_pyfunction!(combinatorial_laplacian_py, m)?)?; + m.add_function(wrap_pyfunction!(normalised_laplacian_py, m)?)?; + m.add_function(wrap_pyfunction!(random_walk_laplacian_py, m)?)?; + m.add_function(wrap_pyfunction!(spectral_cluster_py, m)?)?; + Ok(()) +} diff --git a/src/lib.rs b/src/lib.rs index 450031c..6887407 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -133,5 +133,12 @@ fn _core(_py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> { // Portfolio Optimization functions (CARA, Mean-Variance, ERC) portfolio_optimization::python_bindings::register_python_functions(m)?; + // ===== v1.1.0 additive bindings ===== + graph::python_bindings::register_python_functions(m)?; + risk_measures::python_bindings::register_python_functions(m)?; + topology::python_bindings::register_python_functions(m)?; + volterra::python_bindings::register_python_functions(m)?; + signatures::python_bindings::register_python_functions(m)?; + Ok(()) } diff --git a/src/risk_measures/mod.rs b/src/risk_measures/mod.rs index faf17d8..898d73c 100644 --- a/src/risk_measures/mod.rs +++ b/src/risk_measures/mod.rs @@ -15,6 +15,9 @@ pub mod cvar; pub use cvar::{cvar_value, minimize_cvar, CVaRConfig, CVaRResult}; pub use var::{historical_var, parametric_var}; +#[cfg(feature = "python-bindings")] +pub mod python_bindings; + #[inline] pub(crate) fn check_alpha(alpha: f64) -> Result<()> { if !(0.0 < alpha && alpha < 1.0) { diff --git a/src/risk_measures/python_bindings.rs b/src/risk_measures/python_bindings.rs new file mode 100644 index 0000000..68b38ab --- /dev/null +++ b/src/risk_measures/python_bindings.rs @@ -0,0 +1,92 @@ +//! Python bindings for empirical risk measures. +//! +//! Exposes Value-at-Risk and Conditional Value-at-Risk estimators +//! together with the simplex-constrained CVaR minimiser. + +use pyo3::exceptions::PyValueError; +use pyo3::prelude::*; + +use ndarray::Array2; + +use super::cvar::{cvar_value, minimize_cvar, CVaRConfig}; +use super::var::{historical_var, parametric_var}; + +/// Empirical Value-at-Risk at confidence level `alpha`. +#[pyfunction] +#[pyo3(signature = (losses, alpha=0.95))] +fn historical_var_py(losses: Vec, alpha: f64) -> PyResult { + historical_var(&losses, alpha).map_err(|e| PyValueError::new_err(format!("{}", e))) +} + +/// Closed-form Gaussian Value-at-Risk `mu + sigma * Phi^{-1}(alpha)`. +#[pyfunction] +#[pyo3(signature = (mu, sigma, alpha=0.95))] +fn parametric_var_py(mu: f64, sigma: f64, alpha: f64) -> PyResult { + parametric_var(mu, sigma, alpha).map_err(|e| PyValueError::new_err(format!("{}", e))) +} + +/// Empirical Conditional Value-at-Risk at confidence level `alpha`. +#[pyfunction] +#[pyo3(signature = (losses, alpha=0.95))] +fn cvar_value_py(losses: Vec, alpha: f64) -> PyResult { + cvar_value(&losses, alpha).map_err(|e| PyValueError::new_err(format!("{}", e))) +} + +/// Minimise empirical CVaR of `L(w) = -` over the unit +/// simplex. `samples` has shape `(S, d)` (S samples, d decision +/// components). +#[pyfunction] +#[pyo3(signature = (samples, alpha=0.95, n_iter=5000, step_size=0.01, tol=1e-8))] +fn minimize_cvar_py( + py: Python<'_>, + samples: Vec>, + alpha: f64, + n_iter: usize, + step_size: f64, + tol: f64, +) -> PyResult { + let s = samples.len(); + if s == 0 { + return Err(PyValueError::new_err("samples must be non-empty")); + } + let d = samples[0].len(); + if d == 0 { + return Err(PyValueError::new_err("samples rows must be non-empty")); + } + let mut flat = Vec::with_capacity(s * d); + for row in &samples { + if row.len() != d { + return Err(PyValueError::new_err( + "all sample rows must share the same length", + )); + } + flat.extend_from_slice(row); + } + let arr = Array2::from_shape_vec((s, d), flat) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + + let cfg = CVaRConfig { + alpha, + n_iter, + step_size, + tol, + }; + let result = minimize_cvar(arr.view(), &cfg) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + + let dict = pyo3::types::PyDict::new_bound(py); + dict.set_item("w", result.w.to_vec())?; + dict.set_item("zeta", result.zeta)?; + dict.set_item("cvar", result.cvar)?; + dict.set_item("iterations", result.iterations)?; + Ok(dict.into()) +} + +/// Register all risk-measure functions with the Python module. +pub fn register_python_functions(m: &Bound<'_, pyo3::types::PyModule>) -> PyResult<()> { + m.add_function(wrap_pyfunction!(historical_var_py, m)?)?; + m.add_function(wrap_pyfunction!(parametric_var_py, m)?)?; + m.add_function(wrap_pyfunction!(cvar_value_py, m)?)?; + m.add_function(wrap_pyfunction!(minimize_cvar_py, m)?)?; + Ok(()) +} diff --git a/src/signatures/mod.rs b/src/signatures/mod.rs index 04cc82b..058b2f0 100644 --- a/src/signatures/mod.rs +++ b/src/signatures/mod.rs @@ -14,3 +14,6 @@ pub mod random_signature; pub mod signature_kernel; pub mod utils; +#[cfg(feature = "python-bindings")] +pub mod python_bindings; + diff --git a/src/signatures/python_bindings.rs b/src/signatures/python_bindings.rs new file mode 100644 index 0000000..36494b5 --- /dev/null +++ b/src/signatures/python_bindings.rs @@ -0,0 +1,168 @@ +//! Python bindings for the `signatures` module. +//! +//! Exposes truncated path signatures, log-signatures, random reservoir +//! projections, the Salvi--Cass--Lyons signature kernel, and the +//! shuffle product / Chen concatenation utilities. + +use pyo3::exceptions::PyValueError; +use pyo3::prelude::*; + +use super::log_signature::log_signature as rs_log_signature; +use super::path_signature::{path_signature as rs_path_signature, TruncatedSignature}; +use super::random_signature::{ + random_signature as rs_random_signature, RandomSignatureConfig, +}; +use super::signature_kernel::signature_kernel as rs_signature_kernel; +use super::utils::{concatenate_signatures as rs_concatenate, shuffle_product as rs_shuffle}; + +fn signature_to_dict(py: Python<'_>, sig: &TruncatedSignature) -> PyResult { + let dict = pyo3::types::PyDict::new_bound(py); + dict.set_item("channels", sig.channels)?; + dict.set_item("level", sig.level)?; + dict.set_item("tensors", sig.tensors.clone())?; + Ok(dict.into()) +} + +fn dict_to_signature(channels: usize, level: usize, tensors: Vec>) -> PyResult { + if tensors.len() != level + 1 { + return Err(PyValueError::new_err(format!( + "tensors length {} does not match level + 1 = {}", + tensors.len(), + level + 1 + ))); + } + for (k, t) in tensors.iter().enumerate() { + let expected = channels.pow(k as u32); + if t.len() != expected { + return Err(PyValueError::new_err(format!( + "tensors[{}] has length {}, expected channels^k = {}", + k, + t.len(), + expected + ))); + } + } + Ok(TruncatedSignature { + channels, + level, + tensors, + }) +} + +/// Truncated tensor signature of a piecewise-linear multivariate path. +#[pyfunction] +#[pyo3(signature = (path, level))] +fn path_signature(py: Python<'_>, path: Vec>, level: usize) -> PyResult { + let sig = rs_path_signature(&path, level) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + signature_to_dict(py, &sig) +} + +/// Truncated tensor log-signature of a piecewise-linear multivariate path. +#[pyfunction] +#[pyo3(signature = (path, level))] +fn path_log_signature(py: Python<'_>, path: Vec>, level: usize) -> PyResult { + let sig = rs_path_signature(&path, level) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + let log = rs_log_signature(&sig).map_err(|e| PyValueError::new_err(format!("{}", e)))?; + let dict = pyo3::types::PyDict::new_bound(py); + dict.set_item("channels", log.channels)?; + dict.set_item("level", log.level)?; + dict.set_item("tensors", log.tensors.clone())?; + Ok(dict.into()) +} + +/// Random reservoir projection of the path signature. +#[pyfunction] +#[pyo3(signature = (path, reservoir_dim=32, seed=0, variance=1.0))] +fn random_signature( + py: Python<'_>, + path: Vec>, + reservoir_dim: usize, + seed: u64, + variance: f64, +) -> PyResult { + let cfg = RandomSignatureConfig { + reservoir_dim, + seed, + variance, + }; + let res = rs_random_signature(&path, &cfg) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + let dict = pyo3::types::PyDict::new_bound(py); + dict.set_item("trajectory", res.trajectory.clone())?; + Ok(dict.into()) +} + +/// Salvi--Cass--Lyons signature kernel between two multivariate paths. +#[pyfunction] +#[pyo3(signature = (x, y))] +fn signature_kernel( + py: Python<'_>, + x: Vec>, + y: Vec>, +) -> PyResult { + let res = rs_signature_kernel(&x, &y) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + let dict = pyo3::types::PyDict::new_bound(py); + dict.set_item("value", res.value)?; + dict.set_item("grid", res.grid.clone())?; + Ok(dict.into()) +} + +/// Shuffle product of two words `u`, `v` over `{0, ..., d-1}`. +/// +/// Returned as a list of `(word, multiplicity)` tuples to remain +/// hashable-key agnostic on the Python side. +#[pyfunction] +#[pyo3(signature = (u, v))] +fn shuffle_product( + py: Python<'_>, + u: Vec, + v: Vec, +) -> PyResult { + let map = rs_shuffle(&u, &v); + let list = pyo3::types::PyList::empty_bound(py); + for (word, mult) in map.into_iter() { + let tup = pyo3::types::PyTuple::new_bound(py, &[word.into_py(py), mult.into_py(py)]); + list.append(tup)?; + } + Ok(list.into()) +} + +/// Concatenate two truncated signatures via Chen's identity. +/// +/// Inputs are passed as `(channels, level, tensors)` triples matching +/// the dict layout returned by :func:`path_signature`. +#[pyfunction] +#[pyo3(signature = (a_channels, a_level, a_tensors, b_channels, b_level, b_tensors))] +fn concatenate_signatures( + py: Python<'_>, + a_channels: usize, + a_level: usize, + a_tensors: Vec>, + b_channels: usize, + b_level: usize, + b_tensors: Vec>, +) -> PyResult { + if a_channels != b_channels || a_level != b_level { + return Err(PyValueError::new_err( + "signatures must share channels and level", + )); + } + let a = dict_to_signature(a_channels, a_level, a_tensors)?; + let b = dict_to_signature(b_channels, b_level, b_tensors)?; + let out = rs_concatenate(&a, &b).map_err(|e| PyValueError::new_err(format!("{}", e)))?; + signature_to_dict(py, &out) +} + +/// Register all signatures functions with the Python module. +pub fn register_python_functions(m: &Bound<'_, pyo3::types::PyModule>) -> PyResult<()> { + m.add_function(wrap_pyfunction!(path_signature, m)?)?; + m.add_function(wrap_pyfunction!(path_log_signature, m)?)?; + m.add_function(wrap_pyfunction!(random_signature, m)?)?; + m.add_function(wrap_pyfunction!(signature_kernel, m)?)?; + m.add_function(wrap_pyfunction!(shuffle_product, m)?)?; + m.add_function(wrap_pyfunction!(concatenate_signatures, m)?)?; + Ok(()) +} diff --git a/src/topology/mod.rs b/src/topology/mod.rs index db568f3..46b6ca7 100644 --- a/src/topology/mod.rs +++ b/src/topology/mod.rs @@ -14,3 +14,6 @@ pub use bottleneck::bottleneck_distance; pub use persistent_homology::{ persistent_homology, vietoris_rips_filtration, PersistenceDiagram, PersistencePair, }; + +#[cfg(feature = "python-bindings")] +pub mod python_bindings; diff --git a/src/topology/python_bindings.rs b/src/topology/python_bindings.rs new file mode 100644 index 0000000..2eb13a4 --- /dev/null +++ b/src/topology/python_bindings.rs @@ -0,0 +1,105 @@ +//! Python bindings for topological data analysis. +//! +//! Exposes Vietoris--Rips filtration construction, persistent homology, +//! and bottleneck distance between persistence diagrams. + +use pyo3::exceptions::PyValueError; +use pyo3::prelude::*; + +use super::bottleneck::bottleneck_distance as rs_bottleneck_distance; +use super::persistent_homology::{ + persistent_homology as rs_persistent_homology, + vietoris_rips_filtration as rs_vietoris_rips_filtration, PersistencePair, +}; + +fn diagram_to_pylist(py: Python<'_>, pairs: &[PersistencePair]) -> PyResult { + let list = pyo3::types::PyList::empty_bound(py); + for p in pairs { + let d = pyo3::types::PyDict::new_bound(py); + d.set_item("dim", p.dim)?; + d.set_item("birth", p.birth)?; + d.set_item("death", p.death)?; + list.append(d)?; + } + Ok(list.into()) +} + +fn pylist_to_diagram(pairs: Vec>) -> PyResult> { + let mut out = Vec::with_capacity(pairs.len()); + for d in pairs { + let dim: usize = d + .get_item("dim")? + .ok_or_else(|| PyValueError::new_err("missing key 'dim'"))? + .extract()?; + let birth: f64 = d + .get_item("birth")? + .ok_or_else(|| PyValueError::new_err("missing key 'birth'"))? + .extract()?; + let death: f64 = d + .get_item("death")? + .ok_or_else(|| PyValueError::new_err("missing key 'death'"))? + .extract()?; + out.push(PersistencePair { dim, birth, death }); + } + Ok(out) +} + +/// Build the Vietoris--Rips filtration up to ``max_dim`` and scale +/// ``max_eps``. Returns a list of simplices as dicts +/// ``{"vertices": [..], "filtration": float, "dim": int}``. +#[pyfunction] +#[pyo3(signature = (points, max_dim=1, max_eps=1.0))] +fn vietoris_rips_filtration( + py: Python<'_>, + points: Vec>, + max_dim: usize, + max_eps: f64, +) -> PyResult { + let simplices = rs_vietoris_rips_filtration(&points, max_dim, max_eps) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + let list = pyo3::types::PyList::empty_bound(py); + for s in simplices { + let d = pyo3::types::PyDict::new_bound(py); + d.set_item("vertices", s.vertices.clone())?; + d.set_item("filtration", s.filtration)?; + d.set_item("dim", s.dim())?; + list.append(d)?; + } + Ok(list.into()) +} + +/// Compute the Vietoris--Rips persistence diagram. Returns a list of +/// dicts ``[{"dim": int, "birth": float, "death": float}, ...]``. +#[pyfunction] +#[pyo3(signature = (points, max_dim=1, max_eps=1.0))] +fn persistent_homology( + py: Python<'_>, + points: Vec>, + max_dim: usize, + max_eps: f64, +) -> PyResult { + let diag = rs_persistent_homology(&points, max_dim, max_eps) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + diagram_to_pylist(py, &diag.pairs) +} + +/// Bottleneck distance between two persistence diagrams. Each diagram +/// is a list of dicts ``{"dim": int, "birth": float, "death": float}``. +#[pyfunction] +#[pyo3(signature = (diagram_a, diagram_b))] +fn bottleneck_distance( + diagram_a: Vec>, + diagram_b: Vec>, +) -> PyResult { + let a = pylist_to_diagram(diagram_a)?; + let b = pylist_to_diagram(diagram_b)?; + rs_bottleneck_distance(&a, &b).map_err(|e| PyValueError::new_err(format!("{}", e))) +} + +/// Register all topology functions with the Python module. +pub fn register_python_functions(m: &Bound<'_, pyo3::types::PyModule>) -> PyResult<()> { + m.add_function(wrap_pyfunction!(vietoris_rips_filtration, m)?)?; + m.add_function(wrap_pyfunction!(persistent_homology, m)?)?; + m.add_function(wrap_pyfunction!(bottleneck_distance, m)?)?; + Ok(()) +} diff --git a/src/volterra/mod.rs b/src/volterra/mod.rs index 6bd536d..bc86346 100644 --- a/src/volterra/mod.rs +++ b/src/volterra/mod.rs @@ -14,3 +14,6 @@ pub mod fractional_riccati; pub mod markovian_lift; pub mod volterra_solver; +#[cfg(feature = "python-bindings")] +pub mod python_bindings; + diff --git a/src/volterra/python_bindings.rs b/src/volterra/python_bindings.rs new file mode 100644 index 0000000..00463aa --- /dev/null +++ b/src/volterra/python_bindings.rs @@ -0,0 +1,224 @@ +//! Python bindings for the `volterra` module. +//! +//! Exposes the four core primitives: +//! +//! * `solve_fractional_ode` -- Caputo fractional ODE Adams scheme. +//! * `geometric_grid_lift` -- multi-exponential approximation of a kernel. +//! * `solve_volterra` -- generic second-kind Volterra equation. +//! * `fourier_invert` -- characteristic function -> density. +//! +//! Python callables are accepted as `&Bound<'_, PyAny>` and called +//! through `.call1(...)?.extract::<...>()?`. Errors of type +//! [`crate::core::OptimizrError`] are mapped to [`PyValueError`]. +//! +//! The underlying Rust solvers require an immutable [`Fn`] callback, +//! so the first error raised by the Python callable is captured via a +//! [`RefCell`] and re-raised after the solver returns. + +use std::cell::RefCell; + +use pyo3::exceptions::PyValueError; +use pyo3::prelude::*; +use pyo3::types::PyDict; + +use super::fourier_inversion::fourier_invert as rs_fourier_invert; +use super::fractional_riccati::solve_fractional_ode as rs_solve_fractional_ode; +use super::markovian_lift::geometric_grid_lift as rs_geometric_grid_lift; +use super::volterra_solver::solve_volterra as rs_solve_volterra; + +/// Solve the Caputo fractional ODE `D^alpha h = rhs(t, h)` on `[0, t_horizon]`. +/// +/// `rhs` is a Python callable `(t: float, h: float) -> float`. +/// +/// Returns a dict `{"t_grid": [...], "h": [...]}`. +#[pyfunction] +#[pyo3(signature = (h0, alpha, t_horizon, n_steps, rhs))] +fn solve_fractional_ode( + py: Python<'_>, + h0: f64, + alpha: f64, + t_horizon: f64, + n_steps: usize, + rhs: &Bound<'_, PyAny>, +) -> PyResult { + let cb_err: RefCell> = RefCell::new(None); + let rust_rhs = |t: f64, h: f64| -> f64 { + if cb_err.borrow().is_some() { + return 0.0; + } + match rhs.call1((t, h)).and_then(|v| v.extract::()) { + Ok(v) => v, + Err(e) => { + *cb_err.borrow_mut() = Some(e); + 0.0 + } + } + }; + let result = rs_solve_fractional_ode(h0, alpha, t_horizon, n_steps, rust_rhs) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + if let Some(e) = cb_err.into_inner() { + return Err(e); + } + let dict = PyDict::new_bound(py); + dict.set_item("t_grid", result.t_grid)?; + dict.set_item("h", result.h)?; + Ok(dict.into()) +} + +/// Build a Markovian lift `K(t) ~= sum c_j exp(-gamma_j t)` on a +/// geometric grid of rates with non-negative least-squares weights. +/// +/// `kernel` is a Python callable `(t: float) -> float`. +/// +/// Returns a dict `{"gammas": [...], "weights": [...]}`. +#[pyfunction] +#[pyo3(signature = (kernel, t_samples, n_factors, gamma_min, gamma_max, nnls_iter=5000))] +fn geometric_grid_lift( + py: Python<'_>, + kernel: &Bound<'_, PyAny>, + t_samples: Vec, + n_factors: usize, + gamma_min: f64, + gamma_max: f64, + nnls_iter: usize, +) -> PyResult { + let cb_err: RefCell> = RefCell::new(None); + let rust_kernel = |t: f64| -> f64 { + if cb_err.borrow().is_some() { + return 0.0; + } + match kernel.call1((t,)).and_then(|v| v.extract::()) { + Ok(v) => v, + Err(e) => { + *cb_err.borrow_mut() = Some(e); + 0.0 + } + } + }; + let lift = rs_geometric_grid_lift( + rust_kernel, + &t_samples, + n_factors, + gamma_min, + gamma_max, + nnls_iter, + ) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + if let Some(e) = cb_err.into_inner() { + return Err(e); + } + let dict = PyDict::new_bound(py); + dict.set_item("gammas", lift.gammas)?; + dict.set_item("weights", lift.weights)?; + Ok(dict.into()) +} + +/// Solve the scalar second-kind Volterra equation +/// `y(t) = g(t) + int_0^t K(t - s, y(s)) ds` by trapezoidal product +/// integration on `n_steps + 1` equispaced nodes. +/// +/// `g` is a Python callable `(t: float) -> float`. +/// `kernel` is a Python callable `(dt: float, y: float) -> float`. +/// +/// Returns a dict `{"t_grid": [...], "y": [...]}`. +#[pyfunction] +#[pyo3(signature = (g, kernel, t_horizon, n_steps, fixed_point_iter=50, fixed_point_tol=1e-12))] +fn solve_volterra( + py: Python<'_>, + g: &Bound<'_, PyAny>, + kernel: &Bound<'_, PyAny>, + t_horizon: f64, + n_steps: usize, + fixed_point_iter: usize, + fixed_point_tol: f64, +) -> PyResult { + let cb_err: RefCell> = RefCell::new(None); + let rust_g = |t: f64| -> f64 { + if cb_err.borrow().is_some() { + return 0.0; + } + match g.call1((t,)).and_then(|v| v.extract::()) { + Ok(v) => v, + Err(e) => { + *cb_err.borrow_mut() = Some(e); + 0.0 + } + } + }; + let rust_k = |dt: f64, y: f64| -> f64 { + if cb_err.borrow().is_some() { + return 0.0; + } + match kernel.call1((dt, y)).and_then(|v| v.extract::()) { + Ok(v) => v, + Err(e) => { + *cb_err.borrow_mut() = Some(e); + 0.0 + } + } + }; + let result = rs_solve_volterra( + rust_g, + rust_k, + t_horizon, + n_steps, + fixed_point_iter, + fixed_point_tol, + ) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + if let Some(e) = cb_err.into_inner() { + return Err(e); + } + let dict = PyDict::new_bound(py); + dict.set_item("t_grid", result.t_grid)?; + dict.set_item("y", result.y)?; + Ok(dict.into()) +} + +/// Recover a probability density on `x_grid` from a characteristic +/// function `phi`. +/// +/// `phi` is a Python callable `(u: float) -> (re: float, im: float)`. +/// +/// Returns a dict `{"x_grid": [...], "density": [...]}`. +#[pyfunction] +#[pyo3(signature = (phi, x_grid, u_max, n_u))] +fn fourier_invert( + py: Python<'_>, + phi: &Bound<'_, PyAny>, + x_grid: Vec, + u_max: f64, + n_u: usize, +) -> PyResult { + let cb_err: RefCell> = RefCell::new(None); + let rust_phi = |u: f64| -> (f64, f64) { + if cb_err.borrow().is_some() { + return (0.0, 0.0); + } + match phi.call1((u,)).and_then(|v| v.extract::<(f64, f64)>()) { + Ok(v) => v, + Err(e) => { + *cb_err.borrow_mut() = Some(e); + (0.0, 0.0) + } + } + }; + let result = rs_fourier_invert(rust_phi, &x_grid, u_max, n_u) + .map_err(|e| PyValueError::new_err(format!("{}", e)))?; + if let Some(e) = cb_err.into_inner() { + return Err(e); + } + let dict = PyDict::new_bound(py); + dict.set_item("x_grid", result.x_grid)?; + dict.set_item("density", result.density)?; + Ok(dict.into()) +} + +/// Register all Volterra-related functions with the Python module. +pub fn register_python_functions(m: &Bound<'_, pyo3::types::PyModule>) -> PyResult<()> { + m.add_function(wrap_pyfunction!(solve_fractional_ode, m)?)?; + m.add_function(wrap_pyfunction!(geometric_grid_lift, m)?)?; + m.add_function(wrap_pyfunction!(solve_volterra, m)?)?; + m.add_function(wrap_pyfunction!(fourier_invert, m)?)?; + Ok(()) +}