{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Sparse Operations in Devito\n", "\n", "Devito provides a robust API for sparse operations, encompassing two crucial functionalities: `injection` and `interpolation`. These operations are fundamental for handling sparse data, such as point sources and measurements, within numerical simulations.\n", "\n", "The `injection` operation involves injecting values at specified sparse positions, simulating scenarios like point sources in physical systems. Mathematically, if we denote a `SparseTimeFunction` as $ S(t, x_s) $, where $ t $ represents time and $ x_s $ denotes sparse spatial coordinates, the injection operation can be expressed as:\n", "\n", "$$\n", "u(t, x) = u(t, x) + S(t, x_s) \\cdot \\delta(x - x_s)\n", "$$\n", "\n", "Here, $ \\delta(x - x_s) $ is the Dirac delta functions, and $ t $ and $ x_s $ represent the time and sparse spatial coordinates of the injection point, respectively.\n", "\n", "On the other hand, the `interpolation` operation reads the values of a field at sparse positions, mimicking point measurements. If $ F(t, x) $ is a field ('Function') defined on the full grid, the interpolation operation can be expressed as:\n", "\n", "$$\n", "I(t, r) = F(t, x_r)\n", "$$\n", "\n", "Here, $ I(t, r) $ represents the interpolated values at time $ t $ and sparse spatial coordinates $ x_r $.\n", "\n", "In Devito, sparse operations are defined as methods for various sparse function types, including `SparseFunction`, `SparseTimeFunction`, `PrecomputedSparseFunction`, and `PrecomputedSparseTimeFunction`. For practicality, this tutorial focuses on time-dependent functions, but it's crucial to note that all operations discussed here apply to spatial-only functions as well.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from devito import *\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.ticker import AutoMinorLocator, FixedLocator" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "grid = Grid((51, 51))\n", "nt = 11\n", "f = TimeFunction(name=\"f\", grid=grid, space_order=4)\n", "u = TimeFunction(name=\"u\", grid=grid, space_order=4, save=nt)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We first define five sparse positions for the purpose of this tutorial. We consider four points in a 2D grid intentionally not aligned with the grid points to highlight the interpolation and injection operations." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAANECAYAAAB/24QQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACktUlEQVR4nOzdeXhT1fr+/ztt0zI1G2QqIBRwYFAQBMWCAiqKHkT04IQKiogoQRE+epxQBo+iIoNDFAcEZ8XhHAcQRRTFAVAQRVQ8IIMi85SUoU3b/fuDX/JN6ECTtpuG9X5dV6/L7u5n3WuvLLAPSXZctm3bAgAAAABDJR3uCQAAAADA4URTBAAAAMBoNEUAAAAAjEZTBAAAAMBoNEUAAAAAjEZTBAAAAMBoNEUAAAAAjEZTBAAAAMBoNEUAAAAAjEZTBABF+O6779S5c2dVr15dLpdLy5YtkyTNmTNH7dq1U5UqVeRyubRr166Yx3a5XBo2bFj5TriCjBkzRi6Xq1TnulwujRkzpmInhFKZP3++XC6X5s+ff8hz165dK5fLpRkzZlT4vACgsqIpAmCEFStW6Oqrr1ajRo2Ulpamhg0b6qqrrtKKFSsKnRsMBnXppZdqx44dmjx5sl5++WVlZmZq+/btuuyyy1S1alX5fD69/PLLql69epF533zzjcaMGRNX0wRUhNdee01Tpkw53NMAgEop5XBPAAAq2rvvvqt+/frpqKOO0qBBg9SsWTOtXbtW06ZN09tvv6033nhDF198cfj81atXa926dXruued0/fXXh4/PmTNHgUBA999/v3r06FFi5jfffKOxY8fq2muvVc2aNSvq0ircqFGjdOeddx7uaSBGXbt21b59+5Samho+9tprr+nnn3/WrbfeGnVuZmam9u3bJ7fb7fAsAaDyoCkCcERbvXq1+vfvr+bNm+vLL79U3bp1wz8bPny4zjjjDPXv318//fSTmjdvLknasmWLJBVqZoo7fiTas2ePqlevrpSUFKWkHHn/q7BtW/v371fVqlUP91QqRFJSkqpUqVKqc10uV6nPBYAjFS+fA3BEmzBhgvbu3atnn302qiGSpDp16uiZZ57Rnj179Mgjj0iSrr32WnXr1k2SdOmll8rlcql79+7q3r27rrnmGknSKaecIpfLpWuvvbbIzDFjxuj222+XJDVr1kwul0sul0tr166NOu+///2vTjzxRKWlpemEE07QnDlzCo21YcMGXXfddapfv374vBdeeKFU175v3z7dcsstqlOnjtLT03XhhRdqw4YNhd77E3rf0C+//KIrr7xStWrV0umnnx71s0g5OTkaMWKE6tatGx73r7/+KtWcJOmJJ57QCSecoGrVqqlWrVrq2LGjXnvttULz+e2333TZZZfJ4/Godu3aGj58uPbv3x811vTp03XWWWepXr16SktLU+vWrfX0008XymzatKkuuOACffzxx+rYsaOqVq2qZ555RpI0d+5cnX766apZs6Zq1KihFi1a6O677y50zaNHj9axxx6rtLQ0NW7cWP/617+Uk5NzyOvt3r27TjzxRC1ZskSdO3dW1apV1axZM02dOrXQuVu2bNGgQYNUv359ValSRSeddJJefPHFQue98cYb6tChg9LT0+XxeNSmTRs99thj4Z8f/J6i7t27a9asWVq3bl14PzZt2lRS8e8p+uyzz3TGGWeoevXqqlmzpvr06aNff/016pzQY7Vq1arws6KWZWngwIHau3dv1LmlWWcAOFyOvH/+A4AIH3zwgZo2baozzjijyJ937dpVTZs21axZsyRJQ4YMUaNGjfTggw/qlltu0SmnnKL69etLklq0aKFnn31W48aNU7NmzXTMMccUOeY///lP/f7773r99dc1efJk1alTR5KimrKvvvpK7777roYOHar09HQ9/vjj6tu3r9avX6/atWtLkjZv3qzTTjstfGOGunXr6qOPPtKgQYPk9/sLvQzqYNdee61mzpyp/v3767TTTtMXX3yhXr16FXv+pZdequOOO04PPvigbNsu9rzrr79er7zyiq688kp17txZn332WYnjRnruued0yy236JJLLgk3OT/99JMWLVqkK6+8Murcyy67TE2bNtX48eO1cOFCPf7449q5c6deeuml8DlPP/20TjjhBF144YVKSUnRBx98oKFDh6qgoEBerzdqvJUrV6pfv34aMmSIBg8erBYtWmjFihW64IIL1LZtW40bN05paWlatWqVvv7663BdQUGBLrzwQn311Ve64YYb1KpVKy1fvlyTJ0/W77//rv/+97+HvO6dO3fqH//4hy677DL169dPM2fO1E033aTU1FRdd911kg40sd27d9eqVas0bNgwNWvWTG+99ZauvfZa7dq1S8OHD5d0oLno16+fzj77bD388MOSpF9//VVff/11+JyD3XPPPdq9e7f++usvTZ48WZJUo0aNYuf76aef6vzzz1fz5s01ZswY7du3T0888YS6dOmipUuXhhuqyMeqWbNmGj9+vJYuXarnn39e9erVC8+vNOsMAIeVDQBHqF27dtmS7D59+pR43oUXXmhLsv1+v23btv3555/bkuy33nor6rzp06fbkuzvvvvukNkTJkywJdlr1qwp9DNJdmpqqr1q1arwsR9//NGWZD/xxBPhY4MGDbIbNGhgb9u2Lar+iiuusC3Lsvfu3Vts/pIlS2xJ9q233hp1/Nprr7Ul2aNHjw4fGz16tC3J7tevX6FxQj8LWbZsmS3JHjp0aNR5V155ZaFxi9KnTx/7hBNOKPGcUOaFF14YdXzo0KG2JPvHH38MHytqDXr27Gk3b9486lhmZqYtyZ4zZ07U8cmTJ9uS7K1btxY7n5dfftlOSkqyFyxYEHV86tSptiT766+/LvF6unXrZkuyJ06cGD6Wk5Njt2vXzq5Xr56dm5tr27ZtT5kyxZZkv/LKK+HzcnNz7aysLLtGjRrh/Tl8+HDb4/HYeXl5xWaG9vDnn38ePtarVy87MzOz0Llr1qyxJdnTp08PHwvNbfv27eFjP/74o52UlGQPGDAgfCz0WF133XVRY1588cV27dq1w9+XZp0B4HDi5XMAjliBQECSlJ6eXuJ5oZ/7/f4Kn1NIjx49op5patu2rTwej/744w9JB97z8s4776h3796ybVvbtm0Lf/Xs2VO7d+/W0qVLix0/9FK8oUOHRh2/+eabi6258cYbDznv2bNnS5JuueWWqOOHetYqpGbNmvrrr7/03XffHfLcg5/pCc09NAdJUe8J2r17t7Zt26Zu3brpjz/+0O7du6PqmzVrpp49exaajyS99957KigoKHIeb731llq1aqWWLVtGPQ5nnXWWJOnzzz8/5LWkpKRoyJAh4e9TU1M1ZMgQbdmyRUuWLAlfV0ZGhvr16xc+z+1265ZbblF2dra++OKL8Jz37NmjuXPnHjI3Hhs3btSyZct07bXX6qijjgofb9u2rc4555yo9Q85eO+cccYZ2r59e/jPVGnWGQAOJ5oiAEesULMTao6KU9rmqTw1adKk0LFatWpp586dkqStW7dq165d4fdCRX4NHDhQ0v+78UNR1q1bp6SkJDVr1izq+LHHHltszcHnljTuwS8dbNGixSFrJemOO+5QjRo1dOqpp+q4446T1+st9iVUxx13XNT3xxxzjJKSkqLem/X111+rR48e4fe91K1bN/w+laKaooNdfvnl6tKli66//nrVr19fV1xxhWbOnBn1i/v//vc/rVixotDjcPzxx0sq+XEIadiwYaHbt4fqQ9ezbt06HXfccUpKiv5fc6tWrcI/lw40uscff7zOP/98HX300bruuuuKfD9avEI5RT2mrVq10rZt27Rnz56o4wfv51q1aklSeD+XZp0B4HDiPUUAjliWZalBgwb66aefSjzvp59+UqNGjeTxeByamZScnFzkcfv/fy9P6JfFq6++OnyDh4O1bdu2XOfkxJ3YWrVqpZUrV+rDDz/UnDlz9M477+ipp57Sfffdp7Fjx5ZYe/ANH1avXq2zzz5bLVu21KRJk9S4cWOlpqZq9uzZmjx5cqFfuIu6vqpVq+rLL7/U559/rlmzZmnOnDl68803ddZZZ+mTTz5RcnKyCgoK1KZNG02aNKnIeTVu3DjGVSibevXqadmyZfr444/10Ucf6aOPPtL06dM1YMCAIm/K4IRD7efSrDMAHE40RQCOaBdccIGee+45ffXVV+E7qkVasGCB1q5dG/XSpvJw8C/wsQrd2S0/P/+Qn4lUlMzMTBUUFGjNmjVRz7isWrWqTPMKjbt69eqoZxJWrlxZ6jGqV6+uyy+/XJdffrlyc3P1z3/+Uw888IDuuuuuqFtD/+9//4t6dmfVqlUqKCgIv8n/gw8+UE5Ojt5///2oZypK83K2SElJSTr77LN19tlna9KkSXrwwQd1zz336PPPPw+/zPHHH3/U2WefHffj+vfff4dvcx7y+++/S1L4ejIzM/XTTz+poKAg6tmi3377LfzzkNTUVPXu3Vu9e/dWQUGBhg4dqmeeeUb33ntvsc8GlnbuoZyiHtPffvtNderUKfZDi0tyqHUGgMOJl88BOKLdfvvtqlq1qoYMGaLt27dH/WzHjh268cYbVa1atfAttMtL6JfGXbt2xVWfnJysvn376p133tHPP/9c6Odbt24tsT703pmnnnoq6vgTTzwR13xCzj//fEnS448/HnV8ypQppao/+DFITU1V69atZdu2gsFg1M98Pl/U96G5h+YQenbBjrhT3u7duzV9+vRSzUU6sAcO1q5dO0kK3277sssu04YNG/Tcc88VOnffvn2FXkpWlLy8vPAtwCUpNzdXzzzzjOrWrasOHTpIkv7xj39o06ZNevPNN6PqnnjiCdWoUSN8q/iD1zApKSn8rGFJtwivXr16oZcUFqVBgwZq166dXnzxxaj9+/PPP+uTTz7RP/7xj0OOcbDSrDMAHE48UwTgiHbcccfpxRdf1FVXXaU2bdpo0KBBatasmdauXatp06Zp27Ztev3114u9vXa8Qr/o3nPPPbriiivkdrvVu3fvmP6F/aGHHtLnn3+uTp06afDgwWrdurV27NihpUuX6tNPPy3yF83I/L59+2rKlCnavn17+JbcoWcn4n3Go127durXr5+eeuop7d69W507d9a8efNK/QzUueeeq4yMDHXp0kX169fXr7/+qieffFK9evUq9J6uNWvW6MILL9R5552nb7/9Nnwb8JNOOik8VugZkyFDhig7O1vPPfec6tWrp40bN5ZqPuPGjdOXX36pXr16KTMzU1u2bNFTTz2lo48+OvzMYv/+/TVz5kzdeOON+vzzz9WlSxfl5+frt99+08yZM8OffVSShg0b6uGHH9batWt1/PHH680339SyZcv07LPPyu12S5JuuOEGPfPMM7r22mu1ZMkSNW3aVG+//ba+/vprTZkyJbw+119/vXbs2KGzzjpLRx99tNatW6cnnnhC7dq1C7//qCgdOnTQm2++qZEjR+qUU05RjRo11Lt37yLPnTBhgs4//3xlZWVp0KBB4VtyW5YV9RlXpVWadQaAw+pw3voOAJzy008/2f369bMbNGhgu91uOyMjw+7Xr5+9fPnyQueWxy25bdu277//frtRo0Z2UlJS1O25Jdler7fQ+ZmZmfY111wTdWzz5s221+u1GzduHJ732WefbT/77LOHzN+zZ4/t9Xrto446yq5Ro4Z90UUX2StXrrQl2Q899FD4vNBtlYu6XfLBt+S2bdvet2+ffcstt9i1a9e2q1evbvfu3dv+888/S3VL7meeecbu2rWrXbt2bTstLc0+5phj7Ntvv93evXt3ocxffvnFvuSSS+z09HS7Vq1a9rBhw+x9+/ZFjff+++/bbdu2tatUqWI3bdrUfvjhh+0XXnih0O3QMzMz7V69ehWaz7x58+w+ffrYDRs2tFNTU+2GDRva/fr1s3///feo83Jzc+2HH37YPuGEE+y0tDS7Vq1adocOHeyxY8dGzb0o3bp1s0844QT7+++/t7OysuwqVarYmZmZ9pNPPlno3M2bN9sDBw6069SpY6emptpt2rSJulW2bdv222+/bZ977rl2vXr17NTUVLtJkyb2kCFD7I0bN4bPKeqW3NnZ2faVV15p16xZ05YUvj13Ubfktm3b/vTTT+0uXbrYVatWtT0ej927d2/7l19+iTqnuL0T+rMSegxKu84AcLi4bLuET+gDABxRli1bpvbt2+uVV17RVVdddbinU6QxY8Zo7Nix2rp1a/iDbxNZ9+7dtW3btiJfBgkAqBx4TxEAHKH27dtX6NiUKVOUlJSkrl27HoYZAQBQOfGeIgA4Qj3yyCNasmSJzjzzTKWkpIRv33zDDTc4fhtpAAAqM5oiADhCde7cWXPnztX999+v7OxsNWnSRGPGjNE999xzuKcGAEClEvN7ir788ktNmDBBS5Ys0caNG/Wf//xHF110UYk18+fP18iRI7VixQo1btxYo0aN0rXXXluGaQMAAABA+Yj5PUV79uzRSSedVOjzI4qzZs0a9erVS2eeeaaWLVumW2+9Vddff70+/vjjmCcLAAAAAOWtTHefc7lch3ym6I477tCsWbOi7rpzxRVXaNeuXZozZ0680QAAAABQLir8PUXffvutevToEXWsZ8+euvXWW4utycnJifqE64KCAu3YsUO1a9eO+wMHAQAAACQ+27YVCATUsGFDJSWVz820K7wp2rRpk+rXrx91rH79+vL7/dq3b5+qVq1aqGb8+PEaO3ZsRU8NAAAAQIL6888/dfTRR5fLWJXy7nN33XWXRo4cGf5+9+7datKkiX7//XcdddRRMY0V6iTT09PjepapLPVkJ152MBjU559/rjPPPFNut9vRbFPX3NRs9hrZTmWz18h2Kpu9RrZT2Tt27NDxxx+v9PT0mGuLU+FNUUZGhjZv3hx1bPPmzfJ4PEU+SyRJaWlpSktLK3T8qKOOUu3atWPKt21bKSkpsiwr7gc83nqyEy87GAyqWrVqql27dlx/oSfqdZPNXiP7yM1mr5HtVDZ7jWynskPK82015fMivBJkZWVp3rx5Ucfmzp2rrKysio4GAAAAgEOKuSnKzs7WsmXLtGzZMkkHbrm9bNkyrV+/XtKBl74NGDAgfP6NN96oP/74Q//617/022+/6amnntLMmTM1YsSI8rkCAAAAACiDmJui77//Xu3bt1f79u0lSSNHjlT79u113333SZI2btwYbpAkqVmzZpo1a5bmzp2rk046SRMnTtTzzz+vnj17ltMlAAAAAED8Yn5PUffu3VXSRxvNmDGjyJoffvgh1igAAAA4rKCgQMFgMOa6YDColJQU7d+/X/n5+THV2rat3Nxc7d+/P+73t8RbT3bly3a73UpOTo55TmVRKe8+BwAAAOfl5eVp1apVKigoiLnWtm1lZGTozz//jOuX7IKCAm3fvj3muvKoJ7vyZdesWVMZGRmOfUYpTREAAABk27Z27Nih5ORkNW7cOOYPxSwoKFB2drZq1KgRc61t28rPz1dycnLcz1rEW0925cq2bVt79+7Vli1bJEkNGjSIeW7xoCkCAACA8vLyFAwGdfTRR6tatWox1xcUFCg3N1dVqlShKSK7TLWhj+3ZsmWL6tWr58hL6Sr8ltwAAACo/ELvA4r1M4aAihBqzON5f1s8aIoAAAAQ5tR7OICSOL0PaYoAAAAAGI2mCAAAADDE/Pnz5XK5tGvXrhLPa9q0qaZMmeLInCoDmiIAAAAkrK1bt+qmm25S8+bNVaVKFWVkZKhnz576+uuvD/fUKqXOnTtr48aNsixL0oHPGK1Zs2ah87777jvdcMMNDs/u8Emou8/Ztl3iB8eWVBNrXXnUk52Y2ZHjOJ1t6pqbmh05jtPZpq65qdmR4zidbeqaJ2p2Uf8d7zycqu3bt69yc3P1wgsv6Nhjj9XmzZs1b948bdu2La49X1q5ublKTU2Nu74s2WWpd7vdql+//iHr69SpU+pxK+K6S/q7q6xrVZRK3RT5fD75fL7w3VACgYBSUmKbsm3bys7OlhTfG7bKUk924mXn5eVJkvx+P3uN7ArNZq+R7VQ2e43s0srJyVFBQYHy8/PDv3vFmi0duItdvB/eGqtdu3ZpwYIFmjdvnk4//XQlJSXp6KOPVocOHcJzkQ40Ak888YQ+/PBDffHFF2rQoIHGjx+vvn37hrPvuusuvffee/rrr7+UkZGhfv36adSoUeG78Y0bN07vvfeehg4dqoceekjr1q1Tbm6u3nnnHd1///1avXq1qlWrpnbt2undd99V9erVJUnTpk3TlClTtGbNGjVt2lRer1c33XRTsdd99tln64QTTpAkvfrqq3K73RoyZIjGjBkTXtedO3dqxIgRmjVrlnJyctS1a1dNnjxZxx13nCRp3bp1Gj58uL7++mvl5uaqadOmeuihh3T++efriy++UI8ePbR161b98MMPuu666yQpfBv1e++9V/fdd5+OPfZY3XzzzRo+fLgkaf369br11lv12WefKSkpST179tSkSZPCnyMUWp8RI0ZozJgx2rlzp8477zxNnTpV6enpknTItYqUn5+vgoICBQIB5eTkRP0sEAjEuFMOrVI3RV6vV16vV36/X5ZlKT09PfxUX2mF/oBalhX3Xy7x1pOdeNmh2z56PJ6Yb0mayNdNNnuN7CM3m71Gdmnt27dP27ZtU3JyclyfCxPKTk5O1rI/d2vNtj1qVqe62jepWeoxYs21LEs1atTQ+++/r06dOpX4+UpjxozR+PHj9dhjj+nll1/WVVddpTZt2qhVq1aSDvwZmT59uho2bKjly5frhhtukMfj0b/+9S9JB5rM1atX67///a/eeecdJScna8uWLbr66qvDDVYgENCCBQuUlJSk5ORkvfrqqxo7dqyeeOIJtW/fXj/88INuuOEGpaen65prrinyul0ul15++WVdd911WrRokb7//nsNGTJEmZmZGjx4sCTp+uuv1//+9z+99957ql69uu655x5deOGFWrFihdxut4YPH67c3Fx98cUXql69un755Rd5PB4lJyeHm5/k5GR16dJFkydP1ujRo/Xbb79JkmrUqBGeT+g6CgoK1LdvX9WoUUPz589XXl6ehg0bpquvvlrz588Pz/uPP/7QBx98oA8++EA7d+7U5ZdfrgkTJuiBBx7Qxo0bdfXVV+vhhx/WxRdfrF27dumbb74JZxS1F5KSkpSenq4qVapE/Sz0jz3lqVI3RQdzuVxx/QURqov31n5lqSc7sbJDNaZdN9nsNbKP3Gz2Gtmx1BX136UVaooenvObnvlyTfj4jd2a687zW5WqNtZst9utGTNmaPDgwXrmmWd08sknq1u3brriiivUtm3bqHMvvfTScFPx73//W59++qmefPJJ+Xw+SdKoUaPC2c2aNdPvv/+uN954Q3fccUd4Xrm5uXrppZdUt25dSdLSpUuVl5eniy++WE2bNpXL5YrKHTNmjCZOnBh+Rqp58+b69ddf9eyzz+raa68t9robN26sKVOmyOVyqWXLlvr55581ZcoU3XDDDfrf//6n999/X19//bWysrKUn5+vV155RU2aNNF7772nSy+9VOvXr1ffvn3DcznmmGOKzElNTQ030KFnfCKF9tFnn32m5cuXa82aNWrcuLEk6cUXX9SJJ56o7777TqeeeqpcLpcKCgo0Y8aM8DND/fv312effSaXy6VNmzYpLy9Pffv2VZMmTZSfn6927doV+3iX9HdXvH82SsKNFgAAAFAulv8diGqIJGnqF3/oh/U7Kyyzb9++2rBhg/7zn/+oZ8+emj9/vk4++WTNmDEj6rysrKxC3//666/h799880116dJFGRkZqlGjhkaNGqX169dH1WRmZoYbIkk66aSTdPbZZ6t9+/a67LLL9Nxzz2nnzgPXumfPHq1evVqDBg1SjRo1wl///ve/tXr16hKv6bTTTov6xT8rK0v/+9//lJ+fr19//VUpKSnq1KlT+Oe1a9dWixYtwtdzyy236N///re6dOmi0aNH66effirFShbv119/VePGjcMNkSS1bt1aNWvWjFrDpk2bhhsiSWrQoIG2bNki6f+tVZs2bXTZZZfp+eefD69VZUBTBAAAgHKxbse+Io+v2banQnOrVKmiHj166N5779U333yja6+9VqNHjy51/bfffqurr75a//jHP/Thhx/qhx9+0D333KPc3Nyo8w5+70tycrI++eQTffDBB2rVqpWeeOIJtWjRQmvWrAm/t+u5557TsmXLwl8///yzFi5cWPaLLsH111+vP/74Q/3799fy5cvVsWNHPfHEExWaKanQS3RDzx5JB9Zq7ty5+uijj9SqVSv5fD61bNlSa9asKWoox9EUAQAAoFxkHlW1yOPN6hR+I31Fat26tfbsiW7EDm5EFi5cGH4/0cKFC5WZmal77rlHHTt21HHHHad169aVKsvlcqlLly4aO3asfvjhB6Wmpuo///mP6tevr4YNG+qPP/7QscceG/XVrFmzEsdctGhRobked9xxSk5OVqtWrZSXlxd1zvbt27Vy5Uq1bt06fKxx48a68cYb9e677+r//u//9NxzzxWZlZqaesgba7Rq1Up//vmn/vzzz/CxX375Rbt27YrKPJTItfr+++/Da1UZJNR7igAAAFB5tWmYriFdm0W9hO6mbs3VvkmtCsnbvn27Lr30Ug0cOFAnnHCCatasqSVLluiRRx5Rnz59os5966231LFjR51++ul69dVXtXjxYk2bNk2SdOyxx2r9+vV64403dMopp2jWrFml+mV90aJF+vTTT3X22WerQYMGWrx4sbZu3RputsaOHatbbrlFlmXpvPPOU05Ojr7//nvt3LlTI0eOLHbc9evXa+TIkRoyZIiWLl2qJ554QhMnTpQkHXfccerTp48GDx6sqVOnqlq1aho1apQaNWoUvuZbb71V559/vo4//njt3LlTn3/+eXhOB2vatKmys7M1b948nXTSSapWrVqhG1b06NFDbdq00VVXXaUpU6YoLy9PQ4cOVdeuXdWxY8dDrlNorebNm6dzzz1XdevW1bfffhu1VocbTREAAADKzR3ntdR5JzaIuPtcxTRE0oE7pXXq1ElTpkzR6tWrFQwG1bhxYw0ePFh333131Lljx47VG2+8oaFDh6pBgwZ6/fXX1bp1a9m2rd69e+vWW2/VsGHDlJOTo169eunee+/VmDFjSsz3eDxasGCBHnvsMfn9fmVmZmrixIk6//zzJR14GVu1atU0YcIE3X777apevbratGmjW2+9tcRxBwwYoH379unUU09VcnKyhg8fHvVBqtOnT9fw4cPVu3dv5ebmqmvXrpo9e3b45Wv5+fnyer3666+/5PF4dN5552ny5MlFZnXu3Fk33nijLr/8cm3fvl2jR48udN0ul0vvvfeebr75ZnXt2lVJSUkljlncWn355ZeaMmVKeK0effTR8Fodbi67Ij79qJyFbsm9bds21a5dO6Za27a1e/fuMt3aMt56shMvOxgMavbs2frHP/4R161rE/W6yWavkX3kZrPXyC6tffv26Y8//lDz5s1VtWrRL4MrSUFBgfx+vzweT/i2z6Vl27by8/OVnJwc93WXVO9yufSf//xHF110kePZsdZ2795d7dq105QpUxzPdqq+NLX79+/XmjVr1KxZs0K35N6+fbvq1Kmj3bt3y+PxxDz3ovCeIgAAAABGoykCAAAAYDTeUwQAAIAjWgK8WyRs/vz5h3sKRuKZIgAAAABGoykCAAAAYLSEevmcbdsxP/0Zqon3adOy1JOdmNmR4zidbeqam5odOY7T2aauuanZkeM4nW3qmidqduQYZVGWerLJlhT+QNmi9mNZ51uUSt0U+Xw++Xy+8KIEAgGlpMQ2Zdu2lZ2dLUlx324w3nqyEy87Ly9P0oHbwLPXyK7IbPYa2U5ls9fILq38/HwVFBRo69atOuqoo+Kae25urvbs2RPX3AsKCmK+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feRms9fIdrI2cgwns8taT3ZiZcc735JwowUAAAAARqMpAgAAAGA0miIAAAAARqMpAgAAAGA0miIAAAAARqMpAgAAAGA0miIAAAAARqMpAgAAAGC0uJoin8+npk2bqkqVKurUqZMWL15c4vlTpkxRixYtVLVqVTVu3FgjRozQ/v3745owAAAAAJSnmJuiN998UyNHjtTo0aO1dOlSnXTSSerZs6e2bNlS5Pmvvfaa7rzzTo0ePVq//vqrpk2bpjfffFN33313mScPAAAAAGUVc1M0adIkDR48WAMHDlTr1q01depUVatWTS+88EKR53/zzTfq0qWLrrzySjVt2lTnnnuu+vXrd8hnlwAAAADACSmxnJybm6slS5borrvuCh9LSkpSjx499O233xZZ07lzZ73yyitavHixTj31VP3xxx+aPXu2+vfvX2xOTk6OcnJywt/7/X5JUjAYVDAYjGXKsm1beXl5CgaDcrlcMdWWtZ7sxMsO7a9Y91l5ZJu65qZms9fIdiqbvUa2U9nsNbKdyo5njx1KTE3Rtm3blJ+fr/r160cdr1+/vn777bcia6688kpt27ZNp59+engBbrzxxhJfPjd+/HiNHTu20PHPP/9c1apVi2XKQFzmzp17uKcAQ7DX4BT2GpzCXkNF27t3b7mPGVNTFI/58+frwQcf1FNPPaVOnTpp1apVGj58uO6//37de++9RdbcddddGjlyZPh7v9+vxo0b68wzz1Tt2rVjyrdtW36/Xx6PJ+4uON56shMvOxgMau7cuTrnnHPkdrsdzTZ1zU3NZq+R7VQ2e41sp7LZa2Q7lb19+/aYaw4lpqaoTp06Sk5O1ubNm6OOb968WRkZGUXW3Hvvverfv7+uv/56SVKbNm20Z88e3XDDDbrnnnuUlFT4bU1paWlKS0srdNztdsf1hywlJUVutzvuBzzeerITLzuEvUZ2RWeHsNfIrujsEPYa2RWdHcJeI7uis2PdX6UR040WUlNT1aFDB82bNy98rKCgQPPmzVNWVlaRNXv37i3U+CQnJ0s6sCAAAAAAcDjF/PK5kSNH6pprrlHHjh116qmnasqUKdqzZ48GDhwoSRowYIAaNWqk8ePHS5J69+6tSZMmqX379uGXz917773q3bt3uDkCAAAAgMMl5qbo8ssv19atW3Xfffdp06ZNateunebMmRO++cL69euj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lZaWVuRYI0aMCP93Zmam7rzzTl100UXhf5V89dVXlZubqxdeeEGpqak64YQTtGzZMk2aNCncFEkH/hLNyMgIf2/btnbv3l3qa/r11181Z84cfffdd+rQoYN2796txx9/XL169dKjjz6qhg0bFjv/W265RXfeeWf4WPPmzTV79mxJB/7Fa/jw4ZowYYIGDRoUPqd169aFxqpZs6YyMjJUtWrVIv+FrXfv3jrnnHO0b98+Va1atdTXBgCAybj7HIAKsWDBAnXo0CHq2Lfffqs2bdqofv364WM9e/ZUIBDQihUrSjXujh079Oqrr6pz587hl2csXLhQXbt2VWpqatS4K1eu1M6dO8PHsrOzlZmZqcaNG6tPnz6lzoycf82aNdWxY8fwsR49eigpKUmLFi0qsmbLli1atGiR6tWrp86dO6t+/frq1q2bvv766/A5S5cu1YYNG5SUlKT27durQYMGOv/88/Xzzz8XGs/r9apu3bo6++yz9cILLxR6s2nHjh2Vl5dX7HwAAEBhNEUAKsS6desKPXOyadOmqIZIUvj7TZs2lTjeHXfcoerVq6t27dpav3693nvvvZjGbdGihV544QW99957euWVV1RQUKAuXbpow4YNpb6mTZs2qV69elHHUlJSdNRRRxU7/z/++EOSNGbMGA0ePFhz5szRySefrJ49e+rvv/8udM6oUaP04YcfqlatWurevbt27NgRHmvcuHGaOXOmPvnkE/Xu3Vter1dPPPFEVF61atVkWZbWrVtX6usCAMB0NEUAKsS+fftUpUqVchvv9ttv1w8//KBPPvlEycnJGjBgQEy35MzKytKAAQPUrl07devWTe+++67q1q2rGTNmlNsci1JQUCBJGjJkiAYOHKj27dtr8uTJOv744zVv3ryoc+655x717dtXHTp00PTp0+VyufTWW2+Fx7r33nvVpUsXtW/fXrfeeqtuv/12TZgwoVBm1apVtXfv3gq9LgAAjiQ0RQAqRJ06daJeuiZJGRkZ2rx5c9Sx0PeR7/Upbrzjjz9e55xzjt544w3Nnj1bCxcujHtct9ut9u3bh5+lKY2MjAxt2bIl6lheXp527NhRbE7oDnkHvz+oZcuW2rp1a7HnpKWlqXnz5lq/fn2x8+nUqZP++usv5eTkRB3fsWOH6tatW8qrAgAANEUAytUP63fq3aV/qV7TFvrll1+ifpaVlaXly5dHNRZz585Venp6kTcVKE7omZVQM3Daaafpyy+/DN94ITRuixYtVKtWrSLHyM/P1/Llyw/ZjB08/127dmnJkiXhY5999pkKCgrUqVOnImuaNm2qhg0bFrrr3f/+979w49KhQwelpaVFnRMMBrV27VplZmYWO59ly5apVq1aUTeoWL16tfbv36/27duX+roAADAdTRGAcvPQR7/q4qe+0ciZP+rNTbW1/OcVUc8WnXvuuWrdurX69++vH3/8UR9//LHuvfdeXX/99eFf7BcvXqyWLVuG3+uzaNEiPfnkk1q2bJnWrVunzz77TP369dMxxxyjrKwsSdKVV16p1NRUDRo0SCtWrNCbb76pxx57TCNHjgxnjxs3Tp988on++OMPLV26VFdffbXWrVun/v37l/r6WrVqpfPOO0+DBw/W4sWLtXDhQt1888264oorwu+f2rBhg1q2bKnFixdLOnDHu9tvv12PP/643n77ba1atUr33nuvVq5cqR49ekg68JkeN954o0aPHq1PPvlEK1eu1E033SRJuvTSSyVJH3zwgZ5//nn9/PPPWrVqlaZNm6bx48fr5ptvjprjggUL1Lx5cx1zzDGlf+AAADAct+QGUC5+WL9TU7/4fy9FS63bVCn1muvRqTP0wF0HbqmdnJysDz/8UDfddJOysrJUvXp1DRgwQHfddVe4bu/evVq5cmX4WZ9q1arp3Xff1ejRo7Vnzx41aNBA5513nkaNGqW0tDTt379flmXpk08+kdfrVYcOHVSnTh3dd999Ubfj3rlzpwYPHqxNmzapVq1a6tChg77++ms1b948fM6YMWM0Y8YMrV27ttjrfPXVVzVs2DD16NFDLteBD2+NvNlBMBjUypUro97Tc+utt2r//v0aMWKEduzYoZNOOkkfffRR1O3AJ0yYoJSUFPXv31/79u1Tp06d9Nlnn4Wf6XK73fL5fBoxYoRs21azZs00ceLEqGuUpNdff12DBw8u1WMGAAAOoCkCUC7WbttT6JjVpZ9eeu5p3X/HcCUlHXhiOjMzM/z5PFLhzwrq3r171A0U2rRpo88++6zIzMjz2rZtqwULFhQ7v8mTJ2vy5MmF6iOz16xZo+7duxc7hiQdddRReu2118K1B39WUNOmTYu8AcSdd94Z9TlFwWAwah3cbrceffRRPfroo0XmnnfeeTrvvPOi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WxJutAAAAADAaDRFAAAAAIxGUwQAAADAaDRFAAAAAIxGUwQAAADAaDRFACBp+/btqlevntauXXu4p2KEO++8UzfffPPhngYAAJJoigBAkvTAAw+oT58+atq0afjY+vXr1atXL1WrVk316tXT7bfffsjPRrjwwgvVpEkTValSRQ0aNFD//v31999/R51j27YmTZqkoUOHqkaNGmrUqJEeeOCBqHPmz5+vk08+WWlpaTr22GM1Y8aMmK9p//798nq9ql27tmrUqKG+fftq8+bNpa6/8cYb5XK5NGXKlKjj/fr1U2ZmZrHXuHbt2qhbrYa+Fi5cGD7ntttu04svvqg//vgj5usCAKC80RQBMN7evXs1bdo0DRo0KHwsPz9fvXr1Um5urr755hu9+OKLmjFjhu67774SxzrzzDM1c+ZMrVy5Uu+8845Wr16tSy65JOqc4cOH64UXXtC1116r5cuX6/3339epp54a/vmaNWvUq1cvnXnmmVq2bJluvfVWXX/99fr4449juq4RI0bogw8+0FtvvaUvvvhCf//9t/75z3+WqvY///mPFi5cqIYNGxb62RlnnKE333yzxGuUpE8//VQbN24Mf3Xo0CH8szp16qhnz556+umnY7omAAAqQkJ9eCsAVITZs2crLS1Np512WvjYJ598ol9++UWffvqp6tevr3bt2un+++/XHXfcoTFjxhT7ae0jRowI/3dmZqbuvPNOXXTRRQoGg3K73fr111/19NNP64cfftDq1avVrFmzQmNNnTpVzZo108SJEyVJrVq10ldffaXJkyerZ8+epbqm3bt3a9q0aXrttdd01llnSZKmT5+uVq1aaeHChWrVqlWxtRs2bNDNN9+sjz/+WL169Sr086FDh4Y/hbyoawypXbu2MjIyompDn2IuSb1799Y999yjCRMmlOqagKJs375drVq10uLFi6Oe6UXF+OWXX3Tuuedq5cqVql69+uGeDlBueKYIgPEWLFgQ9SyGJH377bdq06aN6tevHz7Ws2dP+f1+rVixolTj7tixQ6+++qo6d+4cbhY++OADNW/eXLNnz9YNN9yg4447Ttdff7127NgRld2jR4+osXr27Klvv/221Ne0ZMkSBYPBqHFatmypJk2alDhOQUGB+vfvr9tvv10nnHBCXNcYcuGFF6pevXo6/fTT9f777xeqPfXUU/XXX3/xPi6USXEvfb3gggvUsGFD1a9fv1QvfZWkWbNmqVOnTqpWrZqaNm2qiy++uNA5M2bMUNu2bVWlShXVq1dPXq836uczZ85U+/bt1bBhQzVt2jTupt/n86lp06aqUqWKOnXqpMWLF5e69p133lFSUpIuuuiiqONjxoxRy5YtVb16ddWqVUs9evTQokWLos559NFH1aVLF1WrVk01a9YsNHbr1q112mmnadKkSfFcFlBp0RQBMN769esLvUxs06ZNUQ2RpPD3mzZtKnG8O+64Q9WrV1ft2rW1fv16vffee+Gf/fHHH1q3bp3eeecdDR8+XM8//7yWLFkS9fKz4rL9fr/27dtXqmvatGmTUlNTC/1SU79+/RLn//DDDyslJUW33HJL3NdYo0YNTZw4UW+99ZZmzZql008/XRdddFGhxii05uvWrSvVNQEHO9RLXz/++GPNmDGjVC99feedd9S/f38NHDhQy5Yt05w5c9SvX7+ocyZNmqR77rlHd955p1asWKFPP/006tnbjz76SFdddZWGDBmib775Rj6fT5MnT9aTTz4Z03W9++67+r//+z+NHj1aS5cu1UknnaSePXtqy5Yth6xdu3at7rvvPp1xxhmFfnb88cfrySef1PLly/XVV1+padOmOvfcc7V169bwOcFgUJdccoluuummYjMGDhyop59+ulSNJpAoEurlc7ZtR730IpaaWOvKo57sxMyOHMfpbFPX/HBn7927Vw0bNowaJ3IvFHWspOzbbrtN1113ndatW6dx48ZpwIAB+uCDD+RyuZSfn6+cnBxNmzZNq1evVteuXfX888+rY8eO+u2339SiRYuojFizS5p/UdceacmSJXrssce0ZMmSIjMj//u2227ToEGDirzG2rVrR72MsGPHjvr77781YcIEXXDBBeExqlSpIknas2dPqR7DI2Gv8fda+dbOmjVLaWlp6tSpU/i8jz/+WL/88os++eQTValSRZZlady4cbrzzjs1evRopaamFhonLy9Pw4cP1yOPPKJBgwbJtm3t3r1bp556anjcnTt3atSoUXr//fd19tlnh2vbtGkTPufll1/WRRddpCFDhmj37t1q27at7rzzTj388MMaOnSoXC5Xqa7b5/Pp+uuv17XXXitJevrppzVr1ixNmzZNd955Z7G1+fn5uvrqq3XHHXdoyZIl2r17d9T6HdzkTZw4UdOmTdOPP/6os88+W7Zt684775RlWXrxxRfD8zlYjx49tGPHDs2fPz9qLY7kvUZ25csub5W6KfL5fPL5fMrPz5ckBQIBpaTENmXbtpWdnS1JpfrLqDzryU687NC/evn9fvaaQdmWZWnLli3avXt3+Ge1atXSwoULo46FntGoUaOGdu/eXWy22+1W/fr1Vb9+fT3zzDM68cQT9emnn+rUU0/VUUcdpZSUFGVkZGj16tXy+/3hZ0x+/fVXZWRkqE6dOvrzzz+jsteuXav09HTl5uYqJyfnkNcdOnf9+vWyLCt8fOPGjbIsq8j6uXPnasuWLcrMzAwfy8/P12233abJkyfrp59+Cq9ZjRo1ir3GorRp00affPJJ1LqF/nW6atWqUddanCNhrx2O7CP577V58+apbdu2Uftn/vz5at26tapUqRKu79y5s/x+vxYtWqS2bdsWGmfJkiXasGGDcnJydNJJJ2nLli1q1aqV/v3vf4dfRvree++poKBAq1atktfrVXZ2tk499VTdf//9OvrooyVJ2dnZ4f0cypakv/76Sz///LOaNGlyyOvOycnRjz/+qBEjRkRdV9euXbVgwYISn8EZP368atWqpYsvvlgLFy5UMBgs9s9Wbm6unnnmGXk8HjVr1izcQIXmvW/fvnBzWJQ2bdro008/VceOHcPHjuS9Rnblyg4EAjHXHEqlboq8Xq+8Xq/8fr8sy1J6enrU/9xLI9RJht4UHKuy1JOdeNnBYFCS5PF4in0jfUVlm7rmhzN76bodWrdxjxodd6Lmz/5P1N8v3bt318SJE5WTk6N69epJkhYuXCiPx6NTTz01/K/Nh8oO/ULhdrtlWZbOOussPfLII+GGwOPx6JdffpF04LX6lmXp9NNP10cffRQ1n6+//lqdO3eWZVmluu6uXbvK7Xbru+++U9++fSVJK1eu1F9//aUzzzxTNWrUKFQ/ePBgXXDBBVHjnHfeebr66qs1cODAYrMPvsairFy5Ug0bNgz/3LIsLVmyRG63W506dVLVqlWLXcOQRN5r/L1WMde9adMmNWnSJGrf7dy5s9BeO/bYYyUp/I8gBwu9LO2RRx7RxIkTlZmZqYcfflh9+vTRypUrddRRR2nTpk0qKCjQlClT9Nhjj8myLN1777265JJL9OOPPyo1NVW9evXSyJEj9f333+vkk0/W5s2bw3dYLC77YBs2bFB+fr6aNWsWdf7RRx+tP/74o9gxvvrqK7366qtaunSp3G53+Ovg8z/88EP169dPe/fuVYMGDTR37lw1b9680JpXrVpVLper2LzGjRtr8+bNUT8/kvca2ZUruyJeulmpm6KDhT7rIt66eGrLWk92YmWHaky7bhOzH/roVz3zxWo1qi6t2Vxbm35eoV27dqlWrVqSDtzYoHXr1howYIAeeeQRbdq0Sffee6+8Xq+qVKki27a1dOlSeb1ezZs3T40aNdKiRYv03Xff6fTTT1etWrW0evVq3XvvvTrmmGPUuXNnuVwunXPOOTr55JM1ZMgQXXzxxfrhhx80fPhwnXPOOeGXzt10003y+Xy64447dN111+mzzz7TzJkzNWvWrEJ7tLjrrlmzpgYNGqT/+7//U+3ateXxeHTzzTcrKytLWVlZ2r17t1wul1q1aqXx48fr4osvVp06dVSnTp2ocdxutxo0aKCWLVtKkhYtWqQvv/xS55xzjo466qgir/HFF19Uamqq2rdvL+nA+yOmT5+u559/PmreX331lc444wxVq1atwh/v8qhP1Owj+e+1ffv2hX95j6w5uPZQaxD6Be2ee+7RJZdcEn4J24knnqi3335bQ4YMkW3bCgaDevzxx3XuuedKkl5//XVlZGRo/vz56tmzp2644Qb98ccfuvDCCxUMBuXxeDR8+HCNGTNGycnJpVqD4uYaefxggUBAAwYM0HPPPae6deuG/3wXdf5ZZ52lZcuWadu2bXruued0+eWXa9GiReF//ClqzYpStWpV7d27t8S1j1Vl3mtkV67seOdbEm60AMA4P6zfqalf/L8PDU2t21Qp9Zrr0akzwseSk5P14YcfKjk5WVlZWbr66qs1YMAAjRs3LnzOvn37tHLlyvC/jlarVk3vvvuuzj77bLVo0UKDBg1S27Zt9cUXXygtLU2SlJSUpA8++EC1a9fW3XffrT59+qhVq1Z64403wuM2a9ZMs2bN0ty5c3XSSSdp4sSJev7556Pe0P3aa68pKankv8InT56sCy64QH379lXXrl2VkZGhd999N+qclStXluqlayHVqlXThx9+qB49ehR7jZJ0//33q0OHDurUqZPee+89vfnmmxo4cGDUWG+88YYGDx5c6mzgYHXq1NHOnTujjmVkZBT6kOLQ9wffIj6kQYMGkg48WxuSlpam5s2b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6aefrrvuukuWZenVV1/VhRdeqLlz56p58+alvu6RI0fqk08+0fTp0+XxeHT77bfrqquu0ty5cw9Z/+GHH+qbb75RgwYNtH//fu3evTu8Zpdffrk2b96sd999V8FgUMOGDdPAgQP1/PPPS5Lmzp2rq6++Wg8//LDOOussrVy5UsOHD9eFF16oLl26hPfaP//5T02aNElt27aN6fGKVWXaa2RXfDZ/r5HtVDZ7jWynsgOBQMw1h2QngN27d9uS7K1bt9oFBQUxfeXn59s7duyw8/PzY64taz3ZiZedk5Nj//e//7VzcnKMuu6D62fOnGnXrVs36pxZs2bZSUlJ9saNG8PHnnrqKdvj8dibNm0qdfbDDz9sN2vWLPz9m2++aaekpNjBYDB87L333rNdLleJj0Pr1q3tMWPGlPq6d+7cabvdbnvmzJnhYytWrLAl2V9//XWJtX/++afdqFEje/ny5XZmZqY9adKk8Jr9/PPPtiR78eLF4fNnz55tu1wu+6+//rILCgrsfv362ZdccknUmJMmTbJr165t79+/P3xs/vz5dmpqqr1nzx5j9hrZFZ/N32tks9fIPtKyt27dakuyd+/eXW79RqV+puhgLpcrrm4yVBdPbVnryU6s7FCNadd9cP1XX32lDh06RI21cOFCtWnTRhkZGeFj5513noYOHaqVK1eqXr16pcr2+/066qijwud27NhRSUlJmjFjhgYOHKjs7Gy98sor6tGjh1JTU4sco6CgQIFAIDxOaa576dKlCgaDOuecc8LntmrVSkcffbQWLlyozp07F5s1YMAA3X777TrxxBMLrdXChQtVs2ZNnXLKKeGac845R0lJSVq8eLEuvvhi5eTkqFq1alFzrFatmrZv367169fruOOOkySdcsopysvL0+LFi9W9e/cSr+dI2WtkO1MbOYaT2WWtJzuxstlrZDtZW94S6j1FAJyxbt06NWzYMOrYpk2bVL9+/ahjoe83b95cqnFXrVqlJ554QkOGDAkfa9asmd59913dc889SktLU82aNfXXX39p5syZxY7z6KOPKjs7W5dddllpL0mbNm1SamqqatasGXW8Xr162rRpU7F1Dz/8sFJSUnTLLbcUO269evWijqWkpOioo44Kj9uzZ0+9++67mjdvngoKCvT7779r8uTJ4fqQatWqybIsrVu3rtTXBQAAyo6mCEAh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p9NHWr16tdauXavevXuHjxUUFBwITknRypUri/zk9rS0NKWlpRU67na74/pDlpKSIrfbHfcDHm892YmXHcJeI7uis0PYa2RXdHYIe43sis4OYa+RXdHZse6v0ojpRgupqanq0KGD5s2bFz5WUFCgefPmKSsrq9D5LVu21PLly7Vs2bLw14UXXqgzzzxTy5YtS5hb/QIAAAA4csX88rmRI0fqmmuuUceOHXXqqadqypQp2rNnjwYOHChJGjBggBo1aqTx48erSpUqOvHEE6Pqa9asKUmFjgMAAADA4RBzU3T55Zdr69atuu+++7Rp0ya1a9dOc+bMCd98Yf369UpKiuszYQEAAADAcXHdaGHYsGEaNmxYkT+bP39+ibUzZsyIJxIAAAAAKgRP6QAAAAAwGk0RAAAAAKPRFAEAAAAwGk0RAABHkO3bt6tevXpau3bt4Z6KEaZOnRr1eYwAEhNNEQAAR5AHHnhAffr0UdOmTcPHtm7dqj59+qhatWqqV6+ebr/9duXl5ZU4TtOmTZWUlKRatWopKSlJLpdLDz30UNQ5M2fOVLt27VStWjVlZmZqwoQJUT/fuHGjrr/+erVo0UJJSUm69dZb47om27Z13333qUGDBqpatap69Oih//3vfyXWPP300+rSpYssy5LH41FWVpY++uij8M/Xrl0rl8tV5Ndbb71VaLzt27fr6KOPlsvl0q5du8LHr7vuOi1dulQLFiyI69oAVA40RQAAHCH27t2radOmadCgQeFj+fn5uv/++5Wbm6tvvvlGL774ombMmKH77rvvkOONHTtWv/32m/7++29t3LhRN998c/hnH330ka666irdeOON+vnnn/XUU09p8uTJevLJJ8Pn5OTkqE6dOrrnnnt00kknxX1djzzyiB5//HFNnTpVixYtUvXq1dWzZ0/t37+/2Jqjjz5ao0eP1vfff6/vv/9eZ511lvr06aMVK1ZIkho3bqyNGzdGfY0dO1Y1atTQ+eefX2i8QYMGqW3btoWOp6am6sorr9Tjjz8e9/UBOPxoigAAOELMnj1baWlpOu2008LH5s6dq7/++kszZsxQu3btdP755+v++++Xz+dTbm5uieOlp6erfv36ysjIUEZGhqpXrx7+2csvv6yLLrpIN954o5o3b65evXrprrvu0sMPPyzbtiUdeLbpoYce0oABA2RZVlzXZNu2pkyZolGjRqlPnz5q27atXnrpJf3999/673//W2xd7969de655+q4447T8ccfrwceeEA1atTQwoULJUnJycnh6wp9/ec//9Fll12mGjVqRI319NNPa9euXbrtttuKzXr//fe1b9++uK4RwOFHUwQAwBFiwYIF6tChQ9SxhQsXqkmTJuEPWZeknj17yu/3h581Kc7DDz+s5s2b6+STT9aECROiXnKXk5OjKlWqRJ1ftWpV/fXXX1q3bl05XM0Ba9as0aZNm9SjR4/wMcuy1KlTJ3377belGiM/P19vvPGG9uzZo6ysrCLPWbJkiZYtWxb1LJsk/fLLLxo3bpxeeumlYj+cvmPHjsrLy9OiRYtKeVUAKpu4Prz1cLFtO/yvT7HWxFpXHvVkJ2Z25DhOZ5u65qZmR47jdLapa36kZ69bt04NGjSIOnfTpk2qWbNm1Bj16tWTdOA9P+3atStyrJtvvlnt27dXamqqfvrpJ91zzz36+++/NWnSJEnSueeeq5EjR+qaa67RmWeeqVWrVmnixImSpL///luZmZmF5h7LGoTO3bhxY3jOkbX169fXpk2bih3Ptm2tWLEi/DK7GjVq6N1331WrVq2KrHn++efVqlUrZWVlhbP379+vfv366ZFHHlHjxo21evXqIq+jatWqsixLa9eujbrmI3mvFVcfOY7T2aauuanZ5a1SN0U+n08+n0/5+fmSpEAgoJSU2KZs27ays7MlSS6XK+Y5lKWe7MTLDv0rqN/vZ6+RXaHZ7DWyK6I2EAioTp062r17d/hYMBiUFL3X9u7dK0nas2dP1LmRBg0aFM4+4YQTVFBQoBEjRujOO+9UWlqaLrvsMv3yyy/q3bu3gsGg0tPTdeONN+qhhx7S3r17tXv37qi55+XlKTc3t9i84q47VO/3+1WtWrWo63K5XMWOZ9u2MjIy9MUXXygQCOi9997TNddcow8//FAtW7aMOnffvn167bXXdPvtt0fN+5577tExxxyj3r17a/fu3dqzZ094Lgc/FlWqVNH27dsLXfeRuteKwt9rZDuVHQgEYq45lErdFHm9Xnm9Xvn9flmWpfT09JhfkxzqJC3LivsBj7ee7MTLDv3y4PF45Ha7Hc02dc1NzWavkV0RtRkZGdq7d2/U/ysbN26sBQsWRO21HTt2SJKOOeaYEv+/GpndvXt35eXlaefOnWrRooUkacqUKZo4caI2bdqkunXrat68eXrooYfUtm1bWZYVVZ+SkqLU1NRS/388VHvsscdKOtC4RNbu2LFDJ510UrHjheqbNWsml8ulbt26afny5XrhhRf0zDPPRJ0bej/QDTfcEDXvb775RsuXL1edOnWixjzmmGN09913a+zYseExdu7cqSZNmhS67iN1rxWFv9fIdir7UHfPjEelbooOFrpVZrx18dSWtZ7sxMoO1Zh23WSz18hO7Owf1u/Umm17VK9pC30+692o80477TQ99NBD2rp1qxo1aiRJ+vTTT+XxeHTCCScccj6h3B9//FFJSUmqX79+VE1KSoqOPvpoSdIbb7yhrKys8MvzIusP/u/SXnfz5s2VkZGhzz77TO3bt5d04JmIRYsW6aabbipxvIPXraCgQLm5uYVqXnjhBV144YWF5v32229H3eHuu+++03XXXacFCxbomGOOCY+zevVq7d+/XyeffHKhaz3S9tqhaiPHcDK7rPVkJ1Z2vPMtSUI1RQAAINpDH/2qqV/8IUnK3Vpbm39eoZ07d6pWrVqSpHPOOUdHH320Bg4cqAkTJmjTpk0aNWqUvF6v0tLSJEmLFy/WgAEDNG/ePDVq1EjffvutFi1apO7du0uSfv75Z40cOVJXX311eNxt27bp7bffVvfu3bV//35Nnz5db731lr744ouo+S1fvlw1atRQdna2tm7dqmXLlik1NVWtW7cu1fW5XC7deuut+ve//63jjjtOzZo107333quGDRvqoosuCp939tln6+KLL9awYcMkSXfddZfOOOMMtW7dWtnZ2Xrttdc0f/58ffzxx1Hjr1q1Sl9++aVmz55dKDuy8QldsyS1atVKNWvWDB9fsGCBmjdvrmOOOaZU1wSg8qEpAgAgQf2wfme4IZKk1LpNlVKvuR6dOkMP3DVC0oFbT48aNUrvvvuusrKyVL16dV1zzTUaN25cuG7v3r1auXJl+OVPaWlpeuONNzRmzBjl5OSoWbNmGjFihEaOHBmV/+KLL+q2226TbdvKysrS/Pnzdeqpp0ad07Vr1/B/L1myRK+99poyMzO1du1aSdL8+fN15plnas2aNVEfOBvpX//6l/bs2aMbbrhBu3bt0umnn645c+ZE3f1u9erV4aZFkrZs2aKbbrpJmzdvlmVZatu2rT7++GOdc845UWO/8MILOvroo3Xuuece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+PBh/fKXv9Sbb76p9evXD3VrwFWG/DtF48aNU01Njbq7u/u93t3drQkTJgxYM2HChFDPA1K0WSvZtGmT2tvb9dZbb+nee+8dzDYxAoSdtb/97W86deqUHn744b7XLl++LElKJpM6ceKEpk6dOrhNI5ai/L42ceJEpVIp1dTU9L125513qqurS729vaqtrR3UnhFPUWbtW9/6lpYtW6bHHntMkjRjxgxduHBBTzzxhJ555hmNGsX/N4/KXWsvyGQyN/1dImkYfKeotrZWs2fP1r59+/peu3z5svbt26empqYBa5qamvo9L0l79+695vOAFG3WJOn555/X+vXrtWfPHs2ZM8dGq4i5sLM2ffp0vf322zp69Gjfj8997nN9n6TT2Nhos33ESJTf1+6//369++67fYu3JP31r3/VxIkTWYhwTVFm7eLFi1ctPqVl/MO/Qw9Urmp7QbjPgBgcO3bsMHV1deaVV14xf/nLX8wTTzxhPvKRj5iuri5jjDHLli0za9as6Xv+j3/8o0kmk2bTpk3m2LFjpq2tzaRSKfP2228P1VtATISdtfb2dlNbW2tef/11869//avvRy6XG6q3gJgIO2tX4tPncLPCztrp06dNOp02q1evNidOnDC//vWvzfjx4813vvOdoXoLiImws9bW1mbS6bT5xS9+YU6ePGl++9vfmqlTp5pHHnlkqN4CYiCXy5kjR46YI0eOGElm8+bN5siRI+Yf//iHMcaYNWvWmGXLlvU9f/LkSTN69Gjz5JNPmmPHjhnf901NTY3Zs2dPqNxhsRQZY8wPfvADc9ttt5na2lozd+5c86c//anvny1cuNAsX7683/OvvvqqmTZtmqmtrTV33323efPNNy13jLgKM2u33367kXTVj7a2NvuNI3bC/r5WjqUIYYSdtQMHDph58+aZuro6c8cdd5jvfve7plAoWO4acRRm1vL5vHn22WfN1KlTTX19vWlsbDSrVq0y//nPf+w3jtjYv3//gP/bqzRby5cvNwsXLryqZtasWaa2ttbccccd5qc//Wno3IQxfP8SAAAAgLuG/O8UAQAAAMBQYikCAAAA4DSWIgAAAABOYykCAAAA4DSWIgAAAABOYykCAAAA4DSWIgAAAABOYykCAAAA4DSWIgAAAABOYykCAAAA4DSWIgAAAABOYykCAAAA4LT/Aw1YbJm8uQfgAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "npoint = 5\n", "coords = np.random.rand(npoint, 2)/2 + .25\n", "base = np.floor(coords / grid.spacing)*grid.spacing\n", "\n", "\n", "fig, ax = plt.subplots(figsize=(10, 10))\n", "ax.set_xlim([0, 1])\n", "ax.set_ylim([0, 1])\n", "ax.scatter(coords[:, 0], coords[:, 1], s=10, label=\"Sparse positions\")\n", "ax.grid(which = \"major\")\n", "ax.grid(which = \"minor\", alpha = 0.2)\n", "ax.xaxis.set_minor_locator(FixedLocator(np.linspace(0, 1, 51)))\n", "ax.yaxis.set_minor_locator(FixedLocator(np.linspace(0, 1, 51)))\n", "ax.set_title(\"Off the grid sparse positions\")\n", "for i in range(npoint):\n", " ax.annotate(\"(%.3f, %.3f)\" % (coords[i, 0], coords[i, 1]), coords[i, :])\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SparseFunction\n", "\n", "A `SparseFunction` is a devito object representing a `Function` defined at sparse positions. It contains the coordinates of the sparse positions and the data at those positions. The coordinates are stored in a `SubFunction` object as a `Function` of shape `(npoints, ndim)` where `npoints` is the number of sparse positions and `ndim` is the number of dimension of the grid.\n", "\n", "A `SparseFunction` comes with the two main methods `inject(field, expr)` and `interpolate(field)` that respectively inject `expr` into `field` at the sparse positons and interpolate `field` at the sparse positions." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Tensor symbol representing a space- and time-varying sparse array in symbolic\n", " equations.\n", "\n", " Like SparseFunction, SparseTimeFunction carries multi-dimensional data that\n", " are not aligned with the computational grid. As such, each data value is\n", " associated some coordinates.\n", " A SparseTimeFunction provides symbolic interpolation routines to convert\n", " between TimeFunctions and sparse data points. These are based upon standard\n", " [bi,tri]linear interpolation.\n", "\n", " Parameters\n", " ----------\n", " name : str\n", " Name of the symbol.\n", " npoint : int\n", " Number of sparse points.\n", " nt : int\n", " Number of timesteps along the time Dimension.\n", " grid : Grid\n", " The computational domain from which the sparse points are sampled.\n", " coordinates : np.ndarray, optional\n", " The coordinates of each sparse point.\n", " space_order : int, optional, default=0\n", " Discretisation order for space derivatives.\n", " time_order : int, optional, default=1\n", " Discretisation order for time derivatives.\n", " shape : tuple of ints, optional, default=(nt, npoint)\n", " Shape of the object.\n", " dimensions : tuple of Dimension, optional\n", " Dimensions associated with the object. Only necessary if the SparseFunction\n", " defines a multi-dimensional tensor.\n", " dtype : data-type, optional, default=np.float32\n", " Any object that can be interpreted as a numpy data type.\n", " initializer : callable or any object exposing the buffer interface, default=None\n", " Data initializer. If a callable is provided, data is allocated lazily.\n", " allocator : MemoryAllocator, optional\n", " Controller for memory allocation. To be used, for example, when one wants\n", " to take advantage of the memory hierarchy in a NUMA architecture. Refer to\n", " `default_allocator.__doc__` for more information.\n", "\n", " Examples\n", " --------\n", "\n", " Creation\n", "\n", " >>> from devito import Grid, SparseTimeFunction\n", " >>> grid = Grid(shape=(4, 4))\n", " >>> sf = SparseTimeFunction(name='sf', grid=grid, npoint=2, nt=3)\n", " >>> sf\n", " sf(time, p_sf)\n", "\n", " Inspection\n", "\n", " >>> sf.data\n", " Data([[0., 0.],\n", " [0., 0.],\n", " [0., 0.]], dtype=float32)\n", " >>> sf.coordinates\n", " sf_coords(p_sf, d)\n", " >>> sf.coordinates_data\n", " array([[0., 0.],\n", " [0., 0.]], dtype=float32)\n", "\n", " Symbolic interpolation routines\n", "\n", " >>> from devito import TimeFunction\n", " >>> f = TimeFunction(name='f', grid=grid)\n", " >>> exprs0 = sf.interpolate(f)\n", " >>> exprs1 = sf.inject(f, sf)\n", "\n", " Notes\n", " -----\n", " The parameters must always be given as keyword arguments, since SymPy\n", " uses ``*args`` to (re-)create the Dimension arguments of the symbolic object.\n", " \n" ] } ], "source": [ "print(SparseTimeFunction.__doc__)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multilinear interpolation" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from itertools import product" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "s = SparseTimeFunction(name=\"s\", grid=grid, npoint=npoint, nt=nt, coordinates=coords)\n", "\n", "d1, d2 = grid.spacing\n", "interp_points = np.concatenate([base+(s1*d1, s2*d2) for (s1, s2) in s._point_support])" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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gK+vb57z3bNnD7p06YLIyEjMmDEDaWlpWLZsGVq2bIkTJ05IDZXlYxUREYG5c+fixIkT+PzzzxEYGCjNrzDnmYioRIlERE+o+/fviwDEnj175rtfjx49RACiXq8XRVEU9+3bJwIQv/vuO6v9Vq9eLQIQjx07VmD2ggULRADilStXcnwNgOju7i5evHhR2vbXX3+JAMRly5ZJ2wYPHiyGhISId+7csap/6aWXRI1GIz58+DDP/OPHj4sAxLFjx1ptHzBggAhAnD59urRt+vTpIgCxb9++OcYxf80sNjZWBCCOHDnSar+XX345x7i56dmzp1inTp189zFn9ujRw2r7yJEjRQDiX3/9JW3L7RxER0eLkZGRVtvCwsJEAOLOnTutti9evFgEIN6+fTvP+Xz11Veii4uLeODAAavtK1asEAGIBw8ezPd42rRpIwIQFy5cKG1LT08XGzRoIAYGBooZGRmiKIrikiVLRADi119/Le2XkZEhRkVFib6+vtL6HDNmjKhWq8XMzMw8M81reN++fdK2rl27imFhYTn2vXLlighAXL16tbTNPLe7d+9K2/766y/RxcVF7N+/v7TN/FgNGjTIasznnntOLF++vPR5Yc4zEVFJ4uVzRPTEMhgMAAA/P7989zN/Xa/XF/uczDp06GD1TFO9evWgVqtx+fJlANmvedm0aRO6d+8OURRx584d6SM6OhopKSk4ceJEnuObL8UbOXKk1fY33ngjz5oRI0YUOO/t27cDAEaPHm21vaBnrczKlCmDa9eu4dixYwXu+/gzPea5m+cAwOo1QSkpKbhz5w7atGmDy5cvIyUlxao+IiIC0dHROeYDAFu2bEFWVlau8/juu+9Qq1Yt1KxZ0+pxePbZZwEA+/btK/BY3NzcMHz4cOlzd3d3DB8+HLdu3cLx48el4woODkbfvn2l/VQqFUaPHo3U1FT8+uuv0pwfPHiA3bt3F5hrj8TERMTGxmLAgAEoV66ctL1evXro2LGj1fk3e3ztPPPMM7h79670PVWY80xEVJLYFBHRE8vc7Jibo7wUtnkqSpUrV86xrWzZsrh37x4A4Pbt27h//770WijLj4EDBwL4340fchMfHw8XFxdERERYba9atWqeNY/vm9+4j186WKNGjQJrAeCdd96Br68vmjZtimrVqkGr1eZ5CVW1atWsPq9SpQpcXFysXpt1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22g0AgDUarVd77HgSLZSz7lSs7nWmC1XNtcas+XK5lpjtlzZ5ga8KJXqpuhxgiDYdeLMdfa+OZQj9cx2rmxzjdKOm9lca8x+crO51pgtZ63lGHJmO1rPbOfKtne++eGNFoiIiIiISNHYFBERERERkaKxKSIiIiIiIkVjU0RERERERIrGpoiIiIiIiBSNTRERERERESkamyIiIiIiIlI0NkVERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFcyvpCdhCFEWIomhXja11RVHPbOfMthxH7mylnnOlZluOI3e2Us+5UrMtx5E7W6nnXKnZluPIna3Uc67U7KJWqpsinU4HnU4Hk8kEADAYDHBzs23KoigiNTUVACAIgs1zcKSe2c6XnZmZCQDQ6/Vca8wu1myuNWbLlc21xmy5srnWmC1XtsFgsLmmIKW6KdJqtdBqtdDr9dBoNPDz84NGo7FpDHMnqdFo7H7A7a1ntvNlG41GAIBarYZKpZI1W6nnXKnZXGvMliuba43ZcmVzrTFbrmxzA16USnVT9DhBEOw6ceY6e2odrWe2c2Wba5R23MzmWmP2k5vNtcZsOWstx5Az29F6ZjtXtr3zzQ9vtEBERERERIrGpoiIiIiIiBSNTRERERERESkamyIiIiIiIlI0NkVERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFY1NERERERESKxqaIiIiIiIgUjU0REREREREpGpsiIiIiIiJSNLeSnoAtRFGEKIp21dhaVxT1zHbObMtx5M5W6jlXarblOHJnK/WcKzXbchy5s5V6zpWabTmO3NlKPedKzS5qpbop0ul00Ol0MJlMAACDwQA3N9umLIoiUlNTAQCCINg8B0fqme182ZmZmQAAvV7PtcbsYs3mWmO2XNlca8yWK5trjdlyZRsMBptrClKqmyKtVgutVgu9Xg+NRgM/Pz9oNBqbxjB3khqNxu4H3N56ZjtfttFoBACo1WqoVCpZs5V6zpWazbXGbLmyudaYLVc21xqz5co2N+BFqVQ3RY8TBMGuE2eus6fW0XpmO1e2uUZpx81srjVmP7nZXGvMlrPWcgw5sx2tZ7ZzZds73/zwRgtERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFY1NERERERESKxqaIiIiIiIgUjU0REREREREpGpsiIiIiIiJSNDZFRERERESkaGyKiIiIiIhI0dgUERERERGRormV9ARsIYoiRFG0q8bWuqKoZ7ZzZluOI3e2Us+5UrMtx5E7W6nnXKnZluPIna3Uc67UbMtx5M5W6jlXanZRK9VNkU6ng06ng8lkAgAYDAa4udk2ZVEUkZqaCgAQBMHmOThSz2zny87MzAQA6PV6rjVmF2s21xqz5crmWmO2XNlca8yWK9tgMNhcU5BS3RRptVpotVro9XpoNBr4+flBo9HYNIa5k9RoNHY/4PbWM9v5so1GIwBArVZDpVLJmq3Uc67UbK41ZsuVzbXGbLmyudaYLVe2uQEvSqW6KXqcIAh2nThznT21jtYz27myzTVKO25mc60x+8nN5lpjtpy1lmPIme1oPbOdK9ve+eaHN1ogIiIiIiJFY1NERERERESKxqaIiIiIiIgUjU0REREREREpGpsiIiIiIiJSNDZFRERERESkaGyKiIiIiIhI0dgUERERERGRorEpIiIiIiIiRWNTREREREREisamiIiIiIiIFM2tpCdgC1EUIYqiXTW21hVFPbOdM9tyHLmzlXrOlZptOY7c2Uo950rNthxH7mylnnOlZluOI3e2Us+5UrOLWqluinQ6HXQ6HUwmEwDAYDDAzc22KYuiiNTUVACAIAg2z8GRemY7X3ZmZiYAQK/Xc60xu1izudaYLVc21xqz5crmWmO2XNkGg8HmmoKU6qZIq9VCq9VCr9dDo9HAz88PGo3GpjHMnaRGo7H7Abe3ntnOl200GgEAarUaKpVK1mylnnOlZnOtMVuubK41ZsuVzbXGbLmyzQ14USrVTdHjBEGw68SZ6+ypdbSe2c6Vba5R2nEzm2uN2U9uNtcas+WstRxDzmxH65ntXNn2zjc/vNECEREREREpGpsiIiIiIiJSNDZFRERERESkaGyKiIiIiIhI0dgUERERERGRorEpIiIiIiIiRWNTREREREREisamiIiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHcSnoCthBFEaIo2lVja11R1DPbObMtx5E7W6nnXKnZluPIna3Uc67UbMtx5M5W6jlXarblOHJnK/WcKzW7qJXqpkin00Gn08FkMgEADAYD3Nxsm7IoikhNTQUACIJg8xwcqWe282VnZmYCAPR6Pdcas4s1m2uN2XJlc60xW65srjVmy5VtMBhsrilIqW6KtFottFot9Ho9NBoN/Pz8oNFobBrD3ElqNBq7H3B765ntfNlGoxEAoFaroVKpZM1W6jlXajbXGrPlyuZaY7Zc2VxrzJYr29yAF6VS3RQ9ThAEu06cuc6eWkfrme1c2eYapR03s7nWmP3kZnOtMVvOWssx5Mx2tJ7ZzpVt73zzwxstEBERERGRorEpIiIiIiIiRWNTREREREREisamiIiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHsaop0Oh3Cw8Ph6emJZs2a4ejRo/nuv2TJEtSoUQNeXl4IDQ3FuHHj8OjRI7smTEREREREVJRsboo2bNiA8ePHY/r06Thx4gTq16+P6Oho3Lp1K9f9161bh4kTJ2L69Ok4f/48Vq1ahQ0bNuDdd991ePJERERERESOsrkpWrRoEYYOHYqBAweidu3aWLFiBby9vfHFF1/kuv8ff/yBli1b4uWXX0Z4eDg6deqEvn37FvjsEhERERERkRzcbNk5IyMDx48fx6RJk6RtLi4u6NChAw4dOpRrTYsWLfD111/j6NGjaNq0KS5fvozt27ejX79+eeakp6cjPT1d+lyv1wMAjEYjjEajLVOGKIrIzMyE0WiEIAg21Tpaz2znyzavL1vXWVFkK/WcKzWba43ZcmVzrTFbrmyuNWbLlW3PGiuITU3RnTt3YDKZEBQUZLU9KCgIf//9d641L7/8Mu7cuYNWrVpJJ2DEiBH5Xj43d+5czJw5M8f2ffv2wdvb25YpE9ll9+7dJT0FUgiuNZIL1xrJhWuNitvDhw+LfEybmiJ77N+/H++//z6WL1+OZs2a4eLFixgzZgxmz56NqVOn5lozadIkjB8/Xvpcr9cjNDQU7dq1Q/ny5W3KF0URer0earXa7i7Y3npmO1+20WjE7t270bFjR6hUKlmzlXrOlZrNtcZsubK51pgtVzbXGrPlyr57967NNQWxqSny9/eHq6srbt68abX95s2bCA4OzrVm6tSp6NevH4YMGQIAqFu3Lh48eIBhw4Zh8uTJcHHJ+bImDw8PeHh45NiuUqns+iZzc3ODSqWy+wG3t57ZzpdtxrXG7OLONuNaY3ZxZ5txrTG7uLPNuNaYXdzZtq6vwrDpRgvu7u5o1KgRYmJipG1ZWVmIiYlBVFRUrjUPHz7M0fi4uroCyD4hREREREREJcnmy+fGjx+P1157DY0bN0bTpk2xZMkSPHjwAAMHDgQA9O/fHxUrVsTcuXMBAN27d8eiRYvQsGFD6fK5qVOnonv37lJzREREREREVFJsbopefPFF3L59G9OmTUNSUhIaNGiAnTt3SjdfSEhIsHpmaMqUKRAEAVOmTMH169cREBCA7t27Y86cOUV3FERERERERHay60YLo0aNwqhRo3L92v79+60D3Nwwffp0TJ8+3Z4oIiIiIiKiYmXzm7cSERERERE9SdgUERERERGRorEpIiIiIiIiRWNTREREREREisamiIiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGh2vXlrSRFFEaIo2lVja11R1DPbObMtx5E7W6nnXKnZluPIna3Uc67UbMtx5M5W6jlXarblOHJnK/WcKzW7qJXqpkin00Gn08FkMgEADAYD3Nxsm7IoikhNTQUACIJg8xwcqWe282VnZmYCAPR6Pdcas4s1m2uN2XJlc60xW65srjVmy5VtMBhsrilIqW6KtFottFot9Ho9NBoN/Pz8oNFobBrD3ElqNBq7H3B765ntfNlGoxEAoFaroVKpZM1W6jlXajbXGrPlyuZaY7Zc2VxrzJYr29yAF6VS3RQ9ThAEu06cuc6eWkfrme1c2eYapR03s7nWmP3kZnOtMVvOWssx5Mx2tJ7ZzpVt73zzwxstEBERERGRorEpIiIiIiIiRWNTREREREREisamiIiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHYFBERERERkaKxKSIiIiIiIkVjU0RERERERIrmVtITsIUoihBF0a4aW+uKop7ZzpltOY7c2Uo950rNthxH7mylnnOlZluOI3e2Us+5UrMtx5E7W6nnXKnZRa1UN0U6nQ46nQ4mkwkAYDAY4OZm25RFUURqaioAQBAEm+fgSD2znS87MzMTAKDX67nWmF2s2VxrzJYrm2uN2XJlc60xW65sg8Fgc01BSnVTpNVqodVqodfrodFo4OfnB41GY9MY5k5So9HY/YDbW89s58s2Go0AALVaDZVKJWu2Us+5UrO51pgtVzbXGrPlyuZaY7Zc2eYGvCiV6qbocYIg2HXizHX21Dpaz2znyjbXKO24mc21xuwnN5trjdly1lqOIWe2o/XMdq5se+ebH95ogYiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHYFBERERERkaKxKSIiIiIiIkVjU0RERERERIrGpoiIiIiIiBSNTRERERERESkamyIiIiIiIlI0t5KegC1EUYQoinbV2FpXFPXMds5sy3HkzlbqOVdqtuU4cmcr9ZwrNdtyHLmzlXrOlZptOY7c2Uo950rNLmqluinS6XTQ6XQwmUwAAIPBADc326YsiiJSU1MBAIIg2DwHR+qZ7XzZmZmZAAC9Xs+1xuxizeZaY7Zc2VxrzJYrm2uN2XJlGwwGm2sKUqqbIq1WC61WC71eD41GAz8/P2g0GpvGMHeSGo3G7gfc3npmO1+20WgEAKjVaqhUKlmzlXrOlZrNtcZsubK51pgtVzbXGrPlyjY34EWpVDdFjxMEwa4TZ66zp9bRemY7V7a5RmnHzWyuNWY/udlca8yWs9ZyDDmzHa1ntnNl2zvf/PBGC0REREREpGhsioiIiIiISNHYFBERERERkaKxKSIiIiIiIkVjU0RERERERIrGpoiIiIiIiBSNTRERERERESkamyIiIiIiIlI0NkVERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFcyvpCdhCFEWIomhXja11RVHPbOfMthxH7mylnnOlZluOI3e2Us+5UrMtx5E7W6nnXKnZluPIna3Uc67U7KJWqpsinU4HnU4Hk8kEADAYDHBzs23KoigiNTUVACAIgs1zcKSe2c6XnZmZCQDQ6/Vca8wu1myuNWbLlc21xmy5srnWmC1XtsFgsLmmIKW6KdJqtdBqtdDr9dBoNPDz84NGo7FpDHMnqdFo7H7A7a1ntvNlG41GAIBarYZKpZI1W6nnXKnZXGvMliuba43ZcmVzrTFbrmxzA16USnVT9DhBEOw6ceY6e2odrWe2c2Wba5R23MzmWmP2k5vNtcZsOWstx5Az29F6ZjtXtr3zzQ9vtEBERERERIrGpoiIiIiIiBSNTRERERERESkamyIiIiIiIlI0NkVERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFY1NERERERESKxqaIiIiIiIgUjU0REREREREpmltJT8AWoihCFEW7amytK4p6ZjtntuU4cmcr9ZwrNdtyHLmzlXrOlZptOY7c2Uo950rNthxH7mylnnOlZhe1Ut0U6XQ66HQ6mEwmAIDBYICbm21TFkURqampAABBEGyegyP1zHa+7MzMTACAXq/nWmN2sWZzrTFbrmyuNWbLlc21xmy5sg0Gg801BSnVTZFWq4VWq4Ver4dGo4Gfnx80Go1NY5g7SY1GY/cDbm89s50v22g0AgDUajVUKpWs2Uo950rN5lpjtlzZXGvMliuba43ZcmWbG/CiVKqboscJgmDXiTPX2VPraD2znSvbXKO042Y21xqzn9xsrjVmy1lrOYac2Y7WM9u5su2db354owUiIiIiIlI0NkVERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFY1NERERERESKxqaIiIiIiIgUjU0REREREREpGpsiIiIiIiJSNDZFRERERESkaGyKiMgx1/4ELvyS/d+SqCciIiJykFtJT4CInNju6cDBpYBXGJAWD7QcA3ScKV89ERERURFwqqZIFEWIomhXja11RVHPbOfMthxH7mynOufX/gQOLoUIQfrAwaVAzW5ApcbFX2/vvIuonmuN2c6UbTmO3NlKPedKzbYcR+5spZ5zpWYXtVLdFOl0Ouh0OphMJgCAwWCAm5ttUxZFEampqQAAQRBsnoMj9cx2vuzMzEwAgF6v51orSOJlwCsMIgSkegRn10LM3u5XDQCQnJyMZs2aISYmBpUrV7a5vljmXUT1pXGtffHFF9i1axe+/fZbu+odyZajntmlZ63JUc9s58vmWmO2XNkGg8HmmoKU6qZIq9VCq9VCr9dDo9HAz88PGo3GpjHMnaRGo7H7Abe3ntnOl200GgEAarUaKpVK1mynO+chkUBafPYzPAA0afHZTU1IJPD/36czZ85Ez549UbduXaksISEBI0eOxL69MfB1yUD/+u54p5sITUZCjnqznj17IjY2Frdu3ULZsmXRoUMHzJs3DyEhIdK8T58+jVGjRuHYsWMICAjAqFGj8Pbbb0tjrFmzBoMGDbIa18PDA4mJiTYdd3JyMkaPHo2tW7dCEAT07t0bS5cuha+vb751hw4dwpQpU3DkyBG4urqifv36eOONN6zW2rZt2zB79mycOnUKnp6eaNOmDX744QdpDBeXnC8DXbduHV566SUA2T8zFy5ciFOnTuGZZ57Jcy5O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7tyByWTK8e71QUFB+Pvvv3Ot+f3337Fq1SrExsYWOmfu3LmYOXNmju379u2Dt7e3LVMmssvu3btLegryqf9Zzm2xidkfxVlLABS21qhEca2RXLjWqLg9fPiwyMcs1rvPGQwG9OvXDytXroS/v3+h6yZNmoTx48dLn+v1eoSGhqJdu3Y53kixIKIoQq/XQ61W290F21vPbOfLNhqN2L17Nzp27AiVSiVrdokc942TwNruECFA71UZ6rQECBCB17YW7pkie2uLYu4O1pZ0tuLWGrO51hR0zpWazbXGbLmy7969a3NNQWxqivz9/eHq6oqbN29abb9586b07vSWLl26hKtXr6J79+7StqysrOxgNzfExcXl+s7tHh4e8PDwyLFdpVLZ9U3m5uYGlUpl9wNubz2znS/bTDFrLawpEDUC4sGlcMtKhyrrEYSWY7O3F2dtUczdwdqSzjZTzFpjNteags65UrPNuNaYXdzZtq6vwrCpKXJ3d0ejRo0QExMj3VY7KysLMTExGDVqVI79a9asidOnT1ttmzJlCgwGA5YuXeo0t/oleqJ1nAnU7GbfHeQcqSUiIiIqJWy+fG78+PF47bXX0LhxYzRt2hRLlizBgwcPMHDgQABA//79UbFiRcydOxeenp546qmnrOrLlCkDADm2E1EJqtQY8KsG2PPGoY7UEhEREZUCNjdFL774Im7fvo1p06YhKSkJDRo0wM6dO6WbLyQkJMDFxa73hCUiIiIiIpKdXTdaGDVqVK6XywHA/v37861ds2aNPZFERERERETFgk/pEBERERGRorEpIiIiIiIiRWNTREREREREisamiIiI6Aly9+5dBAYG4urVqyU9FUVYsWKF1fsxEpFzYlNERET0BJkzZw569uyJ8PBwadvt27fRs2dPeHt7IzAwEBMmTEBmZma+44SHh8PFxQVly5aFi4sLBEHAvHnzrPbZuHEjGjRoAG9vb4SFhWHBggVWX09MTMSQIUNQo0YNuLi4YOzYsXYdkyiKmDZtGkJCQuDl5YUOHTrgn3/+ybfmk08+QcuWLaHRaKBWqxEVFYUdO3ZIX7969SoEQcj147vvvssx3t27d1GpUiUIgoD79+9L2wcNGoQTJ07gwIEDdh0bEZUObIqIiIieEA8fPsSqVaswePBgaZvJZMLs2bORkZGBP/74A2vXrsWaNWswbdq0Aseb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tSbW1q9hM7vRerKzlZ12v0PJ1FAEAIBT5t994HuI3tx+4JOfwwxEK/7vS3rw59slSf1vf0S7XvyN3n33XU2YMEGaf7fmz/ikTnrmf+na507U//7cp9X31FO64447FASB2tvbJUnPP/+8rrnmGm3YsEFTp07Vpk2b9Ktf/UqXXnqpJOnFF19Ud3e3/uqv/urAupJ2796tJ554Qpdeeqk++OADff/739fjjz+un//854P298ILL+j4449XqVTS22+/rW3btqmtrU2zZs06piPwPE+33HKLvv71r+u0007Tqaeeqq997WuaMmWKFi5cOHDdn/7pn+rTn/60br75ZknSkiVLdPHFF2vWrFkqlUpatWqVent79dRTTw1a/9VXX9UzzzyjtWvXHpJdP/jU7lmSzjjjDH34wx8eeP0Xv/iFpk+frhkzZhzTPQFoPQxFAAC0spNmH/geosN8mdjWne8ODESS1PY/pik3abruffARfWPJrZKksZ2zdccdd+hHP/qRurq69KEPfUiLFy/WPffcM1C3d+9evfLKKwNf/tTe3q7Vq1frrrvu0r59+3Tqqafq1ltvVXd396D8Rx99VF/84hdljFFXV5d6e3s1Z86cQdf88R//8cDfb968WatWrdIpp5yiHTt2SJJ6e3t12WWX6fXXXx/0A2frffnLX9aePXt0ww036L333tMnPvEJrVu3btDT71577bWBoUWS3nrrLd14443atWuXfN/X2Wefraeeekrz588ftPbDDz+sk046SZdffvlhs4/FD3/4Q11//fWp6wGMPIYiAAAy6vXdew55zb9okX6w8gEtve1vBx4hPWnSJP3kJz854vd5XHrppYOe5nT++efrueeekzFG77///mG/7n/ixInH9Ejsd999d8jvG3j99df10Y9+VFOnTj3iGp7n6Z577hk0yB2sNmTVPPTQQ0fce71ly5Zp2bJlQ9/Efzn4nCTpN7/5jbZt26bHHnvsmNYA0JoYigAAyKhTJ37okNfGz/i4PjOrTW+88YY6OztHYFfJrF27VsuWLUv8jfmt4s0339QPfvCD1D+cFkBrYCgCACCjzjt5gr5wyfRBX0J34yXTddufXTGCu0rm8ccfH+ktNKT+h8oCyC6GIgAAMuz2PztDC86crNd379GpEz+k806eMNJbAoDMYSgCACDjzjt5AsMQADRgzEhvAAAA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dgEAAACMUu+8845832/KWomGIluWLFky6NOl9957T6eccop27tyZ6sY//vGP69e//nXq/TRST3a2sqMoUmdnp37/+9+rWCxazW60nuxsZdNrZNuqpdfItlVLr5Ftq/b999/XySefrBNOOCFV/eEkGoomTpyosWPHateuXYNe37VrlyZPnnzYmsmTJye6XpLa29vV3t5+yOu+76f6l2zs2LGp6ppRT3b2siWpWCzSa2QPe7ZEr5FtJ1ui18i2ky3Ra2TbyZYOfBtPsyRaqa2tTRdccIE2bNgw8Nr+/fu1YcMGdXV1Hbamq6tr0PWStH79+iNePxyCIBixerKzl92ILN832fazG5Hl+ybbfnYjsnzfZNvPbkSW75ts+9nN5pmE36G0Zs0aLV68WP/wD/+gOXPm6P7779djjz2ml19+WR0dHbrmmms0depULV++XNKBR3JfcsklWrFiha644gqtXr1ay5Yt05YtW/Sxj33smDKjKJLv+3r//fcbniiBodBrsIVegy30Gmyh12DLcPRa4u8puuqqq/T222/rzjvvVF9fn84991ytW7du4GEKO3fuHPRR1oUXXqhVq1bpjjvu0Fe+8hWddtppevLJJ495IJIOfDldT0/PYb+kDmgmeg220GuwhV6DLfQabBmOXkv8SREAAAAAjCbN++4kAAAAAMgghiIAAAAATmMoAgAAAOA0hiIAAAAATmuZoSgMQ02bNk3jxo3T3Llz9fzzzw95/eOPP66ZM2dq3LhxOuuss7R27VpLO0XWJem1lStX6uKLL9aECRM0YcIEzZs376i9CdQk/XOtZvXq1fI8TwsXLhzeDWLUSNpr7733noIg0Iknnqj29nadfvrp/HcUxyRpr91///36oz/6Ix133HHq7OzUrbfeqg8++MDSbpFFzzzzjK688kpNmTJFnufpySefPGpNb2+vzj//fLW3t+ujH/2oHnnkkcS5LTEUrVmzRt3d3erp6dGWLVt0zjnnaMGCBXrrrbcOe/2zzz6rRYsW6brrrtPWrVu1cOFCLVy4UC+++KLlnSNrkvZab2+vFi1apI0bN2rTpk3q7OzU5ZdfrjfeeMPyzpE1SXutZseOHfriF7+oiy++2NJOkXVJe62/v1/z58/Xjh079MQTT+iVV17RypUrNXXqVMs7R9Yk7bVVq1bp9ttvV09Pj1566SU99NBDWrNmjb7yla9Y3jmyZM+ePTrnnHMUhuExXf/666/riiuu0GWXXaZt27bplltu0ec//3k99dRTyYJNC5gzZ44JgmDg99Vq1UyZMsUsX778sNd/9rOfNVdcccWg1+bOnWv+5m/+Zlj3iexL2msHq1QqplAomEcffXS4tohRIk2vVSoVc+GFF5rvfe97ZvHixeYv/uIvLOwUWZe01x544AEzffp009/fb2uLGCWS9loQBOZP/uRPBr3W3d1tLrroomHdJ0YPSebHP/7xkNd8+ctfNmeeeeag16666iqzYMGCRFkj/klRf3+/Nm/erHnz5g28NmbMGM2bN0+bNm06bM2mTZsGXS9JCxYsOOL1gJSu1w62d+9elctlnXDCCcO1TYwCaXvtnnvu0aRJk3TdddfZ2CZGgTS99pOf/ERdXV0KgkAdHR362Mc+pmXLlqlardraNjIoTa9deOGF2rx588CX2G3fvl1r167Vn//5n1vZM9zQrLkg18xNpbF7925Vq1V1dHQMer2jo0Mvv/zyYWv6+voOe31fX9+w7RPZl6bXDnbbbbdpypQph/zLB9RL02v/8i//ooceekjbtm2zsEOMFml6bfv27frZz36mz33uc1q7dq1effVV3XTTTSqXy+rp6bGxbWRQml77y7/8S+3evVuf+MQnZIxRpVLRF77wBb58Dk11pLkgiiL94Q9/0HHHHXdM64z4J0VAVqxYsUKrV6/Wj3/8Y40bN26kt4NRJI5jXX311Vq5cqUmTpw40tvBKLd//35NmjRJ3/3ud3XBBRfoqquu0le/+lU9+OCDI701jDK9vb1atmyZvvOd72jLli360Y9+pJ/+9KdaunTpSG8NOMSIf1I0ceJEjR07Vrt27Rr0+q5duzR58uTD1kyePDnR9YCUrtdq7r33Xq1YsUJPP/20zj777OHcJkaBpL322muvaceOHbryyisHXtu/f78kKZfL6ZVXXtGMGTOGd9PIpDR/rp144onK5/MaO3bswGtnnHGG+vr61N/fr7a2tmHdM7IpTa997Wtf09VXX63Pf/7zkqSzzjpLe/bs0Q033KCvfvWrGjOG/28ejTvSXFAsFo/5UyKpBT4pamtr0wUXXKANGzYMvLZ//35t2LBBXV1dh63p6uoadL0krV+//ojXA1K6XpOkb37zm1q6dKnWrVun2bNn29gqMi5pr82cOVMvvPCCtm3bNvDrU5/61MCTdDo7O21uHxmS5s+1iy66SK+++urA4C1Jv/3tb3XiiScyEOGI0vTa3r17Dxl8asP4ge+hBxrXtLkg2TMghsfq1atNe3u7eeSRR8y///u/mxtuuMF8+MMfNn19fcYYY66++mpz++23D1z/y1/+0uRyOXPvvfeal156yfT09Jh8Pm9eeOGFkboFZETSXluxYoVpa2szTzzxhHnzzTcHfsVxPFK3gIxI2msH4+lzOFZJe23nzp2mUCiYm2++2bzyyivmn/7pn8ykSZPM17/+9ZG6BWRE0l7r6ekxhULB/PCHPzTbt283//zP/2xmzJhhPvvZz47ULSAD4jg2W7duNVu3bjWSzH333We2bt1qfve73xljjLn99tvN1VdfPXD99u3bzfjx482XvvQl89JLL5kwDM3YsWPNunXrEuW2xFBkjDF///d/b04++WTT1tZm5syZY5577rmBf3bJJZeYxYsXD7r+scceM6effrppa2szZ555pvnpT39qecfIqiS9dsoppxhJh/zq6emxv3FkTtI/1+oxFCGJpL327LPPmrlz55r29nYzffp0841vfMNUKhXLu0YWJem1crls7rrrLjNjxgwzbtw409nZaW666Sbz7rvv2t84MmPjxo2H/d9etd5avHixueSSSw6pOffcc01bW5uZPn26+f73v5841zOGzy8BAAAAuGvEv6cIAAAAAEYSQxEAAAAApzEUAQAAAHAaQxEAAAAApzEUAQAAAHAaQxEAAAAApzEUAQAAAHAaQxEAAAAApzEUAQAAAHAaQxEAAAAApzEUAQAAAHAaQxEAAAAAp/1/ome3ic1RF5oAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "fig, ax = plt.subplots(figsize=(10, 10))\n", "ax.set_xlim([0, 1])\n", "ax.set_ylim([0, 1])\n", "ax.scatter(coords[:, 0], coords[:, 1], s=10, label=\"Sparse positions\")\n", "ax.scatter(interp_points[:, 0], interp_points[:, 1], s=10, label=\"Interpolation support\")\n", "ax.grid(which = \"major\")\n", "ax.grid(which = \"minor\", alpha = 0.2)\n", "ax.xaxis.set_minor_locator(FixedLocator(np.linspace(0, 1, 51)))\n", "ax.yaxis.set_minor_locator(FixedLocator(np.linspace(0, 1, 51)))\n", "ax.set_title(\"Off the grid sparse positions\")\n", "for i in range(npoint):\n", " ax.annotate(\"(%.3f, %.3f)\" % (coords[i, 0], coords[i, 1]), coords[i, :])\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We first look at the interpolation section and how it is internally lowered into a linear interpolation method." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Eq(posx, (int)(floor((-o_x + s_coords(p_s, 0))/h_x)))\n", "Eq(posy, (int)(floor((-o_y + s_coords(p_s, 1))/h_y)))\n", "Eq(px, -floor((-o_x + s_coords(p_s, 0))/h_x) + (-o_x + s_coords(p_s, 0))/h_x)\n", "Eq(py, -floor((-o_y + s_coords(p_s, 1))/h_y) + (-o_y + s_coords(p_s, 1))/h_y)\n", "Eq(sum, 0.0)\n", "Inc(sum, (rsx*px + (1 - rsx)*(1 - px))*(rsy*py + (1 - rsy)*(1 - py))*f(t, rsx + posx, rsy + posy))\n", "Eq(s(time, p_s), sum)\n" ] } ], "source": [ "print(\"\\n\".join([str(s) for s in s.interpolate(f).evaluate]))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "f.data.fill(0)\n", "op = Operator([Eq(f.forward, f+1)] + s.interpolate(f))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Operator `Kernel` ran in 0.01 s\n" ] }, { "data": { "text/plain": [ "Data([[0., 0., 0., 0., 0.],\n", " [1., 1., 1., 1., 1.],\n", " [2., 2., 2., 2., 2.],\n", " [3., 3., 3., 3., 3.],\n", " [4., 4., 4., 4., 4.],\n", " [5., 5., 5., 5., 5.],\n", " [6., 6., 6., 6., 6.],\n", " [7., 7., 7., 7., 7.],\n", " [8., 8., 8., 8., 8.],\n", " [9., 9., 9., 9., 9.],\n", " [0., 0., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "op()\n", "s.data" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Operator `Kernel` ran in 0.01 s\n" ] }, { "data": { "text/plain": [ "PerformanceSummary([(PerfKey(name='section0', rank=None),\n", " PerfEntry(time=4.6e-05, gflopss=0.0, gpointss=0.0, oi=0.0, ops=0, itershapes=[]))])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "op = Operator(s.inject(u, expr=s))\n", "op()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1oAAAMGCAYAAADr7vUSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+xUlEQVR4nO3df5xXdZ0v8PfMd2AGF0ENGdBGKdI108BwIUT80ZJsGS21eyVrldj8VeqqYyWYOqgplkl4k2KlzLbVlWzV24YX11Ae6sY+vIJ0a69ahgQPHw2KJaOQwHzn3D+UaScGv98zHuacYZ7Px+P72L5nzvme93z3LM1r3+/zOTVJkiQBAABAZmrzLgAAAGBvI2gBAABkTNACAADImKAFAACQMUELAAAgY4IWAABAxgQtAACAjAlaAAAAGRO0AAAAMiZoAexB69ati5qamrj99tvzLqWQPv3pT8eoUaN6fOzgwYOzLQgAMiJoAfTQ7bffHjU1NfHEE0/kXQpvYuvWrTF37txYsWJF3qUA0I/U5V0AwN7s0EMPjT/84Q8xYMCAvEsppMWLF0dHR8cePcfWrVvj6quvjoiIk046aY+eCwB20tEC2INqamqioaEhSqVS3qXs1tatW3M794ABA6K+vj638wPAniJoAexB3d2jtfPeoueffz6mT58egwcPjgMPPDA+//nPR7lc7nJ8R0dHLFiwIN7znvdEQ0NDNDY2xrnnnhu///3vu+z3v/7X/4pTTz01DjrooKivr4/Ro0fHtddeu8vnnXTSSXHUUUfFqlWr4oQTToh99tknLr/88m5r/9GPfhQ1NTXxf//v/+3c9q//+q9RU1MTH//4x7vs++53vztmzJjRZds///M/x7hx42LQoEFxwAEHxCc+8YnYsGFDl326u0frpZdeijPOOCOGDBkS++23X8ycOTN+9rOf7fZetzf7HtetWxcHHnhgRERcffXVUVNTEzU1NTF37tyIiGhtbY1Zs2bF29/+9qivr4+RI0fGX//1X8e6deu6/U4AoFqCFkAOyuVyTJ06Nd72trfF1772tTjxxBPjpptuiltvvbXLfueee2584QtfiEmTJsXNN98cs2bNijvuuCOmTp0aO3bs6Nzv9ttvj8GDB0dzc3PcfPPNMW7cuLjqqqti9uzZu5z7pZdeig996EMxduzYWLBgQZx88snd1nj88cdHTU1NPPLII53bHn300aitrY3HHnusc9uLL74YTz/9dJxwwgmd26677ro488wz47DDDov58+fHxRdfHMuXL48TTjghXn755d1+Lx0dHTFt2rT4l3/5l5g5c2Zcd9118dvf/jZmzpzZo+/xwAMPjG9961sREfGxj30svv/978f3v//9zqD4N3/zN3HvvffGrFmz4pvf/Gb8wz/8Q7zyyiuxfv363dYIAFVJAOiR7373u0lEJP/n//yf3e7z3HPPJRGRfPe73+3cNnPmzCQikmuuuabLvsccc0wybty4zvePPvpoEhHJHXfc0WW/ZcuW7bJ969atu5z73HPPTfbZZ5/ktdde69x24oknJhGRLFq0qKrf8T3veU9y2mmndb5/3/vel/yP//E/kohInnrqqSRJkuSee+5JIiL52c9+liRJkqxbty4plUrJdddd1+Wzfv7znyd1dXVdts+cOTM59NBDO9//67/+axIRyYIFCzq3lcvl5AMf+ECPv8cXX3wxiYikpaWly36///3vk4hIbrzxxqq+CwBIQ0cLICfnnXdel/eTJ0+OtWvXdr6/++67Y+jQofHBD34wNm3a1PkaN25cDB48OB5++OHOfQcNGtT5n1955ZXYtGlTTJ48ObZu3RpPP/10l/PU19fHrFmzqqpx8uTJ8eijj3Z+7s9+9rM455xzYtiwYZ3bH3300dhvv/3iqKOOioiIe+65Jzo6OuK0007rUveIESPisMMO61L3n1q2bFkMGDAgzj777M5ttbW1cf755+/2mErf4+4MGjQoBg4cGCtWrNhlFBMA3iqrDgLkoKGhofPeoZ3233//Ln/w/+pXv4rNmzfH8OHDu/2MF154ofM//9d//VdcccUV8dBDD0VbW1uX/TZv3tzl/cEHHxwDBw6sqs7JkyfHokWL4tlnn41f//rXUVNTExMnTuwMYGeffXY8+uijMWnSpKitre2sO0mSOOyww7r9zDdbgfE3v/lNjBw5MvbZZ58u29/1rnd1u3813+Pu1NfXx1e+8pW49NJLo7GxMd7//vfHRz7ykTjzzDNjxIgRFY8HgDcjaAHkoJpVCDs6OmL48OFxxx13dPvznQHj5ZdfjhNPPDGGDBkS11xzTYwePToaGhpi9erVcdlll+2yfPp/735Vcvzxx0dExCOPPBJr166N973vffFnf/ZnMXny5Pif//N/xquvvhpPPvlkXHfddV3qrqmpif/9v/93t79nlg8ZfqurOV588cUxbdq0uO++++KBBx6IK6+8MubNmxcPPfRQHHPMMRlVCUB/JGgBFNTo0aPjJz/5SUyaNOlNw9GKFSvipZdeinvuuafLghTPPffcW67hkEMOiUMOOSQeffTRWLt2bUyePDkiIk444YRobm6Ou+++O8rlcpfzjh49OpIkiXe84x1x+OGHpzrfoYceGg8//HBs3bq1S1fr2Wef7fHvUFNT86Y/Hz16dFx66aVx6aWXxq9+9asYO3Zs3HTTTfHP//zPPT4nALhHC6CgTjvttCiXy3Httdfu8rP29vbO1ft2dnWSJOn8+fbt2+Ob3/xmJnVMnjw5HnrooXj88cc7g9bYsWNj3333jRtuuCEGDRoU48aN69z/4x//eJRKpbj66qu71LSzxpdeemm359q5muLixYs7t3V0dMTChQt7XP/OwPanqx1u3bo1XnvttS7bRo8eHfvuu29s27atx+cDgAgdLYC37Lbbbotly5btsv2iiy56S5974oknxrnnnhvz5s2LNWvWxCmnnBIDBgyIX/3qV3H33XfHzTffHH/7t38bxx13XOy///4xc+bM+Id/+IeoqamJ73//+7uEnJ6aPHly3HHHHVFTU9M5SlgqleK4446LBx54IE466aQu93yNHj06vvzlL8ecOXNi3bp1MX369Nh3333jueeei3vvvTfOOeec+PznP9/tuaZPnx7jx4+PSy+9NJ599tk44ogj4kc/+lH87ne/i4jK3anuDBo0KI488shYsmRJHH744XHAAQfEUUcdFe3t7fGXf/mXcdppp8WRRx4ZdXV1ce+998bGjRvjE5/4RA++KQD4I0EL4C3a+ZymP/XpT3/6LX/2okWLYty4cfGP//iPcfnll0ddXV2MGjUq/u7v/i4mTZoUERFve9vb4sc//nFceumlccUVV8T+++8ff/d3fxd/+Zd/GVOnTn3LNezsYh1xxBHxtre9rcv2Bx54oPPn/93s2bPj8MMPj69//etx9dVXR0REU1NTnHLKKfHRj350t+cqlUqxdOnSuOiii+J73/te1NbWxsc+9rFoaWmJSZMmRUNDQ49+h29/+9tx4YUXxiWXXBLbt2+PlpaWuPDCC+P000+P5cuXx/e///2oq6uLI444In7wgx/E3/zN3/ToPACwU02S1f/L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mzYtDjrooKipqanq4bgrVqyI973vfVFfXx/vete74vbbb9/jdVK9QgStJUuWRHNzc7S0tMTq1atjzJgxMXXq1HjhhRe63f+nP/1pnH766fGZz3wmnnzyyZg+fXpMnz49fvGLX/Ry5eQl7TWzYsWKOP300+Phhx+OlStXRlNTU5xyyinx/PPP93Ll5CntdbPTunXr4vOf/3xMnjy5lyqlSNJeN9u3b48PfvCDsW7duvjhD38YzzzzTCxevDgOPvjgXq6cvKS9Zu68886YPXt2tLS0xFNPPRXf+c53YsmSJXH55Zf3cuXkacuWLTFmzJhYuHBhVfs/99xzceqpp8bJJ58ca9asiYsvvjjOOuuseOCBB/ZwpVQtKYDx48cn559/fuf7crmcHHTQQcm8efO63f+0005LTj311C7bJkyYkJx77rl7tE6KI+0186fa29uTfffdN/ne9763p0qkgHpy3bS3tyfHHXdc8u1vfzuZOXNm8td//de9UClFkva6+da3vpW8853vTLZv395bJVIwaa+Z888/P/nABz7QZVtzc3MyadKkPVonxRURyb333vum+3zxi19M3vOe93TZNmPGjGTq1Kl7sDLSyL2jtX379li1alVMmTKlc1ttbW1MmTIlVq5c2e0xK1eu7LJ/RMTUqVN3uz97l55cM39q69atsWPHjjjggAP2VJkUTE+vm2uuuSaGDx8en/nMZ3qjTAqmJ9fNj370o5g4cWKcf/750djYGEcddVRcf/31US6Xe6tsctSTa+a4446LVatWdY4Xrl27Nu6///748Ic/3Cs10zf5e7j4cl/efdOmTVEulzuXV9ypsbExnn766W6PaW1t7Xb/1tbWPVYnxdGTa+ZPXXbZZXHQQQft8g8Ue6+eXDePPfZYfOc734k1a9b0QoUUUU+um7Vr18ZDDz0Un/rUp+L++++PZ599Nj73uc/Fjh07oqWlpTfKJkc9uWY++clPxqZNm+L444+PJEmivb09zjvvPKODvKnd/T3c1tYWf/jDH2LQoEE5VcZOuXe0oLfdcMMNcdddd8W9994bDQ0NeZdDQb3yyitxxhlnxOLFi2PYsGF5l0Mf0tHREcOHD49bb701xo0bFzNmzIgvfelLsWjRorxLo6BWrFgR119/fXzzm9+M1atXxz333BNLly6Na6+9Nu/SgLcg947WsGHDolQqxcaNG7ts37hxY4wYMaLbY0aMGJFqf/YuPblmdvra174WN9xwQ/zkJz+J9773vXuyTAom7XXz61//OtatWxfTpk3r3NbR0REREXV1dfHMM8/E6NGj92zR5K4n/96MHDkyBgwYEKVSqXPbu9/97mhtbY3t27fHwIED92jN5Ksn18yVV14ZZ5xxRpx11lkREXH00UfHli1b4pxzzokvfelLXR6kCjvt7u/hIUOG6GYVRO7/lztw4MAYN25cLF++vHNbR0dHLF++PCZOnNjtMRMnTuyyf0TEgw8+uNv92bv05JqJiPjqV78a1157bSxbtiyOPfbY3iiVAkl73RxxxBHx85//PNasWdP5+uhHP9q5ulNTU1Nvlk9OevLvzaRJk+LZZ5/tDOYREb/85S9j5MiRQlY/0JNrZuvWrbuEqZ1BPUmSPVcsfZq/h/uAvFfjSJIkueuuu5L6+vrk9ttvT/7f//t/yTnnnJPst99+SWtra5IkSXLGGWcks2fP7tz/P/7jP5K6urrka1/7WvLUU08lLS0tyYABA5Kf//znef0K9LK018wNN9yQDBw4MPnhD3+Y/Pa3v+18vfLKK3n9CuQg7XXzp6w62D+lvW7Wr1+f7LvvvskFF1yQPPPMM8mPf/zjZPjw4cmXv/zlvH4Felnaa6alpSXZd999k3/5l39J1q5dm/z7v/97Mnr06OS0007L61cgB6+88kry5JNPJk8++WQSEcn8+fOTJ598MvnNb36TJEmSzJ49OznjjDM691+7dm2yzz77JF/4wheSp556Klm4cGFSKpWSZcuW5fUr8CcKEbSSJEm+8Y1vJIccckgycODAZPz48cl//ud/dv7sxBNPTGbOnNll/x/84AfJ4YcfngwcODB5z3vekyxdurSXKyZvaa6ZQw89NImIXV4tLS29Xzi5SvtvzX8naPVfaa+bn/70p8mECROS+vr65J3vfGdy3XXXJe3t7b1cNXlKc83s2LEjmTt3bjJ69OikoaEhaWpqSj73uc8lv//973u/cHLz8MMPd/u3ys5rZebMmcmJJ564yzFjx45NBg4cmLzzne9Mvvvd7/Z63exeTZLoSQMAAGQp93u0AAAA9jaCFgAAQMYELQAAgIwJWgAAABkTtAAAADImaAEAAGRM0AIAAMiYoAUAAJAxQQsAACBjghYAAEDGBC0AAICMCVoAAAAZ+/9W63ihNTYyzwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "plt.figure(figsize=(10, 10))\n", "plt.imshow(u.data[1], vmin=0, vmax=1, cmap=\"jet\", extent=[0,1,0,1])\n", "plt.colorbar(fraction=0.046, pad=0.04)\n", "plt.title(\"Linear weights\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Kaiser sinc interpolation\n", "\n", "Graham J. Hicks pioneered an approach to address one of the significant challenges in seismic simulation: the accurate and flexible positioning of sources and receivers in finite-difference computational grids. By integrating Kaiser windowed sinc functions into the interpolation process, Hicks' method facilitates arbitrary placement of these elements, overcoming the limitations imposed by the inherent discreteness of computational grids. This technique is especially beneficial in seismic wave propagation models, where precise source and receiver locations are crucial for accurate subsurface imaging.\n", "\n", "## Mathematical Basis of the Interpolation\n", "\n", "The interpolation of a field value, $f$, at an arbitrary point using the Kaiser windowed sinc function can be mathematically expressed as follows:\n", "\n", "$$\n", "f(x) = \\sum_{n=-r}^{r} f_n \\cdot \\text{sinc}\\left( \\frac{x - x_n}{\\Delta x} \\right) \\cdot w\\left( \\frac{x - x_n}{\\alpha} \\right)\n", "$$\n", "\n", "where:\n", "- $f_n$ represents the field values at grid points.\n", "- $x$ denotes the arbitrary (non-grid-aligned) position where the field value is interpolated.\n", "- $x_n$ refers to the position of the $n$-th grid point.\n", "- $\\Delta x$ is the grid spacing.\n", "- $w(\\cdot)$ is the Kaiser window function applied to modulate the sinc function, defined as:\n", " $$\n", " w(x) = \\frac{I_0\\left( \\beta \\sqrt{1 - \\left( \\frac{x}{\\alpha} \\right)^2} \\right)}{I_0(\\beta)}\n", " $$\n", "- $I_0$ is the modified Bessel function of the first kind and zero order.\n", "- $\\beta$ is the Kaiser window's shape parameter, controlling sidelobe attenuation.\n", "- $\\alpha$ is a scaling factor that adjusts the effective width of the window, enhancing the function's ability to interpolate over a wider area without significant loss of accuracy.\n", "\n", "## Practical Implications for Seismic Modeling\n", "\n", "This interpolation formula is pivotal for improving the fidelity of finite-difference simulations in seismic applications. By allowing for the precise positioning of sources and receivers, it enables more accurate modeling of wave propagation through complex geological structures. The flexibility offered by this method significantly enhances the quality of seismic images, providing clearer insights into the Earth's subsurface.\n", "\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "s = SparseTimeFunction(name=\"s\", grid=grid, npoint=npoint, nt=nt, coordinates=coords, interpolation='sinc')\n", "\n", "interp_points = np.concatenate([base+(s1*d1, s2*d2) for (s1, s2) in s._point_support])" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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c+bMAQAEBATku77btm1Dp06dEBERgalTpyItLQ3z589HVFQU4uLipIYq57EKDw/HjBkzEBcXh6+//hrly5eX1q8o+5mIyKlEIqLH1N27d0UAYvfu3Qucr1u3biIAUa/Xi6Ioijt27BABiD/++KPFfMuWLRMBiAcOHCg0e+bMmSIA8fz587l+BkD09vYWz549K007evSoCECcP3++NG3QoEFicHCwePPmTYv6V199VdRoNOL9+/fzzT906JAIQBw9erTF9P79+4sAxClTpkjTpkyZIgIQe/XqlWs55p+ZHTlyRAQgDh8+3GK+3r1751puXrp37y7WqVOnwHnMmd26dbOYPnz4cBGAePToUWlaXvugQ4cOYkREhMW00NBQEYC4adMmi+lz5swRAYg3btzId32+/fZb0cPDQ9y9e7fF9EWLFokAxNjY2AK3p1WrViIAcdasWdK09PR0sUGDBmL58uXFjIwMURRFce7cuSIA8bvvvpPmy8jIECMjI8WAgABpfI4aNUpUq9ViZmZmvpnmMbxjxw5pWufOncXQ0NBc854/f14EIC5btkyaZl63W7duSdOOHj0qenh4iH379pWmmY/VwIEDLZb5wgsviGXKlJG+L8p+JiJyJl4+R0SPLYPBAAAIDAwscD7zz/V6fbGvk1m7du0sXmmqV68e1Go1EhISAJje87J27Vp07doVoiji5s2b0qNDhw5ISUlBXFxcvss3X4o3fPhwi+lvvfVWvjXDhg0rdL03btwIABg5cqTF9MJetTIrWbIkLl++jAMHDhQ676Ov9JjX3bwOACzeE5SSkoKbN2+iVatWSEhIQEpKikV9eHg4OnTokGt9AGDdunXIzs7Ocz1+/PFH1KpVCzVr1rQ4Ds8++ywAYMeOHYVui5eXF4YOHSp97+3tjaFDh+L69es4dOiQtF1BQUHo1auXNJ9KpcLIkSORmpqKXbt2Set87949bN26tdBcWyQnJ+PIkSPo378/SpcuLU2vV68e2rdvb7H/zR4dO8888wxu3bolnVNF2c9ERM7EpoiIHlvmZsfcHOWnqM2TI1WpUiXXtFKlSuHOnTsAgBs3buDu3bvSe6FyPgYMGADgvxs/5CUxMREeHh4IDw+3mF61atV8ax6dt6DlPnrpYI0aNQqtBYBx48YhICAATZs2RbVq1aDVavO9hKpatWoW3z/xxBPw8PCw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6dU8W8aatePF2tqCfnfZel4WhDdaICIiInoMHL54x6IhAoBFuxJw+OKdYsvs2bMnrly5gt9++w0dOnTAX3/9hcaNG2P58uUW80VGRub6/vTp09L3q1evRsuWLREcHIyAgABMnDgRFy9etKgJDQ2VGiIAqF+/Ptq2bYu6devi5Zdfxtdff407d0zbeu/ePZw7dw6DBg1CQECA9Pjggw9w7ty5ArepefPmFk+6IyMj8e+//yIrKwunT5+Gl5cXmjVrJv28TJkyqF69urQ9I0eOxAcffICoqChMmTIFx44dK8KezN/p06cREhIiNUQAULt2bZQsWdJiH4aFhVlcChccHIzr168DsNxXL730EhYvXiztKzJhU0RERET0GDh/855V0x3F19cX7du3x8SJE7Flyxb069cPU6ZMKXL9nj178Prrr6NTp05Yv349Dh8+jPfffx8ZGRkW85nfJ2Tm6emJrVu34o8//kCtWrWg0+lQs2ZNnD9/XnpP1+LFi3HkyBHpceLECezdu9f+jS7A4MGDkZCQgD59+uD48eNo3Lgx5s+fX6yZAHJdHisIgvS+nZz7qnbt2pg/f760r8iETRERERHRYyC8bAmrpheX2rVr4949y0bs0UZk79690vuJ/v77b4SGhmLChAlo3LgxqlWrhsTExCJlCYKAqKgoREdH4+DBg/D29sYvv/yCChUqoGLFikhISEDVqlUtHuHh4QUuc9++fbnWtVq1avD09EStWrWQmZlpMc+tW7dw5swZ1K5dW5oWEhKCYcOG4eeff8b//vc/LF68OM8sb29v6RK2/NSqVQuXLl3CpUuXpGmnTp3C3bt3LTILk3NfHT58GN7e3vj111+LXP+4c6v3FBERERFR3hpWKYWhLSMsLqF7s1UEGlYpVSx5t27dwksvvYSBAweiXr16KFGiBHbv3o2ZM2eie/fuFvP++OOPaNy4MZ5++ml8//332L9/P5YsWQIAqFatGi5evIjVq1ejWbNm2LhxI3755ZdC8/ft24eYmBg899xzKFeuHPbs2YMbN25IzVZ0dDRGjhwJjUaDjh07Ij09HQcPHsSdO3cwduzYfJd78eJFjB07FkOHDkVcXBzmz5+PWbNmSevavXt36X1UgYGBGD9+PCpVqiRt8+jRo9GpUydUr14dd+7cwY4dO6R1elRYWBhSU1MRExODBg0awN/fH/7+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SEhICIYNG4a1a9dizJgx+PrrrwGY7n5nMBhw7949ad4jR47kqr948aLFNu3duxceHh6oUaOGNO3o0aNIS0uzmCcgIAAhISF44okn4O3tjb///lv6udFoxIEDBwrdtqLsO2dgU0RERET0OKjcGGKLUZbTosYAlV3r8qWwsDDExMTg6tWruHPnDgBg0qRJ0p3JTp48idOnT+OHH37AxIkTi7TM6dOnY/v27Thx4gT69++PsmXLSp+f9L///Q8xMTGYPn06zpw5gxUrVmDBggV4++2381xW1apVYTQaMX/+fCQkJODbb7/FokWLcm1DamoqYmJicPPmzTwvq2vXrh3q1q2L1157DXFxcdi/fz/69u2LVq1a2XVJ2ejRo7F582acP38ecXFx2Llzp9QANmvWDP7+/njvvfdw7tw5rFy5Ms8bSvj6+qJ///44evQodu/ejZEjR+Lll1+2eJ9XRkYGBg0ahFOnTmHjxo2YMmUKRowYAQ8PD5QoUQLDhg3D+PHjsWnTJpw6dQpDhgzB/fv3MWjQoALXPywsDOfPn8eRI0dw8+ZNpKen27wvHIlNEREREdHjon00MgdshthjETA4Bmg/1dlrlMusWbOwdetWhISESB/i2aFDB6xbtw5bt25FkyZN0Lx5c8yZMwehoaFFWuaMGTMwduxYNG7cGFevXsX69evh7e0NwPQq1Jo1a/DDDz/gySefxOTJkzFt2rR8b7JQv359zJ49G5988gmefPJJfP/995gxY4bFPC1atMCwYcPwyiuvoHz58vjss89yLUcQBKxbtw6lSpVCy5Yt0a5dO0RERGD16tVW7K3csrKyoNVqUatWLXTq1AnVqlWTLu8rXbo0vvvuO2zcuBF169bFqlWrLG6Jbla1alW88MIL6NatGzp06IB69eph4cKFFvO0bdsW1apVQ8uWLfHKK6+gW7duFsv6+OOP8cILL6Bv37546qmncPbsWWzevBmlSpUqcP179uyJjh07on379ihfvjxWrVpl1/5wFEF89MJDF6TX66HRaHDjxg2UKVPGqlpRFJGSkiLdJcRa9tQz2/2yjUYj/vjjD3Tq1MnqD4Rz5+1mNscasx/fbI4198h+8OABLly4gLCwMKhUKqvvJpZTVlaWzfX21IqiCL1eD7VabdN+syV7586dePbZZ3H79m0EBgY6ZbvtrZc7e+rUqVi3bh0O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FixYgFGjRuGtt97Cv//+i48++ggjR4507JYQubvKjYHAaoBGI28ts52TTURERC7D6qbolVdewY0bNzB58mRcvXoVDRo0wKZNm1ChQgUAwMWLF6VXhAAgJCQEmzdvxpgxY1CvXj1UqlQJo0aNwrhx4xy3FURERERERDay6UYLI0aMyPdyuZ07d+aaFhkZib1799oSRUREREREVKw8Cp+FiIiIiIjo8cWmiIiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHYFBERERERkaKxKSIiIiIiIkWz6cNbnUUURYiiaFONtXWOqGe2e2bnXI7c2Urd50rNzrkcubOVus+Vmp1zOXJnK3WfKzU753LkzlbqPldqtqO5dFOk0+mg0+mQlZUFADAYDPDysm6VRVFEamoqAEAQBKvXwZ56ZrtfdmZmJgBAr9dzrDG7WLM51pgtVzbHGrPlyuZYY7Zc2QaDweqawrh0U6TVaqHVaqHX66HRaBAYGAiNRmPVMsydpEajsfmA21rPbPfLNhqNAAC1Wg2VSiVrtlL3uVKzOdaYLVc2xxqz5crmWGO2XNnmBtyRXLopepQgCDbtOHOdLbX21jPbvbLNNUrbbmZzrDH78c3mWGO2nLU5lyFntr31zHavbFvXtyC80QIRERERESkamyIiIiIiIlI0NkVERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFY1NERERERESKxqaIiIiIiIgUjU0REREREREpGpsiIiIiIiJSNDZFRERERESkaF7OXgFriKIIURRtqrG2zhH1zHbP7JzLkTtbqftcqdk5lyN3tlL3uVKzcy5H7myl7nOlZudcjtzZSt3nSs12NJduinQ6HXQ6HbKysgAABoMBXl7WrbIoikhNTQUACIJg9TrYU89s98vOzMwEAOj1eo41ZhdrNscas+XK5lhjtlzZHGvMlivbYDBYXVMYl26KtFottFot9Ho9NBoNAgMDodForFqGuZPUaDQ2H3Bb65ntftlGoxEAoFaroVKpZM1W6j5XajbHGrPlyuZYY7Zc2RxrzJYr29yAO5JLN0WPEgTBph1nrrOl1t56ZrtXtrlGadvNbI41Zj++2RxrzJazNucy5My2t57Z7pVt6/oWhDdaICIiIiIiRWNTREREREREisamiIiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHYFBERERERkaKxKSIiIiIiIkVjU0RERERERIrGpoiIiIiIiBTNy9krYA1RFCGKok011tY5op7Z7pmdczlyZyt1nys1O+dy5M5W6j5XanbO5cidrdR9rtTsnMuRO1up+1yp2Y7m0k2RTqeDTqdDVlYWAMBgMMDLy7pVFkURqampAABBEKxeB3vqme1+2ZmZmQAAvV7PscbsYs3mWGO2XNkca8yWK5tjjdlyZRsMBqtrCuPSTZFWq4VWq4Ver4dGo0FgYCA0Go1VyzB3khqNxuYDbms9s90v22g0AgDUajVUKpWs2Urd50rN5lhjtlzZHGvMliubY43ZcmWbG3BHcumm6FGCINi048x1ttTaW89s98o21yhtu5nNscbsxzebY43ZctbmXIac2fbWM9u9sm1d34LwRgtERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFY1NERERERESKxqaIiIiIiIgUjU0REREREREpGpsiIiIiIiJSNDZFRERERESkaGyKiIiIiIhI0dgUERERERGRorEpIiIiIiIiRfNy9gpYQxRFiKJoU421dY6oZ7Z7ZudcjtzZSt3nSs3OuRy5s5W6z5WanXM5cmcrdZ8rNTvncuTOVuo+V2q2o7l0U6TT6aDT6ZCVlQUAMBgM8PKybpVFUURqaioAQBAEq9fBnnpmu192ZmYmAECv13OsMbtYsznWmC1XNscas+XK5lhjtlzZBoPB6prCuHRTpNVqodVqodfrodFoEBgYCI1GY9UyzJ2kRqOx+YDbWs9s98s2Go0AALVaDZVKJWu2Uve5UrM51pgtVzbHGrPlyuZYY7Zc2eYG3JFcuil6lCAINu04c50ttfbWM9u9ss01SttuZnOsMfvxzeZYY7actTmXIWe2vfXMdq9sW9e3ILzRAhERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHYFBERERERkaKxKSIiIiIiIkVjU0RERERERIrGpoiIiIiIiBSNTRERERERESkamyIiAi4fBM5sNn2Vs1bJ2VcOW36VM5uUxZljTanntzOzicgmXs5eASJysq1TgNh5gF8okJYIRI0C2kcXf63Ss/csAup/BazoCkQOky+blMWZY83Z55gSs4nIZm71SpEo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05/+VAsXLtQrr7yio446SpMmTdKePXsOWTNo0CDNnj1br732ml577TWdf/75uvjii/Xmm29Kkmpra9XQ0NBumzNnjo4++mh96UtfOmh/V111lU4//fSDHq+oqNDll1+un/70p76PD0DxMRQBhfLha9Lfn8t8DLo+3+zV/1v6812Zj0HWhjk733O+ZU37j0Fm26qY91hA2UuWLFFlZaU+//nPtz227Bc368MPP9TDN0zRqFGj9KUvfUlz585VPB5XS0vLYfdX3bROfdc9qn5bnle/fv101FFHtf3do48+qilTpmj69OkaOnSoLrroIs2aNUs//vGPZYyRJA35x180/8IaXXFqmVyvv4x0//1pVj2qe+65RzfffLMuvvhinX766fr1r3+tLVu26Jlnnjlk+eQz+uuCIUYn9GzS8OHDdfvtt+voo4/Wyy+/LEnq0aOH+vXr1257+umndckll+joHe+0O+f33XefduzYoeuvv77jrMmT9eyzz2r37t2ZB4rZawB88fV7igAcYNlsaeUCqedgafdGafy10sQ5wdTnm33/+dLm1Zn61fdKq38lXf3Hrq8Nc3Yhrnf9QmnkL6VHJkt104O73rYq5j0WYPaLL76o0aNHf/rA/efr5adf0XHHHae+r8yVNj0lXf1HTZo0Sd/61rf05ptv6owzzuh4Z81b9eNf/EZzF5ZpcNTo8vFz9N3F76i8PPNPh71796pXr17tSnr27KkPP/xQGzdu1JBl/9b+HmtwpFGjjuy4c+7P95e/r8bGpCZMmND2167raty4caqvr9fXvva1Ts9b6+e/oyd2nKKdO3eqrq6uw8hVq1Zp7dq1ik87Q3pwYlvtW4Mu1223Pa1XXnlF69ev77B2zJgxSqfTeuWVV/TF1AvF6zUAvoXqO0XGGDa2Lt8899oHf5VZuUBGzqfbygWZx7u6Pt/sVY/KbF7dvn7z6szjXVkb5uwCXm9JwV5vW7di3mMBZ2/cuFH9+/dv1+eNzUbHHHNMuz7v06ePpMzP/HS4r1WP6jujpUVf7aVnrx6mq0dXat7v39MN077c9pwLLrhATz31lJ5//nm1trZq3bp1+slPfiJJ2vLCQwfdY9qblPno7c6P+4D7s6E583m5z9YX2z2vb9++amxsPOx5e7Nxj6rnNanywh9p+r9fraeeekonnXRSh7kPPPCATvrc8arb8VRb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eK0rRD3Z4czO3U/Q2baec1uzc/cTdLat59zW7Nz9BJ1t6zm3NTt3P0Fn23rObc0utJIeiuLxuOLxuFpbWyVJyWRS5eXelmyMUXNzsyTJcRzPa8innuzwZafTaUlSIpGg18ju0mx6jeygsuk1soPKptfIDio7mUx6rulMSQ9FsVhMsVhMiURCruuqurparut62kd2knRd1/cF91tPdviyU6mUJCkajSoSiQSabes5tzWbXiM7qGx6jeygsuk1soPKzg7ghVTSQ9GBHMfxdeKydX5q860nO1zZ2Rrbjptseo3s7ptNr5EdZG3uPoLMzree7HBl+13v4fBGCwAAAACsxlAEAAAAwGoMRQAAAACsxlAEAAAAwGoMRQAAAACsxlAEAAAAwGoMRQAAAACsxlAEAAAAwGoMRQAAAACsxlAEAAAAwGoMRQAAAACsxlAEAAAAwGrlxV6AF8YYGWN81XitK0Q92eHMzt1P0Nm2nnNbs3P3E3S2refc1uzc/QSdbes5tzU7dz9BZ9t6zm3NLrSSHori8bji8bhaW1slSclkUuXl3pZsjFFzc7MkyXEcz2vIp57s8GWn02lJUiKRoNfI7tJseo3soLLpNbKDyqbXyA4qO5lMeq7pTEkPRbFYTLFYTIlEQq7rqrq6Wq7retpHdpJ0Xdf3BfdbT3b4slOplCQpGo0qEokEmm3rObc1m14jO6hseo3soLLpNbKDys4O4IVU0kPRgRzH8XXisnV+avOtJztc2dka246bbHqN7O6bTa+RHWRt7j6CzM63nuxwZftd7+HwRgsAAAAArMZQBAAAAMBqDEUAAAAArMZQBAAAAMBqDEUAAAAArMZQBAAAAMBqDEUAAAAArMZQBAAAAMBqvoaieDyuIUOGqKqqSuPGjdOrr756yOfef//9Ouecc9S7d2/17t1bEyZMOOzzAQAAACBInoeixx57TDNnztTs2bO1evVqjRw5UpMmTdJHH33U4fNXrFihyy67TC+88ILq6+tVW1urCy64QJs3b8578QAAAACQL89D0d13362rr75aV155pU4++WQtXLhQvXr10kMPPdTh8//rv/5L3/72tzVq1CideOKJeuCBB7Rv3z4tX74878UDAAAAQL7KvTy5paVFq1at0qxZs9oeKysr04QJE1RfX39E+9i1a5dSqZSOPfbYQz5n79692rt3b9ufE4mE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QWXTa2QHlZ0dwAuppIeiAzmO4+vEZev81OZbT3a4srM1th032fQa2d03m14jO8ja3H0EmZ1vPdnhyva73sPhjRYAAAAAWI2hCAAAAIDVGIoAAAAAWI2hCAAAAIDVGIoAAAAAWI2hCAAAAIDVGIoAAAAAWI2hCAAAAIDVfA1F8XhcQ4YMUVVVlcaNG6dXX331sM9/4okndOKJJ6qqqkqnnXaalixZ4muxAAAAAFBonoeixx57TDNnztTs2bO1evVqjRw5UpMmTdJHH33U4fNfeuklXXbZZbrqqqu0Zs0aTZkyRVOmTNEbb7yR9+IBAAAAIF+eh6K7775bV199ta688kqdfPLJWrhwoXr16qWHHnqow+cvWLBA//zP/6wbbrhBJ510kubOnaszzzxT9957b96LBwAAAIB8lXt5cktLi1atWqVZs2a1PVZWVqYJEyaovr6+w5r6+nrNnDmz3WOTJk3SM888c8icvXv3au/evW1/bmpqkiT94x//8LJcSZIxRslkUul0Wo7jBFpPdviyU6mUdu3ape3btysSiQSabes5tzWbXiM7qGx6jeygsuk1soPKzs4ExhjPtYfiaSjatm2bWltb1bdv33aP9+3bV++8806HNY2NjR0+v7Gx8ZA5d9xxh+bMmXPQ48OHD/eyXAAAAADd1Pbt2+W6bkH25WkoCsqsWbPafXdpx44dGjx4sDZt2uTrwM866yz99a9/9b2efOrJDld2IpFQbW2tPvjgA0Wj0UCz860nO1zZ9BrZQdXSa2QHVUuvkR1UbVNTk4477jgde+yxvuo74mkoqqmpUY8ePbR169Z2j2/dulX9+vXrsKZfv36eni9JlZWVqqysPOhx13V93WQ9evTwVVeIerLDly1J0WiUXiO7y7Mleo3sYLIleo3sYLIleo3sYLKlzI/xFIqnPVVUVGj06NFavnx522P79u3T8uXLVVdX12FNXV1du+dL0rJlyw75/K4Qi8WKVk92+LLzEebjJjv47HyE+bjJDj47H2E+brKDz85HmI+b7OCzC80xHn9C6bHHHtO0adP0i1/8QmPHjtU999yjxx9/XO+884769u2rK664QgMHDtQdd9whKfOW3Oeee67mz5+viy66SIsXL9a8efO0evVqnXrqqUeUmUgk5Lqumpqa8p4ogcOh1xAUeg1BodcQFHoNQemKXvP8M0WXXnqpPv74Y91yyy1qbGzUqFGjtHTp0rY3U9i0aVO7b2WdffbZWrRokW6++Wb94Ac/0AknnKBnnnnmiAciKfNyutmzZ3f4kjqgkOg1BIVeQ1DoNQSFXkNQuqLXPH+nCAAAAAC6k8L9dBIAAAAAhBBDEQAAAACrMRQBAAAAsBpDEQAAAACrlcxQFI/HNWTIEFVVVWncuHF69dVXD/v8J554QieeeKKqqqp02mmnacmSJQGtFGHnpdfuv/9+nXPOOerdu7d69+6tCRMmdNqbQJbXz2tZixcvluM4mjJlStcuEN2G117bsWOHYrGY+vfvr8rKSg0fPpyvozgiXnvtnnvu0YgRI9SzZ0/V1tbqu9/9rvbs2RPQahFGf/7znzV58mQNGDBAjuPomWee6bRmxYoVOvPMM1VZWanPfe5zevjhhz3nlsRQ9Nhjj2nmzJmaPXu2Vq9erZEjR2rSpEn66KOPOnz+Sy+9pMsuu0xXXXWV1qxZoylTpmjKlCl64403Al45wsZrr61YsUKXXXaZXnjhBdXX16u2tlYXXHCBNm/eHPDKETZeey1rw4YNuv7663XOOecEtFKEnddea2lp0cSJE7VhwwY9+eSTWrdune6//34NHDgw4JUjbLz22qJFi3TjjTdq9uzZevvtt/Xggw/qscce0w9+8IOAV44w2blzp0aOHKl4PH5Ez3///fd10UUX6bzzztPatWt13XXX6Zvf/Kaee+45b8GmBIwdO9bEYrG2P7e2tpoBAwaYO+64o8PnX3LJJeaiiy5q99i4cePMv//7v3fpOhF+XnvtQOl02lRXV5tHHnmkq5aIbsJPr6XTaXP22WebBx54wEybNs1cfPHFAawUYee11+677z4zdOhQ09LSEtQS0U147bVYLGbOP//8do/NnDnTjB8/vkvXie5Dknn66acP+5zvfe975pRTTmn32KWXXmomTZrkKavo3ylqaWnRqlWrNGHChLbHysrKNGHCBNXX13dYU19f3+75kjRp0qRDPh+Q/PXagXbt2qVUKqVjjz22q5aJbsBvr912223q06ePrrrqqiCWiW7AT689++yzqqurUywWU9++fXXqqadq3rx5am1tDWrZCCE/vXb22Wdr1apVbS+xW79+vZYsWaILL7wwkDXDDoWaC8oLuSg/tm3bptbWVvXt27fd43379tU777zTYU1jY2OHz29sbOyydSL8/PTagb7//e9rwIABB918QC4/vfaXv/xFDz74oNauXRvACtFd+Om19evX649//KO+/vWva8mSJXr33Xf17W9/W6lUSrNnzw5i2QghP712+eWXa9u2bfrCF74gY4zS6bSmT5/Oy+dQUIeaCxKJhHbv3q2ePXse0X6K/p0iICzmz5+vxYsX6+mnn1ZVVVWxl4NuJJlMaurUqbr//vtVU1NT7OWgm9u3b5/69OmjX/7ylxo9erQuvfRS3XTTTVq4cGGxl4ZuZsWKFZo3b55+/vOfa/Xq1Xrqqaf0+9//XnPnzi320oCDFP07RTU1NerRo4e2bt3a7vGtW7eqX79+Hdb069fP0/MByV+vZd11112aP3++nn/+eZ1++ulduUx0A1577b333tOGDRs0efLktsf27dsnSSovL9e6des0bNiwrl00QsnP57X+/fsrEomoR48ebY+ddNJJamxsVEtLiyoqKrp0zQgnP732wx/+UFOnTtU3v/lNSdJpp52mnTt36pprrtFNN92ksjL+bx75O9RcEI1Gj/i7RFIJfKeooqJCo0eP1vLly9se27dvn5YvX666uroOa+rq6to9X5KWLVt2yOcDkr9ek6Q777xTc+fO1dKlSzVmzJggloqQ89prJ554ol5//XWtXbu2bfvKV77S9k46tbW1QS4fIeLn89r48eP17rvvtg3ekvT3v/9d/fv3ZyDCIfnptV27dh00+GSH8czP0AP5K9hc4O09ILrG4sWLTWVlpXn44YfNW2+9Za655hpzzDHHmMbGRmOMMVOnTjU33nhj2/NXrlxpysvLzV133WXefvttM3v2bBOJRMzrr79erENASHjttfnz55uKigrz5JNPmoaGhrYtmUwW6xAQEl577UC8+xyOlNde27Rpk6murjYzZsww69atM7/73e9Mnz59zI9+9KNiHQJCwmuvzZ4921RXV5vf/OY3Zv369ea///u/zbBhw8wll1xSrENACCSTSbNmzRqzZs0aI8ncfffdZs2aNWbjxo3GGGNuvPFGM3Xq1Lbnr1+/3vTq1cvccMMN5u233zbxeNz06NHDLF261FNuSQxFxhjzs5/9zBx33HGmoqLCjB071rz88sttf3fuueeaadOmtXv+448/boYPH24qKirMKaecYn7/+98HvGKElZdeGzx4sJF00DZ79uzgF47Q8fp5LRdDEbzw2msvvfSSGTdunKmsrDRDhw41t99+u0mn0wGvGmHkpddSqZS59dZbzbBhw0xVVZWpra013/72t80nn3wS/MIRGi+88EKH//bK9ta0adPMueeee1DNqFGjTEVFhRk6dKj51a9+5TnXMYbvXwIAAACwV9F/pggAAAAAiomhCAAAAIDVGIoAAAAAWI2hCAAAAIDVGIoAAAAAWI2hCAAAAIDVGIoAAAAAWI2hCAAAAIDVGIoAAAAAWI2hCAAAAIDVGIoAAAAAWI2hCAAAAIDV/n9UfEItMOnHswAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "fig, ax = plt.subplots(figsize=(10, 10))\n", "ax.set_xlim([0, 1])\n", "ax.set_ylim([0, 1])\n", "ax.scatter(coords[:, 0], coords[:, 1], s=10, label=\"Sparse positions\")\n", "ax.scatter(interp_points[:, 0], interp_points[:, 1], s=10, label=\"Interpolation support\")\n", "ax.grid(which = \"major\")\n", "ax.grid(which = \"minor\", alpha = 0.2)\n", "ax.xaxis.set_minor_locator(FixedLocator(np.linspace(0, 1, 51)))\n", "ax.yaxis.set_minor_locator(FixedLocator(np.linspace(0, 1, 51)))\n", "ax.set_title(\"Off the grid sparse positions\")\n", "for i in range(npoint):\n", " ax.annotate(\"(%.3f, %.3f)\" % (coords[i, 0], coords[i, 1]), coords[i, :])\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Eq(posx, (int)(floor((-o_x + s_coords(p_s, 0))/h_x)))\n", "Eq(posy, (int)(floor((-o_y + s_coords(p_s, 1))/h_y)))\n", "Eq(sum, 0.0)\n", "Inc(sum, wsincrsx(p_s, rsx + 3)*wsincrsy(p_s, rsy + 3)*f(t, rsx + posx, rsy + posy))\n", "Eq(s(time, p_s), sum)\n" ] } ], "source": [ "print(\"\\n\".join([str(s) for s in s.interpolate(f).evaluate]))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "f.data.fill(0)\n", "op = Operator([Eq(f.forward, f+1)] + s.interpolate(f))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Operator `Kernel` ran in 0.01 s\n" ] }, { "data": { "text/plain": [ "Data([[0. , 0. , 0. , 0. , 0. ],\n", " [0.9967038 , 0.9920868 , 0.99406236, 0.9936394 , 0.99242455],\n", " [1.9934076 , 1.9841737 , 1.9881247 , 1.9872788 , 1.9848491 ],\n", " [2.9901118 , 2.9762604 , 2.9821863 , 2.9809184 , 2.9772737 ],\n", " [3.9868152 , 3.9683473 , 3.9762495 , 3.9745576 , 3.9696982 ],\n", " [4.9835196 , 4.9604344 , 4.9703097 , 4.968197 , 4.962124 ],\n", " [5.9802237 , 5.952521 , 5.9643726 , 5.961837 , 5.9545474 ],\n", " [6.976928 , 6.9446087 , 6.958436 , 6.9554768 , 6.9469705 ],\n", " [7.9736304 , 7.9366946 , 7.952499 , 7.9491153 , 7.9393964 ],\n", " [8.970336 , 8.9287815 , 8.946562 , 8.942754 , 8.931824 ],\n", " [0. , 0. , 0. , 0. , 0. ]],\n", " dtype=float32)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "op()\n", "s.data" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Operator `Kernel` ran in 0.01 s\n" ] }, { "data": { "text/plain": [ "PerformanceSummary([(PerfKey(name='section0', rank=None),\n", " PerfEntry(time=3.9999999999999996e-05, gflopss=0.0, gpointss=0.0, oi=0.0, ops=0, itershapes=[]))])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "op = Operator(s.inject(u, expr=s))\n", "op()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1oAAAMGCAYAAADr7vUSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAUElEQVR4nO3dfZRV9Xkv8GfmAIMvDGoJIGSQRKMm0YCiTFFJaheGRq5ek7q0mqVIfKmvNzo3jZKogzEKakLoUgzRxGLTWIlZmpsWSlQqNYkkNqC52vhyfSFyvRmUGBlEHZgz+/6hTDJh4Jx93MzeA5/PWmd1zWb/zn443cH5ruc5v12XJEkSAAAAZKY+7wIAAAB2NoIWAABAxgQtAACAjAlaAAAAGRO0AAAAMiZoAQAAZEzQAgAAyJigBQAAkDFBCwAAIGOCFkBBjB07Ns4666y8y8jUrFmzoq6u7j2tXbduXcZVAcCOJ2gB7GBPPPFEnHzyybHffvvF4MGDY/To0XHcccfFzTffnHdpO43rr78+fvjDH+ZdBgB0q0uSJMm7CICd1SOPPBLHHntsjBkzJqZPnx4jR46MNWvWxM9//vN4/vnn47nnnus+t6OjI+rr62PgwIE5Vpytzs7O6OzsjMGDB6deO2vWrLjmmmvi1VdfjWHDhm333D333DNOPvnkWLhwYY2VAkC2BuRdAMDO7LrrrouhQ4fGf/7nf8Zee+3V489eeeWVHj83NDT0YWV9Y8CAATFggP/UALDrMToIsAM9//zz8dGPfnSrkBURMXz48B4//+l3tBYuXBh1dXXxs5/9LFpaWuJ973tf7LHHHvHpT386Xn311a3e79/+7d/iE5/4RAwZMiQaGxvjyCOPjLvuumubtf3v//2/o66uLn70ox91H1u5cmXU1dXF4Ycf3uPcT33qU9Hc3LzV9SZPnhx77LFHDBkyJKZNmxb/9V//1eOc3r6j9dZbb8X/+B//I4YNGxZDhgyJE088MV5++eWoq6uLWbNmbVXn66+/HmeddVbstddeMXTo0JgxY0a8+eab3X9eV1cXGzdujDvvvDPq6uqirq6u+3PcsGFDXHrppTF27NhoaGiI4cOHx3HHHRerVq3a5ucCAFkQtAB2oP322y9WrlwZTz75ZM3vcckll8SvfvWraG1tjQsuuCD+5V/+JS6++OIe5yxcuDCmTZsWr732WsycOTPmzJkT48ePj6VLl27zfQ855JDYa6+94uGHH+4+9pOf/CTq6+vjV7/6VbS3t0dERFdXVzzyyCPx8Y9/vPu87373uzFt2rTYc88944Ybboirrroqfv3rX8cxxxwTq1ev3u7f56yzzoqbb745jj/++Ljhhhtit912i2nTpm3z/FNOOSU2bNgQs2fPjlNOOSUWLlwY11xzTY9aGhoaYvLkyfHd7343vvvd78bf/u3fRkTE+eefH9/85jfjr//6r+PWW2+NL3zhC7HbbrvFU089td0aAeA9SwDYYe6///6kVColpVIpmTRpUvLFL34x+fGPf5xs2rRpq3P322+/ZPr06d0//8M//EMSEcmUKVOSrq6u7uOXXXZZUiqVktdffz1JkiR5/fXXkyFDhiTNzc3JW2+91eM9/3hdb6ZNm5ZMnDix++fPfOYzyWc+85mkVCol//Zv/5YkSZKsWrUqiYjkf/2v/5UkSZJs2LAh2WuvvZJzzz23x3u1tbUlQ4cO7XG8tbU1+eP/1KxcuTKJiOTSSy/tsfass85KIiJpbW3dau3nPve5Hud++tOfTv7sz/6sx7E99tijx2e3xdChQ5OLLrpou58BAOwIOloAO9Bxxx0XK1asiBNPPDF+9atfxY033hhTp06N0aNH9xjZ257zzjuvx/jd5MmTo1wux29+85uIiHjggQdiw4YNccUVV2y16USlrdUnT54cq1atio0bN0ZExE9/+tM4/vjjY/z48fGTn/wkIt7pctXV1cUxxxzTfb3XX389TjvttFi3bl33q1QqRXNzczz00EPbvN6WDtuFF17Y4/gll1yyzTXnn3/+VjX/7ne/6+64bc9ee+0Vv/jFL+L//b//V/FcAMiSoAWwgx155JFx7733xu9///t49NFHY+bMmbFhw4Y4+eST49e//nXF9WPGjOnx89577x0REb///e8j4p3vgUW8MwqY1uTJk6OzszNWrFgRzzzzTLzyyisxefLk+PjHP94jaH3kIx+JffbZJyIi/s//+T8REfGXf/mX8b73va/H6/77799qk48/9pvf/Cbq6+vjAx/4QI/jBxxwwDbXVPr7b8+NN94YTz75ZDQ1NcXEiRNj1qxZ8cILL1RcBwDvla2gAPrIoEGD4sgjj4wjjzwyDjzwwJgxY0bcc8890draut11pVKp1+NJBk/nOOKII2Lw4MHx8MMPx5gxY2L48OFx4IEHxuTJk+PWW2+Njo6O+MlPfhKf/vSnu9d0dXVFxDvfjRo5cuRW75n1LoPv5e9/yimnxOTJk+O+++6L+++/P2666aa44YYb4t57741PfepTmdYJAH9M0ALIwRFHHBEREb/97W/f83vtv//+ERHx5JNPbrcz1JtBgwbFxIkT4yc/+UmMGTMmJk+eHBHvdLo6Ojrie9/7Xqxdu7bHRhhbrjd8+PCYMmVKquvtt99+0dXVFS+++GJ86EMf6j7+x88Tq8X2RiT33XffuPDCC+PCCy+MV155JQ4//PC47rrrBC0AdiijgwA70EMPPdRr52XJkiUREXHQQQe952t88pOfjCFDhsTs2bPj7bff7vFn1XR9Jk+eHL/4xS/ioYce6g5aw4YNiw9/+MNxww03dJ+zxdSpU6OxsTGuv/762Lx581bv19vW83+8NiLi1ltv7XH85ptvrljn9uyxxx7x+uuv9zhWLpdj/fr1PY4NHz48Ro0aFR0dHe/pegBQiY4WwA50ySWXxJtvvhmf/vSn4+CDD45NmzbFI488EosWLYqxY8fGjBkz3vM1Ghsb4xvf+Eacc845ceSRR8bpp58ee++9d/zqV7+KN998M+68887trp88eXJcd911sWbNmh6B6uMf/3h861vfirFjx8b73//+Htf75je/GWeccUYcfvjh8Td/8zfxvve9L1566aVYvHhxHH300XHLLbf0eq0JEybEX//1X8e8efPid7/7Xfz5n/95/Md//Ec8++yzEVF5845tmTBhQjz44IMxd+7cGDVqVHzgAx+Igw46KN7//vfHySefHOPGjYs999wzHnzwwfjP//zP+PrXv17TdQCgWoIWwA70ta99Le65555YsmRJ3HbbbbFp06YYM2ZMXHjhhXHllVf2+iDjWpx99tkxfPjwmDNnTlx77bUxcODAOPjgg+Oyyy6ruPaoo46KUqkUu+++e4wbN677+OTJk+Nb3/pWj/C1xemnnx6jRo2KOXPmxE033RQdHR0xevTomDx5csXw+I//+I8xcuTI+Od//ue47777YsqUKbFo0aI46KCDtto1sVpz586N8847L6688sp46623Yvr06XHbbbfFhRdeGPfff3/ce++90dXVFQcccEDceuutccEFF9R0HQCoVl2SxbepAeA9ePzxx+Owww6Lf/qnf4rPfvaz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Hx/sOggAALCLyj+SAgAAhec5WunoaAEAAGRM0AIAAMiY0UEAAKAio4Pp6GgBAABkTNACAADImNFBAACgoq6CjA52FaCGauhoAQAAZEzQAgAAyJjRQQAAoKLOKEVdAcb2OgtQQzV0tAAAADImaAEAAGTM6CCwA+xT47q1fbxudI3rXq5xHQD0X+UoRX0B4kMRdj6sho4WAABAxvKPpAAAQOG909HKv5ukowUAALCLErQAAAAyZnQQAACoyOhgOjpaAAAAGRO0AAAAMmZ0EAAAqKgzSlFXgLG9zgLUUA0dLQAAgIwJWgAAABkzOggAAFTUFQOiXID40FWAGqqhowUAAJCx/hEHAQCAXJULshlGf3mOlqAFbMeIGtetrW3Z/72ipmXJ93araV3d5a01rYs4oMZ1z9W4DgDob4wOAgAAZExHCwAAqKgc9QUZHewfvaL+USUAAEA/ImgBAABkzOggAABQUWeUIgowOthZgBqqoaMFAACQMUELAAAgY0YHAQCAisoxIOoKEB/KBaihGjpaAAAAGRO0AAAAMtY/+m4AAECuuqIU5QLs+NdVgBqqoaMFAACQMR0tAACgonJBnqNVhK5aNQQtYDt269OrfWL08prWrbw82zoq6+zrCwIA/YzRQQAAgIzpaAEAABUZHUxHRwsAACBjghYAAEDGagpa8+fPj7Fjx8bgwYOjubk5Hn300arW3X333VFXVxcnnXRSLZcFAABy0hn10RmlArzSR5g88kvqKhctWhQtLS3R2toaq1atinHjxsXUqVPjlVde2e661atXxxe+8IWYPHly6iIBAABqkVd+SR205s6dG+eee27MmDEjPvKRj8SCBQti9913jzvuuGOba8rlcnz2s5+Na665Jj74wQ/WVCgAAEBaeeWXVEFr06ZNsXLlypgyZcof3qC+PqZMmRIrVqzY5rqvfOUrMXz48Dj77LOruk5HR0e0t7f3eAEAAPkpx4DCvCJiq7zQ0dGxVc19lV96kyporVu3LsrlcowYMaLH8REjRkRbW1uva37605/Gd77znbj99turvs7s2bNj6NCh3a+mpqY0ZQIAADu5pqamHplh9uzZW53TV/mlNzv0OVobNmyIM844I26//fYYNmxY1etmzpwZLS0t3T+3t7cLWwAAQLc1a9ZEY2Nj988NDQ3v+T1rzS+9SRW0hg0bFqVSKdauXdvj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W9pLAwAAfWzw4MHx4osvxqZNm/IupVuSJFFXV9fjWG8TcXlKHbROPfXUePXVV+Pqq6+Otra2GD9+fCxdurQ79b300ks9WppHHXVU3HXXXXHllVfGl770pfjQhz4UP/zhD1N9kayhoSFaW1sL9+FRXO4ZauG+oRbuG9Jyz1CLvO+bwYMHx+DBRdjaPZ2++upTb1I/RwsAAKC/aG5ujokTJ8bNN98cEe989WnMmDFx8cUXb/M5wG+++Wb8y7/8S/exo446Kj72sY/tuM0wAAAA+pO8vvokaAEAADutPL76FGF0EAAAIHN5bsQPAACwUypM0Jo/f36MHTs2Bg8eHM3NzfHoo49u9/x77rknDj744Bg8eHAceuihsWTJkj6qlKJIc8/cfvvtMXny5Nh7771j7733jilTplS8x9g5pf23Zou777476urqup8hyK4l7X3z+uuvx0UXXRT77rtvNDQ0xIEHHui/U7uYtPfMvHnz4qCDDorddtstmpqa4rLLLou33367j6qlCB5++OE44YQTYtSoUVFXV1fVw3GXL18ehx9+eDQ0NMQBBxwQCxcu3OF1Ur1CBK1FixZFS0tLtLa2xqpVq2LcuHExderUeOWVV3o9/5FHHonTTjstzj777HjsscfipJNOipNOOimefPLJPq6cvKS9Z5YvXx6nnXZaPPTQQ7FixYpoamqKT37yk/Hyyy/3ceXkKe19s8Xq1avjC1/4QkyePLmPKqVI0t43mzZtiuOOOy5Wr14dP/jBD+KZZ56J22+/PUaPHt3HlZOXtPfMXXfdFVdccUW0trbGU089Fd/5zndi0aJF8aUvfamPKydPGzdujHHjxsX8+fOrOv/FF1+MadOmxbHHHhuPP/54XHrppXHOOefEj3/84x1cKVVLCmDixInJRRdd1P1zuVxORo0alcyePbvX80855ZRk2rRpPY41Nzcnf/u3f7tD66Q40t4zf6qzszMZMmRIcuedd+6oEimgWu6bzs7O5Kijjkq+/e1vJ9OnT0/++3//731QKUWS9r755je/mXzwgx9MNm3a1FclUjBp75mLLroo+cu//Msex1paWpKjjz56h9ZJcUVEct999233nC9+8YvJRz/60R7HTj311GTq1Kk7sDLSyL2jtWnTpli5cmVMmTKl+1h9fX1MmTIlVqxY0euaFStW9Dg/ImLq1KnbPJ+dSy33zJ968803Y/PmzbHPPvvsqDIpmFrvm6985SsxfPjwOPvss/uiTAqmlvvmRz/6UUyaNCkuuuiiGDFiRBxyyCFx/fXXR7lc7quyyVEt98xRRx0VK1eu7B4vfOGFF2LJkiVx/PHH90nN9E9+Hy6+3Ld3X7duXZTL5e7tFbcYMWJEPP30072uaWtr6/X8tra2HVYnxVHLPfOnLr/88hg1atRW/0Cx86rlvvnpT38a3/nOd+Lxxx/vgwopolrumxdeeCH+/d//PT772c/GkiVL4rnnnosLL7wwNm/eHK2trX1RNjmq5Z45/fTTY926dXHMMcdEkiTR2dkZ559/vtFBtmtbvw+3t7fHW2+9FbvttltOlbFF7h0t6Gtz5syJu+++O+67774YPHhw3uVQUBs2bIgzzjgjbr/99hg2bFje5dCPdHV1xfDhw+O2226LCRMmxKmnnhpf/vKXY8GCBXmXRkEtX748rr/++rj11ltj1apVce+998bixYvj2muvzbs04D3IvaM1bNiwKJVKsXbt2h7H165dGyNHjux1zciRI1Odz86llntmi6997WsxZ86cePDBB+NjH/vYjiyTgkl73zz//POxevXqOOGEE7qPdXV1RUTEgAED4plnnon9999/xxZN7mr592bfffeNgQMHRqlU6j724Q9/ONra2mLTpk0xaNCgHVoz+arlnrnqqqvijDPOiHPOOSciIg499NDYuHFjnHfeefHlL3+5x4NUYYtt/T7c2Niom1UQuf8vd9CgQTFhwoRYtmxZ97Gurq5YtmxZTJo0qdc1kyZN6nF+RMQDDzywzfPZudRyz0RE3HjjjXHttdfG0qVL44gjjuiLUimQtPfNwQcfHE888UQ8/vjj3a8TTzyxe3enpqamviyfnNTy783RRx8dzz33XHcwj4h49tlnY9999xWydgG13DNvvvnmVmFqS1BPkmTHFUu/5vfhfiDv3TiSJEnuvvvupKGhIVm4cGHy61//OjnvvPOSvfbaK2lra0uSJEnOOOOM5Iorrug+/2c/+1kyYMCA5Gtf+1ry1FNPJa2trcnAgQOTJ554Iq+/An0s7T0zZ86cZNCgQckPfvCD5Le//W33a8OGDXn9FchB2vvmT9l1cNeU9r556aWXkiFDhiQXX3xx8swzzyT/+q//mgwfPjz56le/mtdfgT6W9p5pbW1NhgwZkvzzP/9z8sILLyT3339/sv/++yennHJKXn8FcrBhw4bkscceSx577LEkIpK5c+cmjz32WPKb3/wmSZIkueKKK5Izzjij+/wXXngh2X333ZO/+7u/S5566qlk/vz5SalUSpYuXZrXX4E/UYiglSRJcvPNNydjxoxJBg0alEycODH5+c9/3v1nn/jEJ5Lp06f3OP/73/9+cuCBByaDBg1KPvrRjyaLFy/u44rJW5p7Zr/99ksiYqtXa2tr3xdOrtL+W/PHBK1dV9r75pFHHkmam5uThoaG5IMf/GBy3XXXJZ2dnX1cNXlKc89s3rw5mTVrVrL//vsngwcPTpqampILL7ww+f3vf9/3hZObhx56qNffVbbcK9OnT08+8YlPbLVm/PjxyaBBg5IPfvCDyT/8wz/0ed1sW12S6EkDAABkKffvaAEAAOxsBC0AAICMCVoAAAAZE7QAAAAyJmgBAABkTNACAADImKAFAACQMUELAAAgY4IWAABAxgQtAACAjAlaAAAAGRO0AAAAMvb/AZgOmtjT/v5yAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "plt.figure(figsize=(10, 10))\n", "plt.imshow(u.data[1], vmin=0, vmax=1, cmap=\"jet\", extent=[0,1,0,1])\n", "plt.colorbar(fraction=0.046, pad=0.04)\n", "plt.title(\"Sinc weights\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PrecomputedSparseFunction\n", "\n", "In some cases, simple linear interpolation may not be sufficient for two main reasons:\n", "- The polynomial approximation isn't accurate enough\n", "- The interpolation coefficients could be precomputed as they are not time-dependent\n", "\n", "`PrecomputedSparseFunction` offer the interface to answer these two points by allowing the user to provide arbitrary precomputed interpolation weights over an arbitrary large support. \n", "\n", "To illustrate this capability, we show in the following how to use `PrecomputedSparseFunction` to compute a simple local average over a `4x4` window centered on a sparse point ( average over `[x-1, x, x+1, x+2]` in 1D)\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Tensor symbol representing a sparse array in symbolic equations; unlike\n", " SparseFunction, PrecomputedSparseFunction uses externally-defined data\n", " for interpolation.\n", "\n", " Parameters\n", " ----------\n", " name : str\n", " Name of the symbol.\n", " npoint : int\n", " Number of sparse points.\n", " grid : Grid\n", " The computational domain from which the sparse points are sampled.\n", " r : int\n", " Number of gridpoints in each Dimension to interpolate a single sparse\n", " point to. E.g. `r=2` for linear interpolation.\n", " coordinates : np.ndarray, optional\n", " The coordinates of each sparse point.\n", " gridpoints : np.ndarray, optional\n", " An array carrying the *reference* grid point corresponding to each\n", " sparse point. Of all the gridpoints that one sparse point would be\n", " interpolated to, this is the grid point closest to the origin, i.e. the\n", " one with the lowest value of each coordinate Dimension. Must be a\n", " two-dimensional array of shape `(npoint, grid.ndim)`.\n", " interpolation_coeffs : np.ndarray, optional\n", " An array containing the coefficient for each of the r^2 (2D) or r^3\n", " (3D) gridpoints that each sparse point will be interpolated to. The\n", " coefficient is split across the n Dimensions such that the contribution\n", " of the point (i, j, k) will be multiplied by\n", " `interp_coeffs[..., i]*interp_coeffs[...,j]*interp_coeffs[...,k]`.\n", " So for `r=6`, we will store 18 coefficients per sparse point (instead of\n", " potentially 216). Must be a three-dimensional array of shape\n", " `(npoint, grid.ndim, r)`.\n", " space_order : int, optional, default=0\n", " Discretisation order for space derivatives.\n", " shape : tuple of ints, optional, default=(npoint,)\n", " Shape of the object.\n", " dimensions : tuple of Dimension, optional\n", " Dimensions associated with the object. Only necessary if the SparseFunction\n", " defines a multi-dimensional tensor.\n", " dtype : data-type, optional, default=np.float32\n", " Any object that can be interpreted as a numpy data type.\n", " initializer : callable or any object exposing the buffer interface, optional\n", " Data initializer. If a callable is provided, data is allocated lazily.\n", " allocator : MemoryAllocator, optional\n", " Controller for memory allocation. To be used, for example, when one wants\n", " to take advantage of the memory hierarchy in a NUMA architecture. Refer to\n", " `default_allocator.__doc__` for more information.\n", "\n", " Notes\n", " -----\n", " The parameters must always be given as keyword arguments, since SymPy\n", " uses `*args` to (re-)create the Dimension arguments of the symbolic object.\n", " \n" ] } ], "source": [ "print(PrecomputedSparseFunction.__doc__)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "coeffs = np.ones((5, 2, 5))\n", "s = PrecomputedSparseTimeFunction(name=\"s\", grid=grid, npoint=npoint, nt=nt, \n", " interpolation_coeffs=coeffs,\n", " coordinates=coords, r=2)\n", "\n", "\n", "pos = tuple(product((-grid.spacing[1], 0, grid.spacing[1],2*grid.spacing[1]),\n", " (-grid.spacing[1], 0, grid.spacing[1],2*grid.spacing[1])))\n", "interp_points = np.concatenate([base+p for p in pos])" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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fiZOnIhZs2bh/v376Nq1K1asWAEvLy8AyPVc/fDDD9LXrVGcay0jIwOZmZkwGAxITU01+5rBYLA6Ny+luinSarXQarXQ6/XQaDTw8vKSnm4sLFMnqdForP7BZm09s+0v23TbR7VaLf0glitbqedcqdlca8yWK5trzT6yHz9+jHv37sHR0REODg42NUZR/zxAbOJjBHt7oEm1chbXFzZbo9HA09MTv/zyC1q3bi09c5Pbe8/MmjUL8+bNw9KlS/HNN9/g1VdfRYMGDVC3bl0AWetz1apVCAgIwNmzZzFy5Eio1Wq8/fbbALKayytXruDnn3/G5s2b4ejoiNu3b+O1117D/Pnz8cILL+DBgwc4dOiQdP6+++47hIeHY9myZWjSpAlOnTqFkSNHwsvLC6+//nquxy0IAr755hsMHToUR48exfHjxzFq1CgEBgZixIgRAIDhw4fj77//xpYtW6BWqzFlyhT06dMH58+fh0qlwvjx45GWlobffvsNHh4euHDhAtRqtfS9NWW1bdsWixcvxsyZM/HXX38BADw9PaXzbzqOzMxM9O3bF56enti/fz/S09MxduxYvPrqq9i3b590fmJiYrB161Zs3boV9+/fx8svv4wFCxZg7ty5iI+PNztXBoMBBw4cgCAINjfhttTnV2s6X15eXnB1dTX7mumPPUWpVDdFTxIEwaofTqY6a2/tZ0s9s+0r21SjtONmNtcas8tuNteafWTntp812fO2X8Tnv8dIn49uH4Ip3eoWqjb7JUmFyVapVFizZg1GjBiBzz//HE8//TRatmyJQYMGoXHjxmb7vvTSS1JT8f7772PPnj349NNPsXz5cgDAtGnTpGfJgoODcenSJWzYsAHvvPOONJ+0tDR8/fXXqFSpEgDg5MmTSE9PR9++fVGtWjVkZGSgcePG0txnzZqFhQsXSs9IhYSE4OLFi/jiiy8wePDgXI8bAAICArBkyRIIgoA6derg3LlzWLJkCUaOHIm///4bv/zyCw4ePIjWrVsDAL799ltUq1YNP//8M/r164e4uDj07dsXDRs2BABUr149x3kVBAEuLi5S4+zn55fjnJvWz969e3H27FlcvXoVAQEBAICvv/4a9evXx59//omnn34aQNYzL2vWrJGe+Rk4cCD27t0LQRCQkJAgnavAwEAAQIMGDaRn86xZa5auF0tr8/vZZe3j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mc21xuyym821xmw5a7OPIWe2rfXMtq9sa+ebH95ogYiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHYFBERERERkaKxKSIiIiIiIkVjU0RERERERIrGpoiIiIiIiBSNTRERERERESkamyIiIiIiIlI0p5KegCVEUYQoilbVWFpXFPXMts/s7OPIna3Uc67U7OzjyJ2t1HOu1Ozs48idrdRzrtTs7OPIna3Uc67U7KJWqpsinU4HnU6HjIwMAIDBYICTk2VTFkURycnJAABBECyegy31zLa/7PT0dACAXq/nWmN2sWZzrTFbrmyuNWbLlc21xmy5sg0Gg8U1BSnVTZFWq4VWq4Ver4dGo4GXlxc0Go1FY5g6SY1GY/U33Np6ZttfttFoBACo1WqoVCpZs5V6zpWazbXGbLmyudaYLVc21xqz5co2NeBFqVQ3RU8SBMGqE2eqs6bW1npm21e2qUZpx81srjVml91srjVmy1mbfQw5s22tZ7Z9ZVs73/zwRgtERERERKRobIqIiIiIiEjR2BQREREREZGisSkiIiIiIiJFY1NERERERESKxqaIiIiIiIgUjU0REREREREpGpsiIiIiIiJSNDZFRERERESkaGyKiIiIiIhI0dgUERERERGRorEpIiIiIiIiRXMq6QlYQhRFiKJoVY2ldUVRz2z7zM4+jtzZSj3nSs3OPo7c2Uo950rNzj6O3NlKPedKzc4+jtzZSj3nSs0uaqW6KdLpdNDpdMjIyAAAGAwGODlZNmVRFJGcnAwAEATB4jnYUs9s+8tOT08HAOj1eq41ZhdrNtcas+XK5lpjtlzZXGvMlivbYDBYXFOQUt0UabVaaLVa6PV6aDQaeHl5QaPRWDSGqZPUaDRWf8OtrWe2/WUbjUYAgFqthkqlkjVbqedcqdlca8yWK5trjdlyZXOtMVuubFMDXpRKdVP0JEEQrDpxpjpram2tZ7Z9ZZtqlHbczOZaY3bZzeZaY7actdnHkDPb1npm21e2tfPND2+0QEREREREisamiIiIiIiIFI1NERERERERKRqbIiIiIiIiUjQ2RUREREREpGhsioiIiIiISNHYFBERERERkaKxKSIiIiIiIkVjU0RERERERIrGpoiIgOvHgUu7sv6Vs7aks4mIiIgAOJX0BIiohEXMBA4uBdwCgZRY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l8vpoIMOkiQtXrxYnZ2dGj169C7ntvO/7wvP8zRp0iSNHTtWv/jFL3TcccdJ6vlKxG9+8xt9+ctf3uN6Oz9n27dv17Zt23apuf/++/W5z31ul30/8sgjfd7h7re//a3+6Z/+SU8//bQmT57cu84bb7yhDz/8UMcff/wu9+pEn9fV1q9hM7vRerKzlZ12v3uSqaEIQD9m3tDzGoO1q3v+djfhUNFQ/WBmA1kxwB9jC//PK7rrl6slSdve+5jWvfSyNmzYoJEjR0ozb9DMyZ/VQb/677rg1+P0P7/4eXU//riuu+46BUGg9vZ2SdJzzz2n888/X8uWLdOECRO0YsUK/eblkTq9M5Q2v6+X/rhR827+tv7xH/+xZ11J69ev1yOPPKLTTz9dH374ob73ve/p4Ycf1i9/+cs++3vxxRd1wAEHqFQq6b333tOqVavU1tamI488cp+OwPM8XX755br55pt1+OGH69BDD9XXv/51jR8/XrNnz+697q//+q/1+c9/Xpdddpkkaf78+Tr11FN15JFHqlQqadGiRVq+fLkef/zxPuu//vrr+tWvfqUlS5bskl0/+NTuWZKmTp2qj370o72PP/3005o0aZImT568T/cEoPUwFAH7g4NO7HmNQcq3vG2ofjCzgawYoI+xlW9v6B2IJKnt44coN3qSbrvr+/rm/CskSUM7TtR1112nRx99VJ2dnfrIRz6iuXPn6sYbb+yt27x5s1577bXeb39qb2/X4sWL9Y1XX9XWrVt16KGH6oorrtC8efP65D/wwAP66le/KmOMOjs7tXz5ck2fPr3PNX/1V3/V++/PP/+8Fi1apIkTJ2rNmjWSpOXLl+uMM87Qm2++2ecHztb72te+pk2bNuniiy/WBx98oE9/+tNaunRpn3e/e+ONN3qHFkl699139eUvf1nr1q2T7/s65phj9Pjjj2vmzJl91r7//vt10EEH6cwzz+w3e1/86Ec/0kUXXZS6HsDgYygCACCj3ly/aZfH/FPm6Af3fEc3XfWV3reQHj16tH7605/u9nUep59+ep93czr++OP161//WsYYbdy4sd/v+x81atQ+vSX2hg0b9vi6gTfffFOHHXaYJkyYsNs1PM/TjTfe2GeQ21ltyKq57777drv3egsWLNCCBQv2fBM77HxOkvTyyy9r1apVeuihh/ZpDQCtiaEIAICMOnTU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aQxFAAAAAJzGUAQAAADAaQxFAAAAAJzGUAQAAADAaQxFAAAAAJzGUAQAAADAaamGojAMdcghh2jYsGE66aST9Nxzz+3x+ocfflhTpkzRsGHDdPTRR2vJkiWpNgsAAAAAzZZ4KHrwwQc1b948dXV16YUXXtC0adM0a9Ysvfvuu/1e/+yzz2rOnDm68MILtXLlSs2ePVuzZ8/WSy+91PDmAQAAAKBRiYei22+/XRdddJEuuOACHXnkkbrrrrs0YsQI3X///f1ef+edd+qzn/2srrzySk2dOlU33XSTjj/+eP3rv/5rw5sHAAAAgEblkly8bds2Pf/885o/f37vY0OGDNGMGTO0YsWKfmtWrFihefPm9Xls1qxZeuyxx3abs3XrVm3durX39xs3bpQk/eUvf0myXUmSMUZxHKtSqcjzPKv1ZGcvu1wua/PmzXr//feVz+etZrt65q5m02tk28qm18i2lU2vkW0ruzYTGGMS1+5OoqFo/fr1qlarGjNmTJ/Hx4wZo1dffbXfmu7u7n6v7+7u3m3OLbfcohtuuGGXx4844ogk2wUAAACwn3r//ffl+35T1ko0FNkyf/78Pl9d+uCDDzRx4kS9/fbbqW78U5/6lH7729+m3k8j9WRnKzuKInV0dOiPf/yjisWi1exG68nOVja9RratWnqNbFu19BrZtmo3btyogw8+WAceeGCq+v4kGopGjRqloUOHat26dX0eX7duncaOHdtvzdixYxNdL0nt7e1qb2/f5XHf91N9kA0dOjRVXTPqyc5etiQVi0V6jewBz5boNbLtZEv0Gtl2siV6jWw72VLPy3iaJdFKbW1tOuGEE7Rs2bLex7Zv365ly5aps7Oz35rOzs4+10vSE088sdvrB0IQBINWT3b2shuR5fsm2352I7J832Tbz25Elu+bbPvZjcjyfZNtP7vZPJPwFUoPPvig5s6dq+9+97uaPn267rjjDj300EN69dVXNWbMGJ1//vmaMGGCbrnlFkk9b8l92mmnaeHChTrrrLO0ePFiLViwQC+88II++clP7lNmFEXyfV8bN25seKIE9oRegy30Gmyh12ALvQZbBqLXEr+m6Nxzz9V7772n66+/Xt3d3Tr22GO1dOnS3jdTePvtt/t8Kevkk0/WokWLdN111+maa67R4Ycfrscee2yfByKp59vpurq6+v2WOqCZ6DXY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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "fig, ax = plt.subplots(figsize=(10, 10))\n", "ax.set_xlim([0, 1])\n", "ax.set_ylim([0, 1])\n", "ax.scatter(coords[:, 0], coords[:, 1], s=10, label=\"Sparse positions\")\n", "ax.scatter(interp_points[:, 0], interp_points[:, 1], s=10, label=\"Interpolation support\")\n", "ax.grid(which = \"major\")\n", "ax.grid(which = \"minor\", alpha = 0.2)\n", "ax.xaxis.set_minor_locator(FixedLocator(np.linspace(0, 1, 51)))\n", "ax.yaxis.set_minor_locator(FixedLocator(np.linspace(0, 1, 51)))\n", "ax.set_title(\"Off the grid sparse positions\")\n", "for i in range(npoint):\n", " ax.annotate(\"(%.3f, %.3f)\" % (coords[i, 0], coords[i, 1]), coords[i, :])\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "f.data.fill(0)\n", "op = Operator([Eq(f.forward, f+1)] + s.interpolate(f/16))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Operator `Kernel` ran in 0.01 s\n" ] }, { "data": { "text/plain": [ "Data([[0., 0., 0., 0., 0.],\n", " [1., 1., 1., 1., 1.],\n", " [2., 2., 2., 2., 2.],\n", " [3., 3., 3., 3., 3.],\n", " [4., 4., 4., 4., 4.],\n", " [5., 5., 5., 5., 5.],\n", " [6., 6., 6., 6., 6.],\n", " [7., 7., 7., 7., 7.],\n", " [8., 8., 8., 8., 8.],\n", " [9., 9., 9., 9., 9.],\n", " [0., 0., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "op()\n", "s.data" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Operator `Kernel` ran in 0.01 s\n" ] }, { "data": { "text/plain": [ "PerformanceSummary([(PerfKey(name='section0', rank=None),\n", " PerfEntry(time=4.1e-05, gflopss=0.0, gpointss=0.0, oi=0.0, ops=0, itershapes=[]))])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "u.data.fill(0)\n", "op = Operator(s.inject(u, expr=s))\n", "op()" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2MAAAMGCAYAAAB/CFzgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABXZUlEQVR4nO3dfZxVdZ048M8wyAw+zAgiA9go+PwMBjGhsGqNjkQW+6tEcgXJh3LVTacyaBU0TdR8wJJkJQ1tM8hK203DbFZ8SMwVpM0yEx+CjBlFgxFMhpk5vz+IW1fAOxfucC7j+/16ndd2v/d7zvmc61mbT5/P+Z6SJEmSAAAAYLvqlnYAAAAA70WSMQAAgBRIxgAAAFIgGQMAAEiBZAwAACAFkjEAAIAUSMYAAABSIBkDAABIgWQMAAAgBZIxALabM844IwYOHJh2GDFw4MA444wztnrfj370o4UNCID3JMkY0CXMmTMnSkpKMlt5eXkceOCBcf7550dTU1Pa4e1Qfve738Vll10WL7/8ctqh7ND8jgDk0j3tAAAK6atf/WoMGjQo3n777Xjsscfilltuifvvvz+eeeaZ2HnnndMOb4fwu9/9Li6//PI47rjjiqKK1Rmee+656Natc//3yPfC7wjAtpGMAV3K6NGjY9iwYRERcdZZZ8Uee+wRN9xwQ/zkJz+J8ePHb3aftWvXxi677LI9wyRlZWVlaYcAANoUga7tQx/6UEREvPTSSxGx4ZmlXXfdNV544YX4yEc+ErvttlucdtppERHR3t4eM2bMiMMOOyzKy8ujqqoqPvvZz8Zf/vKXTY77s5/9LI499tjYbbfdoqKiIj7wgQ/EXXfdlTXn7rvvjqFDh0bPnj2jT58+8S//8i/xyiuvZM3ZGM+yZcviox/9aOy6666x1157xcyZMyMi4je/+U186EMfil122SX22WefTc6xsT3zkUceic9+9rOxxx57REVFRUyYMGGTuEtKSuKyyy7b5Fr+8fmpOXPmxKc+9amIiDj++OMzbZ8LFizIuvZRo0bFLrvsErvttluMGTMmfvvb325y3HvvvTcOP/zwKC8vj8MPPzzuueeeTeZsTn19feyxxx6RJElm7IILLoiSkpL4xje+kRlramqKkpKSuOWWWzJj69ati2nTpsX+++8fZWVlUV1dHRdffHGsW7dui9e80f/93//FscceGz179oz3ve99ceWVV8Z3vvOdKCkp2Wyr4WOPPRbDhw+P8vLy2HfffePOO+/MfJfrd3zqqaeirq4u+vTpEz179oxBgwbFZz7zmQ79PgB0HZIxoEt74YUXIiJijz32yIy1trZGXV1d9O3bN6677rr4xCc+ERERn/3sZ+NLX/pSHHPMMXHTTTfFpEmT4nvf+17U1dXF+vXrM/vPmTMnxowZE2+88UZMmTIlrr766hgyZEjMnz8/a84pp5wSpaWlMX369Dj77LPjxz/+cYwcOTJWrVqVFWNbW1uMHj06qqur49prr42BAwfG+eefH3PmzImTTjophg0bFtdcc03stttuMWHChExi+Y/OP//8ePbZZ+Oyyy6LCRMmxPe+970YO3ZsVkLTEf/0T/8U//Zv/xYREV/5ylfiu9/9bnz3u9+NQw45JCIivvvd78aYMWNi1113jWuuuSYuvfTS+N3vfhcjR47MSlh+/vOfxyc+8YkoKSmJ6dOnx9ixY2PSpEnx1FNP5Yxh1KhR8cYbb2QleI8++mh069YtHn300ayxjTFHbEimP/axj8V1110XJ598cnzzm9+MsWPHxo033hjjxo1713O+8sorcfzxx8dvf/vbmDJlSlx00UXxve99L2666abNzl+6dGl88pOfjBNOOCGuv/766NWrV5xxxhmZmN/td3z11VfjxBNPjJdffjkmT54c3/zmN+O0006LJ554IudvA0AXkwB0Ad/5zneSiEh+8YtfJK+99lqyfPnyZO7cuckee+yR9OzZM/nTn/6UJEmSTJw4MYmIZPLkyVn7P/roo0lEJN/73veyxufPn581vmrVqmS33XZLampqkr/+9a9Zc9vb25MkSZKWlpakb9++yeGHH54156c//WkSEcnUqVMzYxvjueqqqzJjf/nLX5KePXsmJSUlydy5czPjv//975OISKZNm7bJdQ8dOjRpaWnJjF977bVJRCQ/+clPMmPv3HejffbZJ5k4cWLm8913351ERPLQQw9lzXvzzTeT3XffPTn77LOzxhsbG5PKysqs8SFDhiT9+/dPVq1alRn7+c9/nkREss8++2wSwz969dVXk4hIvvWtbyVJsuE379atW/KpT30qqaqqysz7t3/7t6R3796Z3/273/1u0q1bt+TRRx/NOt6sWbOSiEh++ctfbvGaL7jggqSkpCR5+umnM2Ovv/560rt37yQikpdeeilr34hIHnnkkayYy8rKki984QuZsS39jvfcc08SEcn//u//vuvvAEDXpzIGdCm1tbWx5557RnV1dZx66qmx6667xj333BN77bVX1rxzzz036/Pdd98dlZWVccIJJ8TKlSsz29ChQ2PXXXeNhx56KCIiHnzwwXjzzTdj8uTJUV5ennWMkpKSiNjQgvbqq6/Gv/7rv2bNGTNmTBx88MFx3333bRL3WWedlfnPu+++exx00EGxyy67xCmnnJIZP+igg2L33XePF198cZP9zznnnNhpp52yrq979+5x//335/zNOurBBx+MVatWxfjx47N+o9LS0qipqcn8RitWrIglS5bExIkTo7KyMrP/CSecEIceemjO8+y5555x8MEHxyOPPBIREb/85S+jtLQ0vvSlL0VTU1M8//zzEbGhMjZy5MjM73733XfHIYccEgcffHBWfBtbVTfGtznz58+PESNGxJAhQzJjvXv3zrSwvtOhhx4ao0aNyor5oIMO2uw/m3fafffdIyLipz/9aVbFFYD3Hgt4AF3KzJkz48ADD4zu3btHVVVVHHTQQZusmte9e/d43/velzX2/PPPx+rVq6Nv376bPe6rr74aEX9vezz88MO3GMMf//jHiNiQPL3TwQcfHI899ljWWHl5eey5555ZY5WVlfG+970vk2j84/jmnmE74IADsj7vuuuu0b9//4Iuq74xCdqY3LxTRUVFRPz9+t8ZU8SG32Tx4sU5zzVq1KhMIvnoo4/GsGHDYtiwYdG7d+949NFHo6qqKn7961/Hpz/96az4nn322U1+y402/jPcnD/+8Y8xYsSITcb333//zc7fe++9Nxnr1avXZv/ZvNOxxx4bn/jEJ+Lyyy+PG2+8MY477rgYO3ZsfPrTn7awCMB7jGQM6FKGDx+eWU1xS8rKyjZJ0Nrb26Nv377xve99b7P7bOkP/EIoLS3NazzJ8zmwXNra2jo0r729PSI2PDfWr1+/Tb7v3r1w/5UycuTImD17drz44ovx6KOPxqhRo6KkpCRGjhwZjz76aAwYMCDa29uzqlPt7e1xxBFHxA033LDZY1ZXVxcsvm35Z1NSUhI//OEP44knnoj//u//jgceeCA+85nPxPXXXx9PPPFE7LrrrgWLE4DiJhkDiIj99tsvfvGLX8QxxxwTPXv2fNd5ERHPPPPMFqsm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FBoBAIBiVxrFkT20ph1A4aiMAQAApEAyBgAAkIJiKDQCAADFrlhWUyyGGApEZQwAACAFkjEAAIAUdKEiHwAA0GlK/7alrRhiKBCVMQAAgBSojAEAALlZwKPgVMYAAABSIBkDAABIQRcq8gEAAJ1Gm2LBqYwBAACkQDIGAAB0WY888kicfPLJMWDAgCgpKYl77733XecvWLAgSkpKNtkaGxuz5s2cOTMGDhwY5eXlUVNTE08++WTesUnGAACA3LrF3981luaWZwazdu3aGDx4cMycOTOv/Z577rlYsWJFZuvbt2/mu3nz5kV9fX1MmzYtFi9eHIMHD466urp49dVX8zpHF+q4BAAAyDZ69OgYPXp03vv17ds3dt99981+d8MNN8TZZ58dkyZNioiIWbNmxX333Re33357TJ48ucPnUBkDAAB2OM3NzVnbunXrCnr8IUOGRP/+/eOEE06IX/7yl5nxlpaWWLRoUdTW1mbGunXrFrW1tbFw4cK8ziEZAwAAcuteRFtEVFdXR2VlZWabPn16QS6zf//+MWvWrPjRj34UP/rRj6K6ujqOO+64WLx4cURErFy5Mtra2qKqqiprv6qqqk2eK8tFmyIAALDDWb58eVRUVGQ+l5WVFeS4Bx10UBx00EGZz0cffXS88MILceONN8Z3v/vdgpxjI8kYAACww6moqMhKxjrT8OHD47HHHouIiD59+kRpaWk0NTVlzWlqaop+/frldVxtigAAQG5ptya+o01xe1qyZEn0798/IiJ69OgRQ4cOjYaGhsz37e3t0dDQECNGjMjruCpjwA7vkqQl7RA61ZUlPdIOAQB2WGvWrImlS5dmPr/00kuxZMmS6N27d+y9994xZcqUeOWVV+LOO++MiIgZM2bEoEGD4rDDDou33347vv3tb8f//M//xM9//vPMMerr62PixIkxbNiwGD58eMyYMSPWrl2bWV2xoyRjAABAbhvf85W2PGN46qmn4vjjj898rq+vj4iIiRMnxpw5c2LFihWxbNmyzPctLS3xhS98IV555ZXYeeed48gjj4xf/OIXWccYN25cvPbaazF16tRobGyMIUOGxPz58zdZ1COXkiRJkvwuZ/trbm6OysrKiJgcEYV5MA/oOlTGAOj61kXE1bF69ert9pzURhv/Fl/9rYiKntv11JuP568Rlf8aqfwWheaZMQAAgBRoUwQAAHJLafGMTRRDDAWiMgYAAJACyRgAAEAKulCRDwAA6DSlURzZQzGs6FggKmMAAAApkIwBAACkoBgKjQAAQLGzmmLBqYwBAACkQDIGAACQgi5U5AMAADpNaRTHSobFEEOBSMYAoMhckrSkHUKnubKkR9ohABQNyRgAAJCbBTwKzjNjAAAAKZCMAQAApKALFfkAAIBOo02x4FTGAAAAUiAZAwAASEEXKvIBAACdplsUxzu+ulA5qQtdCgAAwI5DMgYAAJACbYoAAEBuVlMsOJUxAACAFHShvBIAAOg0KmMFpzIGAACQAskYAABACrpQkQ8AAOg0pVEc7xkrhhgKRGUMAAAgBZIxAACAFGhTBAAAcrOaYsGpjAEAAKRAMgYAAJCCLlTkAwAAOk1pFEf2YDVFAAAAtoVkDAAAIAXFUGgEAACKndUUC05lDAAAIAVdKK8EAAA6TWkUx+IZxRBDgUjGgPes0pLpaYfQIZckU7ZqvytLehQ4EgCgkLQpAgAApEBlDAAAyM0CHgWnMgYAAJACyRgAAEAKulCRDwAA6DSlURzZQxdaTVFlDAAAIAWSMQAAgBQUQ6ERAAAodl76XHAqYwAAACmQjAEAAKRAmyIAAJCblz4XnMoYAABACrpQXgkAAHQalbGC60KXArxXXVnSY6v2uySZUuBIAAA6TpsiAABAClTGAACA3LQpFpzKGAAAQAokYwAAACnoQkU+AACgsyTdIpLStKPYEEdX0YUuBQAAYMchGQMAAEiBNkUAACCntu4btrQVQwyFojIGAACQgi6UVwIAAJ1FZazwVMYAAABSIBkDAABIQRcq8gEAAJ2ltbQkWktL0g4jWkuTiEjSDqMgJGMAUGSuLOmRdggAbAfaFAEAAFKgMgYAAOTU1r17tHVPv02xrXsSEevTDqMgVMYAAABSIBkDAABIgTZFAAAgp7bS0mgrgtUU20q1KQIAALANJGMAAAAp0KYIAADk1B6l0Rbptym2d5EXPkeojAEAAKRCZQwAAMipNUqjtQgqY60qYwAAAGwLyRgAANBlPfLII3HyySfHgAEDoqSkJO699953nf/jH/84TjjhhNhzzz2joqIiRowYEQ888EDWnMsuuyxKSkqytoMPPjjv2CRjAABATm1RGm3RvQi20rziXrt2bQwePDhmzpzZofmPPPJInHDCCXH//ffHokWL4vjjj4+TTz45nn766ax5hx12WKxYsSKzPfbYY3nFFeGZMQAAoAsbPXp0jB49usPzZ8yYkfX5qquuip/85Cfx3//933HUUUdlxrt37x79+vXbpthUxgAAgB1Oc3Nz1rZu3bpOOU97e3u8+eab0bt376zx559/PgYMGBD77rtvnHbaabFs2bK8jy0ZAwAActrQplgcW0REdXV1VFZWZrbp06d3ynVfd911sWbNmjjllFMyYzU1NTFnzpyYP39+3HLLLfHSSy/FqFGj4s0338zr2NoUAQCAHc7y5cujoqIi87msrKzg57jrrrvi8ssvj5/85CfRt2/fzPg/tj0eeeSRUVNTE/vss0/84Ac/iDPPPLPDx5eMAQAAO5yKioqsZKzQ5s6dG2eddVbcfffdUVtb+65zd9999zjwwANj6dKleZ1DmyIAAJBT2q2J72xT7Ezf//73Y9KkSfH9738/xowZk3P+mjVr4oUXXoj+/fvndR6VMQAAoMtas2ZNVsXqpZdeiiVLlkTv3r1j7733jilTpsQrr7wSd955Z0RsaE2cOHFi3HTTTVFTUxONjY0REdGzZ8+orKyMiIgvfvGLcfLJJ8c+++wTf/7zn2PatGlRWloa48ePzys2lTEAAKDLeuqpp+Koo47KLEtfX18fRx11VEydOjUiIlasWJG1EuKtt94ara2tcd5550X//v0z2+c///nMnD/96U8xfvz4OOigg+KUU06JPfbYI5544onYc88984pNZQwAAMhpQ4tg+rWctijJa/5xxx0XSZJs8fs5c+ZkfV6wYEHOY86dOzevGLYk/V8TAADgPUhlDAAAyKktSqO1CGo5+VbGiln6vyYAAMB7kGQMAAAgBdoUAQCAnNqie5Es4NGedggFIxkD3rOuLOmRdggAwHtY+qktAADAe9BWJWMzZ86MgQMHRnl5edTU1MSTTz75rvNXrVqVeWlaWVlZHHjggXH//fdvVcAAAMD21xbd/vausbS3rlNPyrtNcd68eVFfXx+zZs2KmpqamDFjRtTV1cVzzz0Xffv23WR+S0tLnHDCCdG3b9/44Q9/GHvttVf88Y9/jN13370Q8QMAAOyQ8k7Gbrjhhjj77LNj0qRJERExa9asuO++++L222+PyZMnbzL/9ttvjzfeeCMef/zx2GmnnSIiYuDAgdsWNQAAwA4urxpfS0tLLFq0KGpra/9+gG7dora2NhYuXLjZff7rv/4rRowYEeedd15UVVXF4YcfHldddVW0tbVt8Tzr1q2L5ubmrA0AAEhP+u2Jf9+6irySsZUrV0ZbW1tUVVVljVdVVUVjY+Nm93nxxRfjhz/8YbS1tcX9998fl156aVx//fVx5ZVXbvE806dPj8rKysxWXV2dT5gAAABFr9OXtm9vb4++ffvGrbfeGqWlpTF06NB45ZVX4utf/3pMmzZts/tMmTIl6uvrM5+bm5slZAAAkKLWKI3WIqhKtaYdQAHllYz16dMnSktLo6mpKWu8qakp+vXrt9l9+vfvHzvttFOUlv79H9whhxwSjY2N0dLSEj16bPqen7KysigrK8snNAAAgB1KXm2KPXr0iKFDh0ZDQ0NmrL29PRoaGmLEiBGb3eeYY46JpUuXRnv739+U/Yc//CH69++/2UQMAADgvSDvRfrr6+tj9uzZcccdd8Szzz4b5557bqxduzazuuKECRNiypQpmfnnnntuvPHGG/H5z38+/vCHP8R9990XV111VZx33nmFuwoAAKBTtUf3aCuCrb3zn7TabvK+knHjxsVrr70WU6dOjcbGxhgyZEjMnz8/s6jHsmXLolu3v+d41dXV8cADD8RFF10URx55ZOy1117x+c9/Pr785S8X7ioAAAB2MCVJkiRpB5FLc3NzVFZWRsTkiPAsGQAA7zXrIuLqWL16dVRUVGzXM2/8W/wXq4+IXSrSX8BjbXNb1Fb+JpXfotC6To0PAADoNMXyjq8tv614x5P3M2MAAABsO8kYAABACrQpAgAAOWlTLDyVMQAAgBRIxgAAAFKgTREAAMipLboVSZti0b+Zq8NUxgAAAFKgMgYAAOTUGqXRWgSVsVaVMQAAALaFZAwAACAF2hQBAICc2qJ7tBVB+uA9YwAAAGwTyRgAAEAK0q8zAgAARa89SoviPWPtVlMEAABgW0jGAAAAUqBNEQAAyKmtSNoU27QpAgAAsC0kYwAAACnQpggAAOTUGt2itQjaFFujPe0QCkZlDAAAIAUqYwAAQE5t0T3aiiB9sIAHAAAA20QyBgAAkIL064wAAEDRK573jFnAAwAAgG0gGQMAAEiBNkUAACAnbYqFpzIGAACQAskYAABACrQpAgAAObVFabRqUywolTEAAIAUqIwBAAA5tUX3aCuC9KEtkrRDKBiVMQAAgBRIxgAAAFKQfp0RAAAoem3RrUjeM9aWdggFozIGAACQAskYAABACrQpAgAAObVFaZG0KaYfQ6GojAEAAKRAMgYAAJACbYoAAEBO2hQLT2UMAAAgBZIxAACAFGhTBAAAcmqL0mgtghZBbYoAAABsE5UxAAAgp7boHm1FkD60RXvaIRSMyhgAAEAKJGMAAAApSL/OCAAAFD3vGSs8lTEAAIAUSMYAAABSoE0RAADIqS26FUWLYFsXqid1nSsBAADYgUjGAAAAUqBNEQAAyKk1SqO1CNoUiyGGQlEZAwAASIFkDAAAIAXaFAEAgJzaonu0FUH60BZtaYdQMCpjAABAl/XII4/EySefHAMGDIiSkpK49957c+6zYMGCeP/73x9lZWWx//77x5w5czaZM3PmzBg4cGCUl5dHTU1NPPnkk3nHJhkDAAByao/SaCuCrT3PBTzWrl0bgwcPjpkzZ3Zo/ksvvRRjxoyJ448/PpYsWRIXXnhhnHXWWfHAAw9k5sybNy/q6+tj2rRpsXjx4hg8eHDU1dXFq6++mlds6dcZAQAAOsno0aNj9OjRHZ4/a9asGDRoUFx//fUREXHIIYfEY489FjfeeGPU1dVFRMQNN9wQZ599dkyaNCmzz3333Re33357TJ48ucPnUhkDAAB2OM3NzVnbunXrCnLchQsXRm1tbdZYXV1dLFy4MCIiWlpaYtGiRVlzunXrFrW1tZk5HSUZAwAAckq7PfEft4iI6urqqKyszGzTp08vyHU2NjZGVVVV1lhVVVU0NzfHX//611i5cmW0tbVtdk5jY2Ne59KmCAAA7HCWL18eFRUVmc9lZWUpRrN1JGMAAMAOp6KiIisZK5R+/fpFU1NT1lhTU1NUVFREz549o7S0NEpLSzc7p1+/fnmdS5siAACQU1t0S709ccPWuSnMiBEjoqGhIWvswQcfjBEjRkRERI8ePWLo0KFZc9rb26OhoSEzp6MkYwAAQJe1Zs2aWLJkSSxZsiQiNixdv2TJkli2bFlEREyZMiUmTJiQmf+5z30uXnzxxbj44ovj97//fXzrW9+KH/zgB3HRRRdl5tTX18fs2bPjjjvuiGeffTbOPffcWLt2bWZ1xY7SpggAAHRZTz31VBx//PGZz/X19RERMXHixJgzZ06sWLEik5hFRAwaNCjuu+++uOiii+Kmm26K973vffHtb387s6x9RMS4cePitddei6lTp0ZjY2MMGTIk5s+fv8miHrmUJEmSbOP1dbrm5uaorKyMiMkRseM9mAcAANtmXURcHatXr+6U56Tezca/xc9f/e9RVlG+Xc+9Oeua346bK7+Wym9RaNoUAQAAUqBNEQAAyKktukdbEaQPxRBDoaiMAQAApEAyBgAAkIKuU+MDAAA6Tfvf3vOVtvYiiKFQVMYAAABSIBkDAABIgTZFAAAgp7YiaVMshhgKRWUMAAAgBZIxAACAFGhTBAAAcmqN0uhWBC2CrUUQQ6GojAEAAKRAMgYAAJACbYoAAEBOG1ZTTD99sJoiAAAA2yT91BYAACh63jNWeCpjAAAAKZCMAQAApECbIgAAkJM2xcJTGQMAAEiBZAwAACAF2hQBAICc2oukTbG9CGIoFJUxAACAFEjGAAAAUqBNEQAAyKk1SqOkCFoEW4sghkJRGQMAAEiBZAwAACAF2hSBgrskaUk7hE51ZUmPtEMAgO2uLUqjWxGkD8WwomOhqIwBAACkIP3UFgAAKHobKmPpV6VUxgAAANgmkjEAAIAUaFMEAABy0qZYeCpjAAAAKZCMAQAApECbIgAAkFNrlEZJEbQIthZBDIWiMgYAAJACyRgAAEAKtCkCAAA5tUf3aCuC9KG9CGIoFJUxAACAFHSdtBIAAOg0bUWygIf3jAEAALBNJGMAAAAp0KYIAADk1BbdiqRNsevUk7rOlQAAAOxAJGMAAAAp0KYIAADk1BqlEUXQpthaBDEUisoYAABACiRjAAAAKdCmCAAA5NQW3aOkCNKHtiKIoVBUxgAAAFIgGQMAAEhB16nxAQAAnaY9SqOtCFYybC+CGApFZQwAACAFKmMAAEBObUXynrFiqM4VisoYAABACiRjAAAAKdCmCAAA5KRNsfBUxgAAAFIgGQMAAEjBViVjM2fOjIEDB0Z5eXnU1NTEk08+2aH95s6dGyUlJTF27NitOS0AAJCS1ugWrVFaBFvXqSflfSXz5s2L+vr6mDZtWixevDgGDx4cdXV18eqrr77rfi+//HJ88YtfjFGjRm11sAAAAF1F3snYDTfcEGeffXZMmjQpDj300Jg1a1bsvPPOcfvtt29xn7a2tjjttNPi8ssvj3333XebAgYAAOgK8krGWlpaYtGiRVFbW/v3A3TrFrW1tbFw4cIt7vfVr341+vbtG2eeeWaHzrNu3bpobm7O2gAAgPS0Rfei2bqKvJKxlStXRltbW1RVVWWNV1VVRWNj42b3eeyxx+K2226L2bNnd/g806dPj8rKysxWXV2dT5gAAABFr1OffnvzzTfj9NNPj9mzZ0efPn06vN+UKVNi9erVmW358uWdGCUAAMD2l1eNr0+fPlFaWhpNTU1Z401NTdGvX79N5r/wwgvx8ssvx8knn5wZa29v33Di7t3jueeei/3222+T/crKyqKsrCyf0AAAgE7kpc+Fl1dlrEePHjF06NBoaGjIjLW3t0dDQ0OMGDFik/kHH3xw/OY3v4klS5Zkto997GNx/PHHx5IlS7QfAgAA71l5P/1WX18fEydOjGHDhsXw4cNjxowZsXbt2pg0aVJEREyYMCH22muvmD59epSXl8fhhx+etf/uu+8eEbHJOAAAULzai6Qy1l4EMRRK3snYuHHj4rXXXoupU6dGY2NjDBkyJObPn59Z1GPZsmXRrVvXeREbAABAZ9iqdSHPP//8OP/88zf73YIFC9513zlz5mzNKQEAALqUrrNIPwAA0GlaozS6FUGLYFdqU9RPCAAAkALJGAAAQAq0KQIAADm1RWkkRZA+aFMEAABgm0jGAAAAUpB+nREAACh6G9oU028R1KYIAACwg5g5c2YMHDgwysvLo6amJp588sktzj3uuOOipKRkk23MmDGZOWecccYm35900kl5x6UyBgAA5LSjVsbmzZsX9fX1MWvWrKipqYkZM2ZEXV1dPPfcc9G3b99N5v/4xz+OlpaWzOfXX389Bg8eHJ/61Key5p100knxne98J/O5rKwszytRGQMAALqwG264Ic4+++yYNGlSHHrooTFr1qzYeeed4/bbb9/s/N69e0e/fv0y24MPPhg777zzJslYWVlZ1rxevXrlHZtkDAAA2OE0NzdnbevWrdtkTktLSyxatChqa2szY926dYva2tpYuHBhh85z2223xamnnhq77LJL1viCBQuib9++cdBBB8W5554br7/+et7XIBkDAAByamsvLZotIqK6ujoqKysz2/Tp0zeJeeXKldHW1hZVVVVZ41VVVdHY2Jjzmp988sl45pln4qyzzsoaP+mkk+LOO++MhoaGuOaaa+Lhhx+O0aNHR1tbW16/qWfGgIK7sqRH2iF0yCVJS+5JBdxve9tR/jkAwNZYvnx5VFRUZD5vzTNbudx2221x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//rX449//GOcddZZEbFhpcULL7wwrrzyyjjggANi0KBBcemll8aAAQNi7NixecUmGQMAALqscePGxWuvvRZTp06NxsbGGDJkSMyfPz+zAMeyZcuiW7e/Nwz+5S9/ibPPPjsaGxujV69eMXTo0Hj88cfj0EMPzcy5+OKLY+3atXHOOefEqlWrYuTIkTF//vxNXg6dS0mSJElhLrPzNDc3R2VlZURMjojCPJgHAAA7jnURcXWsXr06a9GK7SHzt/gFqyPKtu+5N2tdc8Q3K1P5LQrNM2MAAAApkIwBAACkwDNjAABAbm2ReeFyqoohhgJRGQMAAEiByhgAAJBbW+T1jq9OozIGAADAtpCMAQAApECbIgAAkFtrFEcppxhaJQukGH5OAACA9xzJGAAAQAq0KQIAALmtj4iStIOIDXF0ESpjAAAAKZCMAQAApECbIgAAkFtbFMcLl4shhgJRGQMAAEiBZAwAACAF2hQBAIDcvPS54Irh5wQAAHjPURkDAABya4viqEpZwAMAAIBtIRkDAABIgTZFAAAgt/VpB/A3xRJHAaiMAQAApEAyBgAAkIKtSsZmzpwZAwcOjPLy8qipqYknn3xyi3Nnz54do0aNil69ekWvXr2itrb2XecDAABFqK2Iti4i72Rs3rx5UV9fH9OmTYvFixfH4MGDo66uLl599dXNzl+wYEGMHz8+HnrooVi4cGFUV1fHiSeeGK+88so2Bw8AALCjKkmSJMlnh5qamvjABz4QN998c0REtLe3R3V1dVxwwQUxefLknPu3tbVFr1694uabb44JEyZ06JzNzc1RWVkZEZMjoiyfcAEAoAtYFxFXx+rVq6OiomK7njnzt/hHV0fstH3PvVnrmyN+WpnKb1Foea2m2NLSEosWLYopU6Zkxrp16xa1tbWxcOHCDh3jrbfeivXr10fv3r23OGfdunWxbt26zOfm5uZ8wgQAAAqtNSJK0g4iiuPF0wWSV5viypUro62tLaqqqrLGq6qqorGxsUPH+PKXvxwDBgyI2traLc6ZPn16VFZWZrbq6up8wgQAACh623U1xauvvjrmzp0b99xzT5SXl29x3pQpU2L16tWZbfny5dsxSgAAgM6XV5tinz59orS0NJqamrLGm5qaol+/fu+673XXXRdXX311/OIXv4gjjzzyXeeWlZVFWZlnwwAAoGhoUyy4vCpj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2ylaisEjjzwSJ598cgwYMCBKSkoyLxh+NwsWLIj3v//9UVZWFvvvv3/MmTOn0+OksIoiGZs3b17U19fHtGnTYvHixTF48OCoq6uLV199dbPzH3/88Rg/fnyceeaZ8fTTT8fYsWNj7Nix8cwzz2znyElLvvfMggULYvz48fHQQw/FwoULo7q6Ok488cR45ZVXtnPkpCnf+2ajl19+Ob74xS/GqFGjtlOkFJN875uWlpY44YQT4uWXX44f/vCH8dxzz8Xs2bNjr7322s6Rk5Z875m77rorJk+eHNOmTYtnn302brvttpg3b1585Stf2c6Rk6a1a9fG4MGDY+bMmR2a/9JLL8WYMWPi+OOPjyVLlsSFF14YZ511VjzwwAOdHCkFlRSB4cOHJ+edd17mc1tbWzJgwIBk+vTpm51/yimnJGPGjMkaq6mpST772c92apwUj3zvmXdqbW1Ndtttt+SOO+7orBApQltz37S2tiZHH3108u1vfzuZOHFi8vGPf3w7REoxyfe+ueWWW5J99903aWlp2V4hUmTyvWfOO++85EMf+lDWWH19fXLMMcd0apwUr4hI7rnnnnedc/HFFyeHHXZY1ti4ceOSurq6ToyMQku9MtbS0hKLFi2K2trazFi3bt2itrY2Fi5cuNl9Fi5cmDU/IqKurm6L8+latuaeeae33nor1q9fH7179+6sMCkyW3vffPWrX42+ffvGmWeeuT3CpMhszX3zX//1XzFixIg477zzoqqqKg4//PC46qqroq2tbXuFTYq25p45+uijY9GiRZlWxhdffDHuv//++MhHPrJdYmbH5O/hriH1pe1XrlwZbW1tmaUlN6qqqorf//73m92nsbFxs/MbGxs7LU6Kx9bcM+/05S9/OQYMGLDJv8TourbmvnnsscfitttuiyVLlmyHCClGW3PfvPjii/E///M/cdppp8X9998fS5cujX/913+N9evXx7Rp07ZH2KRoa+6ZT3/607Fy5coYOXJkJEkSra2t8bnPfU6bIu9qS38PNzc3x1//+tfo2bNnSpGRj9QrY7C9XX311TF37ty455578n4XBO8db775Zpx++ukxe/bs6NOnT9rhsANpb2+Pvn37xq233hpDhw6NcePGxb//+7/HrFmz0g6NIrVgwYK46qqr4lvf+lYsXrw4fvzjH8d9990XV1xxRdqhAZ0s9cpYnz59orS0NJqamrLGm5qaol+/fpvdp1+/fnnNp2vZmntmo+uuuy6uvvrq+MUvfhFHHnlkZ4ZJkcn3vnnhhRfi5ZdfjpNPPjkz1t7eHhER3bt3j+eeey7222+/zg2a1G3Nv2/69+8fO+20U5SWlmbGDjnkkGhsbIyWlpbo0aNHp8ZMurbmnrn00kvj9NNPj7POOisiIo444ojMy2T//d//PetltLDRlv4erqioUBXbgaT+/909evSIoUOHRkNDQ2asvb09GhoaYsSIEZvdZ8SIEVnzIyIefPDBLc6na9maeyYi4tprr40rrrgi5s+fH8OGDdseoVJE8r1vDj744PjNb34TS5YsyWwf+9jHMqtWVVdXb8/wScnW/PvmmGOOiaVLl2aS94iIP/zhD9G/f3+J2HvA1twzb7311iYJ18ZkPkmSzguWHZq/h7uItFcQSZIkmTt3blJWVpbMmTMn+d3vfpecc845ye677540NjYmSZIkp59+ejJ58uTM/F/+8pdJ9+7dk+uuuy559tlnk2nTpiU77bRT8pvf/CatS2A7y/eeufrqq5MePXokP/zhD5MVK1ZktjfffDOtSyAF+d4372Q1xfemfO+bZcuWJbvttlty/vnnJ88991zy05/+NOnbt29y5ZVXpnUJbGf53jPTpk1Ldtttt+T73/9+8uKLLyY///nPk/322y855ZRT0roEUvDmm28mTz/9dPL0008nEZHccMMNydNPP5388Y9/TJIkSSZPnpycfvrpmfkvvvhisvPOOydf+tKXkmeffTaZOXNmUlpamsyfPz+tS2ArFEUyliRJ8s1vfjPZe++9kx49eiTDhw9Pnnjiicx3xx57bDJx4sSs+T/4wQ+SAw88MOnRo0dy2GGHJffdd992jpi05XPP7LPPPklEbLJNmzZt+wdOqvL9d80/koy9d+V73zz++ONJTU1NUlZWluy7777J1772taS1tXU7R02a8rln1q9fn1x22WXJfvvtl5SXlyfV1dXJv/7rvyZ/+ctftn/gpOahhx7a7N8qG++ViRMnJscee+wm+wwZMiTp0aNHsu+++ybf+c53tnvcbJuSJFH/BgAA2N5Sf2YMAADgvUgyBgAAkALJGAAAQAokYwAAACmQjAEAAKRAMgYAAJACyRgAAEAKJGMAAAApkIwBAACkQDIGAACQAskYAABACiRjAAAAKfj/vqY/FCdcBDEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NBVAL_IGNORE_OUTPUT\n", "plt.figure(figsize=(10, 10))\n", "plt.imshow(u.data[1], vmin=0, vmax=2, cmap=\"jet\", extent=[0,1,0,1])\n", "plt.colorbar(fraction=0.046, pad=0.04)\n", "plt.title(\"Precomputed weights\")\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 4 }