diff --git a/docs/index.rst b/docs/index.rst index 9e4c9bb..03f1538 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -45,6 +45,7 @@ Contents notebooks/parameters_n_landmarks_and_cocycle_idx notebooks/parameter_perc notebooks/parameter_standard_range + notebooks/parameter_n_samples notebooks/parameters_prime_and_check_cocycle_condition Further examples diff --git a/docs/notebooks/parameter_n_samples.ipynb b/docs/notebooks/parameter_n_samples.ipynb new file mode 100644 index 0000000..24a091b --- /dev/null +++ b/docs/notebooks/parameter_n_samples.ipynb @@ -0,0 +1,87 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Parameter n_samples for speeding up computations\n", + "\n", + "The purpose of this example is to demonstrate the speedup gained by using a small sample of the dataset to build the topological coordinates, instead of the full dataset.\n", + "The size of the sample is chosen with the parameter n_samples.\n", + "In this simple example we do not average several runs since the trend is clearly apparent even without a careful efficiency analysis." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import time\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from dreimac import CircularCoords, GeometryExamples" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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drvdY4UCAABURIWu3LzzzjvO/54xY4buvvtuLV68WL6+vpIuDMd+9NFHeYYFAAB4nekHips1a6YdO3aoffv2Lu1HjhxR3759dfr0abcW6G48UAwAQM3j0RmKf/75Zx0+fLhU++HDh+VwOMzuDgAAwK1Mj5YaN26cxo8fr2PHjjlHSO3evVtz587VuHHj3F4gAACAGabDzZ///GeFhoZq3rx5zsn1wsLCNH36dD3xxBNuLxAAAMCMSk3id1FeXp4k1ahnV3jmBgCAmsfjk/hdRDgAAADVjekHijMzM3X//fcrPDxcderUka+vr8sLAADAm0xfuXnggQeUlpamZ599VmFhYbLZbJ6oCwAAoFJMh5sdO3boiy++ULdu3TxQDgAAwNUxfVsqIiJCV/EMMgAAgEeZDjfz58/XU089pe+++84D5QAAAFwd07el7rnnHhUWFqpNmzZq0KCB6tat67I9OzvbbcUBAACYZTrczJ8/3wNlAAAAuIfpcDN27FhP1AEAAOAWlZrEr6SkROvWrdM333wjSerUqZPuuOMO5rkBAABeZzrcHD16VLfffrtOnTql9u3bS5Li4+MVERGhjz76SG3atHF7kQAAABVlerTU5MmT1aZNG508eVLJyclKTk5WWlqaIiMjNXnyZE/UCAAAUGGmr9xs27ZNX375pYKCgpxtTZo00dy5c9WvXz+3FgcAAGCW6Ss3fn5+ys/PL9VeUFCgevXquaUoAACAyjIdbn7729/qkUce0e7du2UYhgzD0JdffqkJEybojjvu8ESNAAAAFWY63CxcuFBt2rRRTEyM/P395e/vr379+qlt27ZasGCBJ2oEAACoMNPP3DRq1Egffvihjh496hwK3rFjR7Vt29btxQEAAJhVqXluJKlt27YEGgAA3KDEYSgxNVtZ+cUKDvBX78gg+frYvF1WjWU63Nx1113q3bu3ZsyY4dL+8ssva8+ePVq9erXbigMAwOo2paQrbv0hpecWO9vC7P6aHRulIdFhXqys5jL9zM327dt1++23l2ofOnSotm/f7paiAACoDTalpGviimSXYCNJGbnFmrgiWZtS0r1UWc1mOtyUN+S7bt26ysvLc0tRAABYXYnDUNz6QzLK2HaxLW79IZU4yuqBKzEdbjp37qz333+/VPuqVasUFRXllqIAALC6xNTsUldsLmVISs8tVmJqdtUV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oW7dumnTpk3Oh4bT0tLk4/PL3bO+fftq5cqV+uMf/6inn35a7dq107p16xQdHe2tQwAAANWIzTCM6j19rpvl5eXJbrcrNzfX7c/fAAAAzzDz+2350VIAAKB2IdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABL8fokflXt4rQ+eXl5Xq4EAABU1MXf7YpMz1frwk1+fr4kKSIiwsuVAAAAs/Lz82W326/Yp9bNUOxwOPTDDz8oICBANlv1W9gyLy9PEREROnnyZK2eQZnz8AvOxS84F7/gXPyCc3GB1c+DYRjKz89XeHi4y7JMZal1V258fHzUokULb5fxqwIDAy35h9MszsMvOBe/4Fz8gnPxC87FBVY+D792xeYiHigGAACWQrgBAACWQripZvz8/DR79mz5+fl5uxSv4jz8gnPxC87FLzgXv+BcXMB5+EWte6AYAABYG1duAACApRBuAACApRBuAACApRBuPCw+Pl69evVSQECAgoODNXz4cB05csSlT3FxsR577DE1adJEDRs21F133aXMzEyXPmlpaRo2bJgaNGig4OBgTZ8+XT///HNVHorbzZ07VzabTVOnTnW21aZzcerUKY0ePVpNmjRR/fr11blzZ+3du9e53TAMzZo1S2FhYapfv74GDRqkb7/91mUf2dnZGjVqlAIDA9WoUSONHz9eBQUFVX0oV6WkpETPPvusIiMjVb9+fbVp00bPP/+8yxTrVj0X27dvV2xsrMLDw2Wz2bRu3TqX7e467q+++kq/+c1v5O/vr4iICL388suePjTTrnQuzp8/rxkzZqhz58665pprFB4erjFjxuiHH35w2YcVzsWv/Zm41IQJE2Sz2TR//nyXdiuch6tmwKMGDx5svPPOO0ZKSoqxf/9+4/bbbzdatmxpFBQUOPtMmDDBiIiIMBISEoy9e/caffr0Mfr27evc/vPPPxvR0dHGoEGDjH379hkbN240mjZtasycOdMbh+QWiYmJRuvWrY0uXboYU6ZMcbbXlnORnZ1ttGrVynjggQeM3bt3G8ePHzc2b95sHD161Nln7ty5ht1uN9atW2ccOHDAuOOOO4zIyEijqKjI2WfIkCFG165djS+//NL44osvjLZt2xojR470xiFV2gsvvGA0adLE2LBhg5GammqsXr3aaNiwobFgwQJnH6uei40bNxrP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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "X = GeometryExamples.noisy_circle(n_samples = 1500, noise_size=0.8)\n", + "\n", + "subsample_sizes = (np.arange(10) + 1) * 150\n", + "\n", + "times = []\n", + "for size in subsample_sizes:\n", + " start = time.time()\n", + " _ = CircularCoords(X, size, prime=3)\n", + " end = time.time()\n", + " times.append(end - start)\n", + "\n", + "plt.scatter(subsample_sizes, times)\n", + "plt.xlabel(\"n_samples\")\n", + "_ = plt.ylabel(\"computation time (seconds)\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "dreimac-opt", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.6" + }, + "vscode": { + "interpreter": { + "hash": "b92ccc6cf4753cf244c150496a947045c7076528614dfd2e8804a0f6266fa336" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}