{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Examples using Randomized Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This page illustrates how to use the the primary functions provided by this package in 2 contexts using randomized data. This is useful for understanding the arguments of the functions. However, the resulting plots won't look particularly meaningful.\n", "\n", "For some examples that use real simulation data, see [this page](Example-simulation.ipynb).\n", "\n", "This package primarily provides 2 functions: `vsf_props` and `twopoint_correlation`.\n", "\n", "For a single set of points, we can compute an \"auto\" n-th order structure function (the typical kind of structure function) and the \"auto\" correlation function. For a discrete set of points, that sample a vector field, ${\\bf v}({\\bf r})$ (commonly a velocity-field), and a scalar field, $\\rho({\\bf r})$ (commonly density field), these functions respectively are defined as:\n", "\n", "$$\n", "\\langle|\\delta {\\bf v}|^n\\rangle(\\ell) = \n", " \\frac{\\sum_i \\sum_{j\\neq i} W_\\ell(|{\\bf r}_i-{\\bf r}_j|) |{\\bf v}({\\bf r}_i) - {\\bf v}({\\bf r}_j)|^n }{\\sum_i\\sum_{j\\neq i} W_\\ell(|{\\bf r}_i-{\\bf r}_j|)}\n", "$$\n", "\n", "and\n", "\n", "$$\n", "\\xi(\\ell) = \n", " \\frac{\\sum_i \\sum_{j\\neq i} W_\\ell(|{\\bf r}_i-{\\bf r}_j|) \\rho({\\bf r}_i)\\rho({\\bf r}_j) }{\\sum_i\\sum_{j\\neq i} W_\\ell(|{\\bf r}_i-{\\bf r}_j|)}.\n", "$$\n", "\n", "In these equations, $W_\\ell(|{\\bf r}_i-{\\bf r}_j|)$ evaluates to 1 when $|{\\bf r}_i-{\\bf r}_j|$ falls within the $\\ell$ bin and is 0 otherwise. (When performing certain types of velocity structure function calculations we also support specifying additional weights for each point, but we don't show that here)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "\n", "def plot_binned_data(ax, bin_edges, vals, **kwargs):\n", " return ax.stairs(vals, edges=bin_edges, **kwargs)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB9K0lEQVR4nO3deXhU5f3//9cQSAjbQJAQwiZKRCAIGIQEFLBsggjWWuiHGlAR5IssYSk1ohasBbECYVEEPkgQZGkbEdcItBKk7EtUEClUZImJcckCMSYxzu8PfjOfTDITMpPZ83xc11wXc859znnfkzB3zvvci8FkMpkEAAAAAAAAeFAtbwcAAAAAAACAmoekFAAAAAAAADyOpBQAAAAAAAA8jqQUAAAAAAAAPI6kFAAAAAAAADyOpBQAAAAAAAA8jqQUAAAAAAAAPI6kFAAAAAAAADyutrcD8Be//PKLvv76azVs2FAGg8Hb4QCAS5lMJl25ckWRkZGqVYvnFdVBewEgkNFeuA7tBYBAVtX2gqRUFX399ddq3bq1t8MAALe6dOmSWrVq5e0w/BrtBYCagPai+mgvANQE12svSEpVUcOGDSVd+0AbNWrk5WgAwLXy8/PVunVry3cdnEd7ASCQ0V64Du0FgEBW1faCpFQVmbvUNmrUiEYDQMBi+ED10V4AqAloL6qP9gJATXC99oKB4AAAAAAAAPA4klIAAAAAAADwOJJSAAAAAAAA8DiSUgAAAAAAAPA4klIAAAAAAADwOJJSAAAAAAAA8DiSUgAAAAAAAPA4klIAAAAAAADwOJJSAAAAAAAA8DiSUgAAAAAAAPA4klIAAAAAAADwuNreDgAAKpORW6icgmJJUpP6wWrZONTLEQHuw+87AKAqaC8ABAqSUgB8jvkPre8LijVp4zEVlpRKkkLrBGn3rH784YWAlJFbqIGL0/h9BwBUivYCQCAhKQXAKe56QmfrD60Nj/ZUTkGxEralK6egmD+6EJByCopVWFKqpNHdJInfdwCATbQXAAIJSSkADnPnE7qyf2i1D29gSXidzMir9rkBf9A+vIG3QwCAGmXVqlVatWqVvvrqK0lS586d9eyzz2ro0KE2y+/Zs0d33313he2nT5/Wrbfe6s5QrdBeAAgEJKUAOMyZJ3TmnlVV7VXVPryBolsaXRUyAACATa1atdILL7yg9u3bS5I2bNigkSNH6sSJE+rcubPd486cOaNGjRpZ3jdr1sztsQJAoCEpBcBp13tCZ2tuKHu9qsxlz2VfdWfIAAAAVu677z6r93/5y1+0atUqHTx4sNKkVHh4uBo3buzm6AAgsJGUAuAWtob4PTu8k5579/MKvapslW1SP9grcQMAgJqrtLRUf//731VQUKC4uLhKy3bv3l0//fSTOnXqpKefftrmkL6yioqKVFRUZHmfn5/vkpgBwJ+RlAJQZY70ZrI1N5R5YvSqlGWyTgAA4CmfffaZ4uLi9NNPP6lBgwbavn27OnXqZLNsixYttGbNGsXExKioqEgbN27UgAEDtGfPHvXt29fuNRYuXKj58+e7qwoA4JdISgGoEnu9mconmsonrsrODWUua95XPvnkyDxSjs5RBQAAYE+HDh2Unp6u3NxcpaSkaNy4cUpLS7OZmOrQoYM6dOhgeR8XF6dLly7ppZdeqjQplZiYqJkzZ1re5+fnq3Xr1q6tCAD4GZJSAGwyJ30kWZJPtnozlU00lZ07Sqo4DK9J/WCF1glSwrZ0y/7ds/o5FZs5QebKlf/gX/bu3au//vWvOnbsmDIzM7V9+3bdf//9dss//PDD2rBhQ4XtnTp10qlTpyRJycnJeuSRRyqUKSwsVN26dV0WOwDAtwQHB1smOu/Ro4eOHDmiZcuWafXq1VU6PjY2Vps2baq0TEhIiEJCQqodKwAEklrevPiNN94og8FQ4fXEE09Ikkwmk+bNm6fIyEiFhoaqf//+lhsHs6KiIk2dOlU33HCD6tevrxEjRujy5ctWZXJychQfHy+j0Sij0aj4+Hjl5uZ6qpqA3zEnfYav2KfhK/Zp4OI0ZeQWSvq/3kzmJFDZRNO41w5LkjY82lPvTr2zQrKoZeNQ7Z7VT+9OvVNJo7upsKTU7pC+ypgTZFN/1d7pc8D/FRQUqGvXrlq5cmWVyi9btkyZmZmW16VLlxQWFqbf/va3VuUaNWpkVS4zM5OEFADUMCaTyWr+p+s5ceKEWrRo4caIACAwebWn1JEjR1RaWmp5f/LkSQ0aNMhyg/Diiy9qyZIlSk5O1i233KLnn39egwYN0pkzZ9SwYUNJUkJCgt555x1t3bpVTZs21axZszR8+HAdO3ZMQUFBkqQxY8bo8uXLSk1NlSRNnDhR8fHxeueddzxcY8A/lO0VJUkJ29LtJn7Miaayvaoq67XUsnGo1f7qrLZH76iabejQoRo6dGiVy5sfTJi99dZbysnJqdAzymAwKCIiwmVxAgB821NPPaWhQ4eqdevWunLlirZu3ao9e/ZY7h0SExOVkZGh119/XZKUlJSkG2+8UZ07d1ZxcbE2bdqklJQUpaSkeLMaAOCXvJqUatasmdX7F154QTfffLP69esnk8mkpKQkzZ07Vw888IAkacOGDWrevLk2b96sxx9/XHl5eVq3bp02btyogQMHSpI2bdqk1q1ba/fu3RoyZIhOnz6t1NRUHTx4UL169ZIkrV27VnFxcTpz5ozVeHCgJio/TK/8HE9VUT7RVBW2hvKx4h48ad26dRo4cKDatm1rtf3q1atq27atSktL1a1bN/35z39W9+7dvRQlAMDdvvnmG8XHxyszM1NGo1G33XabUlNTNWjQIElSZmamLl68aClfXFys2bNnKyMjQ6GhoercubPee+89DRs2zFtVAAC/5TNzSpmfMsycOVMGg0FffvmlsrKyNHjwYEuZkJAQ9evXT/v379fjjz+uY8eOqaSkxKpMZGSkoqOjtX//fg0ZMkQHDhyQ0Wi0JKSka2O+jUaj9u/fT1IKNZqtycvtzfFkHr7nKo72sDKrTs8qwCwzM1MffPCBNm/ebLX91ltvVXJysrp06aL8/HwtW7ZMffr00SeffKKoqCib52KJbwDwb+vWrat0f3JystX7OXPmaM6cOW6MCABqDp9JSr311lvKzc3Vww8/LEnKysqSJDVv3tyqXPPmzXXhwgVLmeDgYDVp0qRCGfPxWVlZCg8Pr3C98PBwSxlbuMlATVCVYXrmHk0r/nXO5b2ZHOlhRc8quFJycrIaN25cYWL02NhYxcbGWt736dNHt99+u1asWKHly5fbPBdLfAMAAADO8Zmk1Lp16zR06FBFRkZabTcYDFbvTSZThW3llS9jq/z1zsNNBmqSyobple3RVNXeTO5gq2dV2ZX/zNvM8VU2LBE1m8lk0muvvab4+HgFB1ee2KxVq5buuOMOnT171m4ZlvgGAAAAnOMTSakLFy5o9+7devPNNy3bzJPMZmVlWa1kkZ2dbek9FRERoeLiYuXk5Fj1lsrOzlbv3r0tZb755psK1/z2228r9MIqi5sM4P84M2eUp+Io33vKPPzQ1rBEX6gDvC8tLU3nzp3T+PHjr1vWZDIpPT1dXbp0sVuGJb4BAAAA59TydgCStH79eoWHh+vee++1bGvXrp0iIiK0a9cuy7bi4mKlpaVZEk4xMTGqU6eOVZnMzEydPHnSUiYuLk55eXk6fPiwpcyhQ4eUl5dnKWNLSEiIGjVqZPUC4FvMvafenXqnkkZ3U2FJqXIKiq2GJZbdjsBy9epVpaenKz09XZJ0/vx5paenWyajTUxM1NixYysct27dOvXq1UvR0dEV9s2fP18ffvihvvzyS6Wnp2v8+PFKT0/XpEmT3FoXAAAAoCbyek+pX375RevXr9e4ceNUu/b/hWMwGJSQkKAFCxYoKipKUVFRWrBggerVq6cxY8ZIura89/jx4zVr1iw1bdpUYWFhmj17trp06WJZja9jx4665557NGHCBK1evVqSNHHiRA0fPpxJzoEAUFkvrqquHgj/dPToUd19992W9+berePGjVNycnKF1ZIkKS8vTykpKVq2bJnNc+bm5mrixInKysqS0WhU9+7dtXfvXvXs2dN9FQEAAABqKK8npXbv3q2LFy/q0UcfrbBvzpw5Kiws1OTJk5WTk6NevXpp586datiwoaXM0qVLVbt2bY0aNUqFhYUaMGCAkpOTFRQUZCnzxhtvaNq0aZZV+kaMGKGVK1e6v3KAH/L31e38PX5UXf/+/WUymezuL79aknTtYcaPP/5o95ilS5dq6dKlrggPAAAAwHV4PSk1ePBguzcVBoNB8+bN07x58+weX7duXa1YsUIrVqywWyYsLEybNm2qbqiAXys78bdZ2QSOv69uZy/+yiZDBwAAAAB4j9eTUgDcLyO30Gri77LMyRtbq9v5U/KmsvhtTYbuT3UDAAAAgEBEUgqoAcpO/F1+nqWyyRtfWWXPWbbiL5usOpd9VQnb0pVTUOzX9QQAAACAQEBSCqhB2oc3UHRLo7fD8LjyySqG8gEAAACA95GUAgJQ+fmjmPz7GlvzTjGUDwAAAAC8g6QUEGDszR/lbxOXuwND+QAAAADAd5CUAgKMvfmjGKp2jb/PmwUAAAAAgYKkFBCgaur8UQAAAAAA/0BSCggQ5nmkmD8KAAAAAOAPSEoBAaD8PFLMHwUAAAAA8HUkpYAAUH4eKeaPqrpz2Vf5vAAAAADAC0hKAX6s/JA95pGquib1gxVaJ0gJ29IVWidIu2f1IzEFAAAAAB5EUgrwUwzZq56WjUO1e1Y/HTn/gxK2pSunoJikFAAAAAB4EEkpwE8xZK/6WjYOVU54A0my9DbjcwQAAAAAzyApBfg5huxVT9lhfJIYygcAAAAAHkJSCvAz5eeRQvWYh/GZP1OG8gEAAACAZ5CUAvwI80i5R8vGoSShAAAAAMDDSEoBfoR5pAAAAAAAgYKkFOCHmEcKAAAAAODvSEoBgB3m+bskVuUDAAAAAFcjKQUANtiav4tV+QAAAADAdUhKAX6AFfc8y/w5m+fvksSqfAAAAADgYiSlAB9lTkR9X1CsSRuPseKeBzSpH6zQOkFK2JYu6dpnfUe7MMsQPgAAAACA65CUAnyQraFjGx7tqab1g5nbyI1aNg7V7ln9KswjRVIKAAAAAFyPpBTgg3IKii1Dx9qHNyAR5UEtG4fyWQMAAACAB5CUAnxY+/AGim5p9HYYAAAAAAC4XC1vBwAAAAAA3rJq1SrddtttatSokRo1aqS4uDh98MEHlR6TlpammJgY1a1bVzfddJNeffVVD0ULAIGFpBQAAACAGqtVq1Z64YUXdPToUR09elS/+tWvNHLkSJ06dcpm+fPnz2vYsGG66667dOLECT311FOaNm2aUlJSPBw5APg/hu8BAAAAqLHuu+8+q/d/+ctftGrVKh08eFCdO3euUP7VV19VmzZtlJSUJEnq2LGjjh49qpdeekm/+c1vPBEyAAQMekoBAAAAgKTS0lJt3bpVBQUFiouLs1nmwIEDGjx4sNW2IUOG6OjRoyopKbF77qKiIuXn51u9AKCmo6cU4AMycguVU1AsSWpSP9jL0QAAANQsn332meLi4vTTTz+pQYMG2r59uzp16mSzbFZWlpo3b261rXnz5vr555/13XffqUWLFjaPW7hwoebPn+/y2AHAn5GUArwsI7dQAxenqbCkVJIUWidIfxjSwctRAQAA1BwdOnRQenq6cnNzlZKSonHjxiktLc1uYspgMFi9N5lMNreXlZiYqJkzZ1re5+fnq3Xr1i6IHgD8l9eH72VkZOihhx5S06ZNVa9ePXXr1k3Hjh2z7DeZTJo3b54iIyMVGhqq/v37V5h0sKioSFOnTtUNN9yg+vXra8SIEbp8+bJVmZycHMXHx8toNMpoNCo+Pl65ubmeqCJQqZyCYhWWlCppdDdteLSnJOm5dz9XaJ0gek0Bldi7d6/uu+8+RUZGymAw6K233qq0/J49e2QwGCq8vvjiC6tyKSkp6tSpk0JCQtSpUydt377djbUAAPiC4OBgtW/fXj169NDChQvVtWtXLVu2zGbZiIgIZWVlWW3Lzs5W7dq11bRpU7vXCAkJsazwZ34BQE3n1aRUTk6O+vTpozp16uiDDz7Q559/rsWLF6tx48aWMi+++KKWLFmilStX6siRI4qIiNCgQYN05coVS5mEhARt375dW7du1b59+3T16lUNHz5cpaWlljJjxoxRenq6UlNTlZqaqvT0dMXHx3uyuoCVjNxCnczI07nsq5Kk9uEN1O+WZto9q5/enXqnds/qp5aNQ70cJco6l31VJzPylJFb6O1QIKmgoEBdu3bVypUrHTruzJkzyszMtLyioqIs+w4cOKDRo0crPj5en3zyieLj4zVq1CgdOnTI1eEDAHyYyWRSUVGRzX1xcXHatWuX1badO3eqR48eqlOnjifCA4CA4dXhe4sWLVLr1q21fv16y7Ybb7zR8m+TyaSkpCTNnTtXDzzwgCRpw4YNat68uTZv3qzHH39ceXl5WrdunTZu3KiBAwdKkjZt2qTWrVtr9+7dGjJkiE6fPq3U1FQdPHhQvXr1kiStXbtWcXFxOnPmjDp0YKgUPMvWkD1zr6iWjUNJRvmYJvWDFVonSAnb0iVd+3mRNPS+oUOHaujQoQ4fFx4ebvXwo6ykpCQNGjRIiYmJkq4NtUhLS1NSUpK2bNlSnXABAD7qqaee0tChQ9W6dWtduXJFW7du1Z49e5SamirpWluQkZGh119/XZI0adIkrVy5UjNnztSECRN04MABrVu3jnYCAJzg1Z5Sb7/9tnr06KHf/va3Cg8PV/fu3bV27VrL/vPnzysrK8tqdYuQkBD169dP+/fvlyQdO3ZMJSUlVmUiIyMVHR1tKXPgwAEZjUZLQkqSYmNjZTQaLWUATyo7ZI9eUb6vZeNQSw+2pNHdVFhSqiPnf6DXlJ/q3r27WrRooQEDBuijjz6y2mdvRaXK2gpWUwIA//bNN98oPj5eHTp00IABA3To0CGlpqZq0KBBkqTMzExdvHjRUr5du3Z6//33tWfPHnXr1k1//vOftXz5cv3mN7/xVhUAwG95tafUl19+qVWrVmnmzJl66qmndPjwYU2bNk0hISEaO3asZay2rdUtLly4IOna6hfBwcFq0qRJhTLm47OyshQeHl7h+uHh4RXGg5sVFRVZddnlJgPu0D68gaJbGr0dBqrA3IONXlP+q0WLFlqzZo1iYmJUVFSkjRs3asCAAdqzZ4/69u0ryf6KSvbaConVlADA361bt67S/cnJyRW29evXT8ePH3dTRABQc3g1KfXLL7+oR48eWrBggaRrT69PnTqlVatWaezYsZZytla3qGxlC1tlbJWv7DzcZACwxdxrKqegWOeyryphW7pyCopJSvmBDh06WA3XjouL06VLl/TSSy9ZklKS420OqykBAAAAzvHq8L0WLVpUWGa1Y8eOlu6xERERkmRzdQvzk+yIiAgVFxcrJyen0jLffPNNhet/++23FZ6ImyUmJiovL8/yunTpkhM1BBCIWjYOVXRLo9qHN/B2KKim2NhYnT171vLe3opK9toKidWUAAAAAGd5NSnVp08fnTlzxmrbf/7zH7Vt21bStfHaERERVqtbFBcXKy0tTb1795YkxcTEqE6dOlZlMjMzdfLkSUuZuLg45eXl6fDhw5Yyhw4dUl5enqVMedxkAEDgO3HihFq0aGF5b29FJXttBQAAAADneXX43owZM9S7d28tWLBAo0aN0uHDh7VmzRqtWbNG0rUhFAkJCVqwYIGioqIUFRWlBQsWqF69ehozZowkyWg0avz48Zo1a5aaNm2qsLAwzZ49W126dLGsxtexY0fdc889mjBhglavXi1JmjhxooYPH87KewDgp65evapz585Z3p8/f17p6ekKCwtTmzZtKqyWlJSUpBtvvFGdO3dWcXGxNm3apJSUFKWkpFjOMX36dPXt21eLFi3SyJEjtWPHDu3evVv79u3zeP0AAACAQOfVpNQdd9yh7du3KzExUc8995zatWunpKQk/f73v7eUmTNnjgoLCzV58mTl5OSoV69e2rlzpxo2bGgps3TpUtWuXVujRo1SYWGhBgwYoOTkZAUFBVnKvPHGG5o2bZplVaURI0Zo5cqVnqssgIB1LvuqJKlJ/WDmlvKgo0eP6u6777a8N8/rNG7cOCUnJ1dYLam4uFizZ89WRkaGQkND1blzZ7333nsaNmyYpUzv3r21detWPf3003rmmWd08803a9u2bVartwIAAABwDa8mpSRp+PDhGj58uN39BoNB8+bN07x58+yWqVu3rlasWKEVK1bYLRMWFqZNmzZVJ1QAsMJKfN7Vv39/mUwmu/vLr5Y0Z84czZkz57rnffDBB/Xggw9WNzwAAAAA1+H1pBQA+CtW4gMAAAAA55GUAoBqaNk41CoJdS77KsP4AAAAAKAKSEoBHpSRW2jpVYPAUnYoH8P4AAAAAOD6SEoBHpKRW6iBi9NUWFIq6dr8Q03qB3s5KriKeSjfkfM/MIwPAAAAAKqApBTgITkFxSosKVXS6G5qH96AIV4BqGXjUOWEN/B2GAAAAADgF0hKAW5Wfshe+/AGim5p9HJUAAAAAAB4F0kpwI0YsgcAAAAAgG0kpQA3YsgeAAAAAAC2kZQCPIAhewAAAAAAWCMpBQCAjzPPTSeJHpcAAAAIGCSlAADwYbbmpts9qx+JKQAAAPg9klKAG5RfcQ8AnFV2bjpJStiWriPnf5DahZGYAgAAgF8jKQW4GCvuAXAH82IJoXWClLAtvVo9phgOCAAAAF9AUgpwMVbcgyRLLzl+/nCllo1DtXtWPx05/4MStqUrp6DY4d8vfxgOaE6a8f8HAAAgsJGUAtyEFfdqprI9WSTfvOGHf2vZOFQ54Q2qVNZWjyhbwwHLJ7e82ZOqbNKs7P8fX+nd5StxwL+ReAUA4BqSUgDgQuaeLOY5xZztzQJURWU98mz1iHo1PsaSUGlfLrFlvkn+vqBYkzYe80hPqsqSZlN/1V4r/nXOst8Xenf5Qy8z2OcrCUV7iVcAAGoiklIA4GItG4dygwG3qqxHXtmFFsw9oprUD9akjcc07rXDlvJN6gdbbtAPn/9Bf/3wjFWyZcOjPZVTUFytYYLm85eP3RxnZUkz8/XMibfr9e4qf017ibrrJSUqi7sqvcwcZS8mX0qg+EIcZTnzmTmTUHRF3auaeHXV5+ro77iv/EwBADUXSSkAAPyMvR55UsUeRXf8/6v0mctL1jeioXWC9Ny7n1sSUU3rB1v2n8zIcyq+8gmAssomnypLmt0c3qBC4u2OdmE2E0a2rmlOOkiy2wPs1fgYNS2zEEX5MuXj/sOQDpIq9jKzFUtlSZPrJeYkXTfWsue2l0hz1vXiKx9HVc9XmarWwV5PPqni7745VnsJxSPnf1BOubkfK+sxWL7u9hJiVYlVqph4dSZRer3EW9nPwN7PlJ5aAABvIikFAIAfstUjr7KFFmyVL5usckWPCVu9tMomcMw36WWTT5UlzWxtM78338iblb2mdC3pcDIjTwlb0yv0AJNkFUdZZZNz5eM2J+/K9jIrH4e9ZIb5muYhW1VJzFUl1tfH99TYdYdtJtKcVZX4nDmfvWRWZclAe+cr25PvyPkfJKnSz7JsQtFWT0N7ycDKfgb2EmJViVWy3ePxekmk8ucu+7ler3ek+f+Tq3v7AQBQHSSlABcpezMGAN7kyEILzg43Ld97w1YyxpxwKstejy17SbPy28rfyJdVvjdVZUm6snGUP7+tz8NW8q6yOGwlM0LrBClpdDclvvlZlRNz9mI195Db+59vbSYAnVXVxKGz57PHVjLQnrIJG1u96crGaiuhaGt/+WRg2cSQVPFnYP78yyfEyv8MKos1uqWx0jjKJwYrS/CW/RzLfwblY5Wu39sPAABPISkFuICt7vBNHBzeAAC+qvzwInu9N+zd0JdV3TnXKkuOlO9NlZFbKMl2ks7ROMqXr0ocku0kXNnE2fUSc/a2m5NzK/51zm4C0FmOJA4dPZ89zvTUqyyRVzZWWwlFW/sri6N83W31cqrsZ3C9WMvGUVlisCxbn6utOtqKtWxvPwAAvImkFOAClT2NB643Xwjgq+xNqG6v94anfsevlxwpn7Bx10OCqiRpqtoDzJlru3LoZflz+/L5HD339co4E19lSSZXxOFMoszRWElKAQB8AUkpwIUcGTKDwFfZCmmAP6hsQnXJd7/z3Jmw8SXuTPbg+rydbPPm+QAAcBWSUgDgJvZu6LkxgD8pfzPrL/PmcRMOAADg+0hKAU4oP8Gvv9ykwfPs3dAHcu8NBCZ789IAAAAAziIpBTiosgl+uUGDPQzlg7u5OznuzBw6AAAAQGVISgEO8vYEv/BPDOWDM6qSaPJkDyaGxAEIRAsXLtSbb76pL774QqGhoerdu7cWLVqkDh062D1mz549uvvuuytsP336tG699VZ3hgsAAYWkFOAkX53gF76LG3pUlSOJJnowAUD1pKWl6YknntAdd9yhn3/+WXPnztXgwYP1+eefq379+pUee+bMGTVq1MjyvlmzZu4OFwACCkkpAAB8jKOJJhKeAOC81NRUq/fr169XeHi4jh07pr59+1Z6bHh4uBo3buzG6AAgsDmclLp06ZIMBoNatWolSTp8+LA2b96sTp06aeLEiS4PEACAmohEE4Ca7u2333b4mEGDBik0tHrfnXl5eZKksLCw65bt3r27fvrpJ3Xq1ElPP/20zSF9ZkVFRSoqKrK8z8/Pr1acABAIHE5KjRkzRhMnTlR8fLyysrI0aNAgde7cWZs2bVJWVpaeffZZd8QJAAGHlfgAALDv/vvvd6i8wWDQ2bNnddNNNzl9TZPJpJkzZ+rOO+9UdHS03XItWrTQmjVrFBMTo6KiIm3cuFEDBgzQnj177PauWrhwoebPn+90bAAQiGo5esDJkyfVs2dPSdLf/vY3RUdHa//+/dq8ebOSk5MdOte8efNkMBisXhEREZb9JpNJ8+bNU2RkpEJDQ9W/f3+dOnXK6hxFRUWaOnWqbrjhBtWvX18jRozQ5cuXrcrk5OQoPj5eRqNRRqNR8fHxys3NdbTqAOASZecLGr5inwYuTlNGbqG3w/I7e/fu1X333afIyEgZDAa99dZblZZ/8803NWjQIDVr1kyNGjVSXFycPvzwQ6syycnJFdolg8Ggn376yY01AQDYk5WVpV9++aVKr3r16lX7elOmTNGnn36qLVu2VFquQ4cOmjBhgm6//XbFxcXplVde0b333quXXnrJ7jGJiYnKy8uzvC5dulTteAHA3zmclCopKVFISIgkaffu3RoxYoQk6dZbb1VmZqbDAXTu3FmZmZmW12effWbZ9+KLL2rJkiVauXKljhw5ooiICA0aNEhXrlyxlElISND27du1detW7du3T1evXtXw4cNVWlpqKTNmzBilp6crNTVVqampSk9PV3x8vMOxAoArmOcLenfqnUoa3U2FJaWWuYNQdQUFBeratatWrlxZpfJ79+7VoEGD9P777+vYsWO6++67dd999+nEiRNW5Ro1amTVLmVmZqpu3bruqAIAoBLjxo1zaCjeQw89ZDXpuKOmTp2qt99+Wx999JFlqhJHxMbG6uzZs3b3h4SEqFGjRlYvAKjpHB6+17lzZ7366qu69957tWvXLv35z3+WJH399ddq2rSp4wHUrm3VO8rMZDIpKSlJc+fO1QMPPCBJ2rBhg5o3b67Nmzfr8ccfV15entatW6eNGzdq4MCBkqRNmzapdevW2r17t4YMGaLTp08rNTVVBw8eVK9evSRJa9euVVxcnM6cOVPpUq9AWRm5hcopKK7SEu3A9TBfUPUNHTpUQ4cOrXL5pKQkq/cLFizQjh079M4776h79+6W7eV77QIAvGP9+vUOlV+1apVT1zGZTJo6daq2b9+uPXv2qF27dk6d58SJE2rRooVTxwJATeVwT6lFixZp9erV6t+/v/7nf/5HXbt2lXRtIkLzsD5HnD17VpGRkWrXrp1+97vf6csvv5QknT9/XllZWRo8eLClbEhIiPr166f9+/dLko4dO6aSkhKrMpGRkZYhhZJ04MABGY1GS0JKuvYUw2g0WsoA15ORW6iBi9M0fMU+JWxLr3R5dgD+4ZdfftGVK1cqTGR79epVtW3bVq1atdLw4cMr9KQqr6ioSPn5+VYvAID/eOKJJ7Rp0yZt3rxZDRs2VFZWlrKyslRY+H9D6xMTEzV27FjL+6SkJL311ls6e/asTp06pcTERKWkpGjKlCneqAIA+C2HekqZTCa1a9dOFy5cUGlpqZo0aWLZN3HiRIfHcffq1Uuvv/66brnlFn3zzTd6/vnn1bt3b506dUpZWVmSpObNm1sd07x5c124cEHStTHmwcHBVnGYy5iPz8rKUnh4eIVrh4eHW8rYwuoYKCunoFiFJaVKGt1N7cMbMDE1EAAWL16sgoICjRo1yrLt1ltvVXJysrp06aL8/HwtW7ZMffr00SeffKKoqCib52HiWgBwvcLCQv3www9q2bKl1fZTp06pc+fOLr2WuYdV//79rbavX79eDz/8sCQpMzNTFy9etOwrLi7W7NmzlZGRodDQUHXu3Fnvvfeehg0b5tLYACDQOZyUioqK0qlTpyr8cX7jjTc6fPGywy66dOmiuLg43XzzzdqwYYNiY2MlXRtGUT6G8ttsxVm2jK3y1zsPNxmwpX14A0W3NHo7DADVtGXLFs2bN087duywenARGxtraX8kqU+fPrr99tu1YsUKLV++3Oa5EhMTNXPmTMv7/Px8tW7d2n3BA0CA+8c//qEZM2YoLCxMJpNJa9eutYx6iI+P1/Hjx116PZPJdN0y5Rd0mjNnjubMmePSOACgJnIoKVWrVi1FRUXp+++/t/vEuDrq16+vLl266OzZs5YlYLOysqzGZmdnZ1t6T0VERKi4uFg5OTlWvaWys7PVu3dvS5lvvvmmwrW+/fbbCr2wyuImAwCc8/bbbzt8zKBBgxyazLY6tm3bpvHjx+vvf/+7ZT5Ce2rVqqU77rjjuhPXmhcAAQBU3/PPP6/jx4+rWbNmOnr0qMaNG6e5c+dqzJgxVUogAQD8h8MTnb/44ov6wx/+oFWrVik6OtqlwRQVFen06dO666671K5dO0VERGjXrl2WCWiLi4uVlpamRYsWSZJiYmJUp04d7dq1yzL8IjMzUydPntSLL74oSYqLi1NeXp4OHz5smfPq0KFDysvLsySubOEmAxKTmwPOMD9UqCqDwaCzZ8/qpptuck9AZWzZskWPPvqotmzZonvvvfe65U0mk9LT09WlSxe3xwYAuKakpETNmjWTJPXo0UN79+7VAw88oHPnzl13xAQAwL84nJR66KGH9OOPP6pr164KDg6u8GT7hx9+qPK5Zs+erfvuu09t2rRRdna2nn/+eeXn52vcuHEyGAxKSEjQggULFBUVpaioKC1YsED16tXTmDFjJElGo1Hjx4/XrFmz1LRpU4WFhWn27Nnq0qWL5el3x44ddc8992jChAlavXq1pGvzXw0fPpyV91Ap8+TmhSWlksTk5oAD7M3nZ0vDhg2dusbVq1d17tw5y/vz588rPT1dYWFhatOmjRITE5WRkaHXX39d0rWE1NixY7Vs2TLFxsZa5hUMDQ2V0XhtWO78+fMVGxurqKgo5efna/ny5UpPT9fLL7/sVIwAAMeFh4fr008/1W233SZJatq0qXbt2qVx48bp008/9XJ0AABXcjgpVX5J7eq4fPmy/ud//kffffedmjVrptjYWB08eFBt27aVdG2sdmFhoSZPnqycnBz16tVLO3futLqBWbp0qWrXrq1Ro0apsLBQAwYMUHJysoKCgixl3njjDU2bNs2ySt+IESO0cuVKl9UDgYnJzeFJ5Xvj+fPv27hx4xwaivfQQw+pUaNGDl/n6NGjuvvuuy3vzUOux40bp+Tk5AqT0q5evVo///yznnjiCT3xxBNW8ZrnCsnNzdXEiROVlZUlo9Go7t27a+/evU6tLgsAcM7GjRtVu7b1bUpwcLC2bNnC6nYAEGAMJgZmV0l+fr6MRqPy8vKcunmC/zmZkafhK/bp3al3Mrk53KZ8jzyz0DpB2j2rn8cSU3zHuY6znyXfOQA8ydnvHG+0F1lZWYqIiPDItTzJFe2FJNoOAD6pqt9xVeoplZ+fbzlJfn5+pWW5mQGAqmvZOFS7Z/VTTkGxZdu57KtK2JaunIJiv+0tVd6xY8cUExPj7TAAAH5o8ODBDNsDgABVpaRUkyZNlJmZqfDwcDVu3NjmBIMmk0kGg0GlpaU2zgD4DyY3h6e1bBwaMMkne379619bDaUDAKCqGNgBAIGrSkmpf/3rXwoLC5MkffTRR24NCPAmJjcHnGdeBbU8k8nk0CIYAACUxYp7ABC4qpSU6tevn81/A4GGyc0B5+3evVsbN25UgwYNrLabTCbt3bvXS1EBAAAA8FUOr75n9uOPP+rixYsqLi622m5euhXwZ+3DGzBZJOCg/v37q0GDBjYfXnTv3t0LEQEAAADwZQ4npb799ls98sgj+uCDD2zuZ04pAKiZ3nzzTbv7UlNTPRgJACCQBAczlQIABKpajh6QkJCgnJwcHTx4UKGhoUpNTdWGDRsUFRWlt99+2x0xAgAAAKihjh496u0QAABu4nBPqX/961/asWOH7rjjDtWqVUtt27bVoEGD1KhRIy1cuFD33nuvO+IEAPiZrKwsRUREeDsMAAAAAD7K4Z5SBQUFCg8PlySFhYXp22+/lSR16dJFx48fd210AAC/NXjwYG+HAAAIEIWFhfrxxx8t7y9cuKCkpCTt3LnTi1EBAKrL4aRUhw4ddObMGUlSt27dtHr1amVkZOjVV19VixYtXB4gAMA/mUwmb4cAAAgQI0eO1Ouvvy5Jys3NVa9evbR48WKNHDlSq1at8nJ0AABnOTWnVGZmpiTpT3/6k1JTU9WmTRstX75cCxYscHmAAAD/ZDAYvB0CACBAHD9+XHfddZck6R//+IeaN2+uCxcu6PXXX9fy5cu9HB0AwFkOzyn1+9//3vLv7t2766uvvtIXX3yhNm3a6IYbbnBpcAAAAADw448/qmHDhpKknTt36oEHHlCtWrUUGxurCxcueDk6AICzHO4pVZbJZFJoaKhuv/12ElLwaxm5hTqZkadz2Ve9HQoAAADKad++vd566y1dunRJH374oWXewuzsbDVq1MjL0fkm89+3GbmF3g4FAOxyKim1bt06RUdHq27duqpbt66io6P1v//7v66ODfCIjNxCDVycpuEr9ilhW7pC6wSpSf1gb4cF+L3gYP4fAQBc49lnn9Xs2bN14403qlevXoqLi5N0rddU9+7dvRyd7yn79+3AxWkkpgD4LIeH7z3zzDNaunSppk6damkMDhw4oBkzZuirr77S888/7/IgAXfKKShWYUmpkkZ3U/vwBmpSP1gtG4d6OyzA7x09etTbIQAAAsSDDz6oO++8U5mZmeratatl+4ABA/TrX//ai5H5JvPft1N/1V4r/nVOOQXF/H0LwCc5nJRatWqV1q5dq//5n/+xbBsxYoRuu+02TZ06laQU/Fb78AaKbmn0dhiAhXk4qT8nSgsLC2UymVSvXj1J15bw3r59uzp16mQZegEAQFVEREQoIiLCalvPnj29FI1/8Ne/HwDUHA4npUpLS9WjR48K22NiYvTzzz+7JCgAqMma1A9WaJ0gJWxLlySF1gnS7ln9/PIPy5EjR+qBBx7QpEmTLEt416lTR999952WLFmi//f//p+3QwQAAHZk5BYqp6BYkn8/JAPguxyeU+qhhx7SqlWrKmxfs2aN1cp8AADntGwcqt2z+undqXcqaXQ3FZaUWv4g9Dcs4Q0AcEZhYaEyMjIqbD916pQXoqmZys5LxdxUANzF4Z5S0rWJznfu3KnY2FhJ0sGDB3Xp0iWNHTtWM2fOtJRbsmSJa6IE3MD85IcV9+CLWjYODYinkSzhDQBw1D/+8Q/NmDFDYWFhMplMWrt2rXr16iVJio+P1/Hjx70coe9y9u9bWz2iys67KkkJ29KZmwqAyzmclDp58qRuv/12SdJ///tfSVKzZs3UrFkznTx50lLOYDC4KETA9cxPfgpLSiWJFfcANzEv4f3rX/9aH374oWbMmCGJJbwBAPY9//zzOn78uJo1a6ajR49q3Lhxmjt3rsaMGSOTyeTt8HyWs3/f2jpu96x+lv3twxu4J2AXMCfTfHFoIUMf4Qq+/DvuKg4npT766CN3xAF4FCvuAZ7x7LPPasyYMZoxY4YGDBjAEt4AgOsqKSlRs2bNJEk9evTQ3r179cADD+jcuXM8+K6Erb9vzUmRyhZPsdcjypZz2VetzuHNxEvZZJqvzb9pL9HnK/HBP/jy77grOTV8DwgUrLgHf+GvK/GxhDcAwFHh4eH69NNPddttt0mSmjZtql27dmncuHH69NNPvRyd7yv/921VF0+prEdU2UVYQusE6dX4GEnSpI3HPJJ4qWx44dRftdeKf52zDC10RaKsuudg6KN/85VebvZ+xwMNSSkA8GGBsBIfS3gDAByxceNG1a5tfZsSHBysLVu2aMqUKV6Kyj+ZF08xzzPlbHLEfJ5z2Vc1aeMxjXvtsKRrf5dseLSncgqKnT532QRAWeZkwPWGF5qvdy77qr4vKK52oqyqvZwqi9vMlUMf7SVKfCWB4itxlOXMZ+ZMLzdH6u7M5+SpRK8zZVyBpBQA+DBX/TEJAIC/aNWqld19ffr08WAkgcGZxVNsTZRuPo/57xLp/25UT2bkORVb+QRAWeYeWbZ6HR05/4OlnK0HeNdLlFV2s11ZLyfzceWTX+Xj/sOQDk59HuXjqywx50xvNXuJNGddL76m5eY0s5cYsrW/uipLZtqL1TzktSq93Oz9Ltiq+/USrFXt4Xe9kRNVTSJV9vOqSqyuRlIKAHxcoKzEBwBAdfz000/69NNPlZ2drV9++cVq34gRI7wUlf+ytVKfrQRP+cnSXfl3Sfl5sMzMN/ple2Td0S7M8u+y8UW3NFaaKCufYLPXm8ocj7l82Xjs9cLa8GhPq+SDucxz735u+ezKz+tlj61kgDm2sp9Tk/rBlfZWO3L+B+WU66Fl/hnaSwA6qyrxlS9vK5lW/nzlkzTOOJd91e5caZV9lkm/u1a+/M+/LHu/C+Z6la+7rc/JHNOR8z/o3P8fR/kkUdnf6euNnKhKoslc7sj5Hyr9DOzF6q4H41VKSt1+++365z//qSZNmui5557T7NmzVa9ePZcHAwAIPNxEAACqKzU1VWPHjtV3331XYZ/BYFBpqetutGsCeyv12esJVd1rlT9f+YSYrXle7cVhb3v5OMvfyJdVPpFzMiNPCVvTba5caKsXVvkbfVtxl91vL47yMZXtGWaeR6hsrzDz52TrM8jILay0vkm/62YzAegscw/+68VnZivRWDapV/Z85ZM0zjInM20lBsvHar5+2V5/VfkdKv+7UL7uZUc6lL22vR5+kip8TrbiNCcfy8+xZi/RVD4ZaP5s7I3KKBuru1UpKXX69GkVFBSoSZMmmj9/viZNmkRSCgBwXdxEAABcYcqUKfrtb3+rZ599Vs2bN/d2OH6vspWoXdkTylbya+EDXZT45mc2E0Bl2YujqvGVT7CVVb43VWWfh6NJuvLxVRaHma2ETd9bmul/Pz5vs9earc/A3nXKJxpctdBTZb3q7P2MKvss7SVpyg8BdDRGW4lBW7Gar7/iX+fsJmntnbsse3Uv39uqsgRwZYlXW59T2V5V5ZNt9pKB7cMb2P0/f71efa5WpaRUt27d9Mgjj+jOO++UyWTSSy+9pAYNbGfMnn32WZcGCADwX9xEAABcITs7WzNnznRLW7Jw4UK9+eab+uKLLxQaGqrevXtr0aJF6tCh8nmB0tLSNHPmTJ06dUqRkZGaM2eOJk2a5PL43MndK1Hb6r1hXsHvej2OXMHRBJutz8MVSbqqnMNWIqK6CbGyMnILnYi88mu5Mj539NJz5Nxly7gySetM8q6qn5OthJOtc1f1c7UXqyvnIbOlSkmp5ORk/elPf9K7774rg8GgDz74oMKKGNK1p94kpeDrMnILPZ79BWoqd95EAABqjgcffFB79uzRzTff7PJzp6Wl6YknntAdd9yhn3/+WXPnztXgwYP1+eefq379+jaPOX/+vIYNG6YJEyZo06ZN+ve//63JkyerWbNm+s1vfuPyGP1d+d4bvrI6my+x1/upup+TrR5AruLqeU/dOY9qVc7tjuu7I9nmaMLJ2d6FZYcGulOVklIdOnTQ1q1bJUm1atXSP//5T4WHh7s1MMAdyk8c6MovZcBTrrfyhi9x500EAKDmWLlypX7729/q448/VpcuXVSnTh2r/dOmTXP63KmpqVbv169fr/DwcB07dkx9+/a1ecyrr76qNm3aKCkpSZLUsWNHHT16VC+99FKNTkpd728UX128xdW9iHyJvR5A8BxvJ9u8eb6qcHj1vfKT1AL+pGwXYvPEboC/qMrKG77GnTcRAICaY/Pmzfrwww8VGhqqPXv2yGAwWPYZDAaXtid5edfmGQoLC7Nb5sCBAxo8eLDVtiFDhmjdunUqKSmp0N5JUlFRkYqKiizv8/PzXRSx911vnhtf5c5eRL7EV5OBgCTVcuag//73v5o6daoGDhyoQYMGadq0afrvf/9brUAWLlwog8GghIQEyzaTyaR58+YpMjJSoaGh6t+/v06dOmV1XFFRkaZOnaobbrhB9evX14gRI3T58mWrMjk5OYqPj5fRaJTRaFR8fLxyc3OrFS/8W9mJ3QB/YX7S9e7UO5U0+toKKr7+x575JiIlJUUrVqzQ0qVLLS/z02Vn7d27V/fdd58iIyNlMBj01ltvXfeYtLQ0xcTEqG7durrpppv06quvViiTkpKiTp06KSQkRJ06ddL27durFScAoPqefvppPffcc8rLy9NXX32l8+fPW15ffvmly65jMpk0c+ZM3XnnnYqOjrZbLisrq8LQ9ObNm+vnn3+2ubiHdO1+x3w/YjQa1bp1a5fF7W1l/0YxryA27rXDlvmjfDXZUzZuX3/QBwQqh5NSH374oTp16qTDhw/rtttuU3R0tA4dOqTOnTtr165dTgVx5MgRrVmzRrfddpvV9hdffFFLlizRypUrdeTIEUVERGjQoEG6cuWKpUxCQoK2b9+urVu3at++fbp69aqGDx9utaLTmDFjlJ6ertTUVKWmpio9PV3x8fFOxQr/kZFbqJMZeVYv5pKCv2vZOFTRLY0eWZ7VFdx5E1FQUKCuXbtq5cqVVSpvnv/jrrvu0okTJ/TUU09p2rRpSklJsZQ5cOCARo8erfj4eH3yySeKj4/XqFGjdOjQoWrFCgConuLiYo0ePVq1ajn1TL3KpkyZok8//VRbtmy5btmyvbWkawktW9vNEhMTlZeXZ3ldunSp+gH7EPPfKP1uaWZJ9PhDssccty/HCAQyh4fvPfnkk5oxY4ZeeOGFCtv/+Mc/atCgQQ6d7+rVq/r973+vtWvX6vnnn7dsN5lMSkpK0ty5c/XAAw9IkjZs2KDmzZtr8+bNevzxx5WXl6d169Zp48aNGjhwoCRp06ZNat26tXbv3q0hQ4bo9OnTSk1N1cGDB9WrVy9J0tq1axUXF6czZ85cd1UN+Kfyy8+W5ctPa4BA486biKFDh2ro0KFVLl+V+T+SkpI0aNAgJSYmSrp2A5GWlqakpKQq3aAAANxj3Lhx2rZtm5566im3XWPq1Kl6++23tXfvXrVq1arSshEREcrKyrLalp2drdq1a6tp06Y2jwkJCVFISIjL4nWWJx7SMlwMQFU5nJQ6ffq0/va3v1XY/uijjzo1FOOJJ57Qvffeq4EDB1olpc6fP6+srCyrsdohISHq16+f9u/fr8cff1zHjh1TSUmJVZnIyEhFR0dr//79GjJkiA4cOCCj0WhJSElSbGysjEaj9u/fT1IqQJWdO6p8jxIm+AM8xxM3EVVVlfk/Dhw4oBkzZlQoU1n7FshzhACArygtLdWLL76oDz/8ULfddluFOZuWLFni9LlNJpOmTp2q7du3a8+ePWrXrt11j4mLi9M777xjtW3nzp3q0aOHzfmkfEFlS9MDgLc4nJRq1qyZ0tPTFRUVZbU9PT3d4RX5tm7dquPHj+vIkSMV9pmfPNgaq33hwgVLmeDgYDVp0qRCGfPxWVlZNuMKDw+v8HSjLG4yAoN5+VkA3uHOmwhHXW/+jxYtWtgtU1l7sXDhQs2fP98tMQMArvnss8/UvXt3SdLJkyddeu4nnnhCmzdv1o4dO9SwYUPLd77RaFRo6LUHmYmJicrIyNDrr78uSZo0aZJWrlypmTNnasKECTpw4IDWrVvn071q3bE0PQBUl8NJqQkTJmjixIn68ssv1bt3bxkMBu3bt0+LFi3SrFmzqnyeS5cuafr06dq5c6fq1q1rt5ytsdr2xmnbK2Or/PXOw00GAFSfO28inFGV+T8cbXcSExM1c+ZMy/v8/PyAmrwWAHzBRx995LZzr1q1SpLUv39/q+3r16/Xww8/LEnKzMzUxYsXLfvatWun999/XzNmzNDLL7+syMhILV++3DIc3FcxrA6Ar3E4KfXMM8+oYcOGWrx4sWXOjcjISM2bN8+hpViPHTum7OxsxcTEWLaVlpZq7969Wrlypc6cOSPp2pPtFi1aWMpkZ2dbnmJHRESouLhYOTk5Vr2lsrOz1bt3b0uZb775psL1v/322wpPw8viJgMAqs+dNxGOqsr8H/bKVNZe+MocIQAQyDZt2qSHHnrI5r4//OEP+utf/+r0uc0PKCqTnJxcYVu/fv10/Phxp68LAHBi9T2DwaAZM2bo8uXLlpUjLl++rOnTp1+3B1NZAwYM0Geffab09HTLq0ePHvr973+v9PR03XTTTYqIiLBa0a+4uFhpaWmWhFNMTIzq1KljVSYzM1MnT560lImLi1NeXp4OHz5sKXPo0CHl5eVZytgSEhKiRo0aWb0AAI7ZtGmT3X1/+MMfPBjJtfag/Cqx5ef/sFemsvYCAOB+U6ZM0bvvvlth+4wZMyptawAAvs3hnlJlNWzYsFrHRkdHW22rX7++mjZtatmekJCgBQsWKCoqSlFRUVqwYIHq1aunMWPGSLo2znv8+PGaNWuWmjZtqrCwMM2ePVtdunSxrMbXsWNH3XPPPZowYYJWr14tSZo4caKGDx/OJOcA/J55BR1fnRdiypQpaty4sYYPH261fcaMGdq6dWu1nmxfvXpV586ds7w/f/680tPTFRYWpjZt2jg1/8f06dPVt29fLVq0SCNHjtSOHTu0e/du7du3z+k4AQDVt3XrVv3ud7/T22+/rb59+0q6tlrem2++6VO9cgEAjqlWUsrd5syZo8LCQk2ePFk5OTnq1auXdu7caZUMW7p0qWrXrq1Ro0apsLBQAwYMUHJysoKCgixl3njjDU2bNs2y6tKIESO0cuVKj9cHAFzF1go6u2f187nElDtvIo4ePaq7777b8t485HrcuHFKTk52av6P3r17a+vWrXr66af1zDPP6Oabb9a2bdusVnAFAHjePffco1dffVX333+/du7cqddee007duzQRx99pFtuucXb4QEAnORTSak9e/ZYvTcYDJo3b57mzZtn95i6detqxYoVWrFihd0yYWFhdOsFEFDKrqBzLvuqEralK6eg2OeSUu68iejfv3+l84A4O//Hgw8+qAcffLBasQEAXO93v/udcnJydOedd6pZs2ZKS0tT+/btvR0WAKAafCopBQCoOn9ZQYebCACAM8ouOlRWeHi4unfvrldeecWybcmSJZ4KyyeZh/MDgL9xKClVUlKiwYMHa/Xq1XSTBQDYxE0EAMAVTpw4YXP7zTffrPz8fMt+RxZbCjS2hvM3qR/s3aAAwAEOJaXq1KmjkydP1ugvfgBA5biJAAC4AhOYX1/Z4fyS7y58AgD2ODx8b+zYsVq3bp1eeOEFd8QDAPBz3EQAAOA5/jKcHwBscTgpVVxcrP/93//Vrl271KNHD9WvX99qP0MxAKBm+/TTTxUdHa1atWpVqfypU6fUoUMH1a7NNIcAgP9DewIAgc/hb+yTJ0/q9ttvlyT95z//sdrHUAx4W0ZuoWU1MqCmMf/ee7vrfvfu3ZWVlaVmzZpVqXxcXJzS09N10003uTkyAIA/oT0BgMDncFKKYRnwVRm5hRq4OE2FJaWSmOgRNYetSU53z+rntcSUyWTSM888o3r16lWpfHFxsZsjAgD4I9oTAAh8TvdtPXfunP773/+qb9++Cg0NlclkoqcUvKJs76jCklIlje6m9uENvN5bBPCUspOcnsu+qoRt6copKPba73/fvn115syZKpePi4tTaCj/VwEA1mhPACDwOZyU+v777zVq1Ch99NFHMhgMOnv2rG666SY99thjaty4sRYvXuyOOAGbbPWOuqNdGMko1Di+NMnpnj17vB0CACAA0J4AQOCr2qyBZcyYMUN16tTRxYsXrbrSjh49WqmpqS4NDrienIJiS++od6fe6dUhSwAAAAAAoOoc7im1c+dOffjhh2rVqpXV9qioKF24cMFlgQGOaB/eQNEtjd4OAwAAAAAAVJHDPaUKCgpsTjb43XffKSQkxCVBAQAAAAAAILA5nJTq27evXn/9dct7g8GgX375RX/961919913uzQ4AAAAAAAABCaHh+/99a9/Vf/+/XX06FEVFxdrzpw5OnXqlH744Qf9+9//dkeMAAAAACBJysnJ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kyts69evn44fP17pOR988EE9+OCDrgjPITXhZ0cdAwN1DAw1oY6Ockeb4g414WdHHQMDdQwM7q6jwRRI67kCAAAAAADAL9TydgAAAAAAAACoeUhKAQAAAAAAwONISgEAAAAAAMDjSEq5wCuvvKJ27dqpbt26iomJ0ccff1xp+bS0NMXExKhu3bq66aab9Oqrr3ooUuc5Usc333xTgwYNUrNmzdSoUSPFxcXpww8/9GC0znH052j273//W7Vr11a3bt3cG6ALOFrHoqIizZ07V23btlVISIhuvvlmvfbaax6K1jmO1vGNN95Q165dVa9ePbVo0UKPPPKIvv/+ew9F65i9e/fqvvvuU2RkpAwGg956663rHuOP3zeBjPbCGu2F76K9qIj2Ap5Ee2GN9sJ30V5URHvhIBOqZevWraY6deqY1q5da/r8889N06dPN9WvX9904cIFm+W//PJLU7169UzTp083ff7556a1a9ea6tSpY/rHP/7h4cirztE6Tp8+3bRo0SLT4cOHTf/5z39MiYmJpjp16piOHz/u4cirztE6muXm5ppuuukm0+DBg01du3b1TLBOcqaOI0aMMPXq1cu0a9cu0/nz502HDh0y/fvf//Zg1I5xtI4ff/yxqVatWqZly5aZvvzyS9PHH39s6ty5s+n+++/3cORV8/7775vmzp1rSklJMUkybd++vdLy/vh9E8hoLyqivfBNtBcV0V7Ak2gvKqK98E20FxXRXjiOpFQ19ezZ0zRp0iSrbbfeeqvpySeftFl+zpw5pltvvdVq2+OPP26KjY11W4zV5WgdbenUqZNp/vz5rg7NZZyt4+jRo01PP/206U9/+pPPNxqO1vGDDz4wGY1G0/fff++J8FzC0Tr+9a9/Nd10001W25YvX25q1aqV22J0lao0Gv74fRPIaC+qhvbC+2gvKqK9gCfRXlQN7YX30V5URHvhOIbvVUNxcbGOHTumwYMHW20fPHiw9u/fb/OYAwcOVCg/ZMgQHT16VCUlJW6L1VnO1LG8X375RVeuXFFYWJg7Qqw2Z+u4fv16/fe//9Wf/vQnd4dYbc7U8e2331aPHj304osvqmXLlrrllls0e/ZsFRYWeiJkhzlTx969e+vy5ct6//33ZTKZ9M033+gf//iH7r33Xk+E7Hb+9n0TyGgvaC9oL3wH7UVF/vZ9E8hoL2gvaC98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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# generate some random positions and velocities:\n", "generator = np.random.RandomState(seed=156)\n", "pos = generator.rand(3, 1000)\n", "vel = generator.rand(3, 1000) * 2 - 1.0\n", "\n", "# for the sake of example, let's imagine that the positions have units of kpc,\n", "# and that the velocities have units of km/s\n", "\n", "from pairstat import vsf_props # noqa: E402\n", "\n", "# separation bins\n", "dist_bin_edges = np.arange(101.0) / 100\n", "\n", "vsf_result_dict = vsf_props(\n", " pos_a=pos,\n", " val_a=vel,\n", " pos_b=None,\n", " val_b=None,\n", " dist_bin_edges=dist_bin_edges,\n", " stat_kw_pairs=[(\"omoment2\", {})],\n", " nproc=1,\n", ")[0]\n", "\n", "\n", "fig, ax_arr = plt.subplots(1, 3, figsize=(12, 4), sharex=True)\n", "\n", "plot_binned_data(ax_arr[0], dist_bin_edges, vsf_result_dict[\"counts\"])\n", "ax_arr[0].set_ylabel(\"Number of pairs\")\n", "plot_binned_data(ax_arr[1], dist_bin_edges, vsf_result_dict[\"mean\"])\n", "ax_arr[1].set_ylabel(r\"$\\langle|\\delta{\\bf v}|\\rangle\\ [{\\rm km}\\, {\\rm s}^{-1}]$ \")\n", "plot_binned_data(ax_arr[2], dist_bin_edges, vsf_result_dict[\"omoment2\"])\n", "ax_arr[2].set_ylabel(r\"$\\langle|\\delta{\\bf v}|^2\\rangle\\ [{\\rm km}^2\\, {\\rm s}^{-2}]$\")\n", "\n", "for ax in ax_arr:\n", " ax.set_xlabel(r\"$\\ell\\ [{\\rm kpc}]$\")\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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iLhK1MCBA/HUU09hxowZWL9+PQBg5syZiI2N5YpQRuK8CiIiIiICrJxYrF27FgAwevRoteObNm3C1KlTAQCLFi2CUqlEUlISKioqEBYWhkOHDqFjx45i+czMTDg7O2PixIlQKpUYM2YMcnNz4eTkJJbZvn075s6dK64eFRcXh1WrVpm3gm1Iw7wKIiIiImqbrJpYCILQahmJRIK0tDSkpaU1W8bd3R3Z2dnIzs5utoy3tze2bdtmSJhERERERNQKm5i8TURERERE9o2JBRERERERGY2JBRERERERGY2JBRERERERGY2JBRERERERGY2JBRERERERGY2JBRmstFKJy+XV1g6DiIiIiGyAVfexIPtVWqnE2I+KoKyrh4eLEzp7ulo7JCIiIiKyIiYWZJCKGhWUdfXIih+KEUHe6N7Jw9ohEREREZEVcSgUGaWvbwcmFURERETExIKIiIiIiIzHoVCkl9JKJSpqVJy0TURERERqmFiQzhpP2AbASdtEREREJGJiQTprPGG7r28HdPZ05fwKIiIiIgLAORakg9JKJUpKFeLwp76+HRDSXcqkgoisZs2aNQgKCoK7uztCQ0Nx5MiRFssXFRUhNDQU7u7u6N27N9atW6f2em5uLiQSicbjjz/+MGc1iIgcCnssqEUc/kREtiYvLw/JyclYs2YNRo0ahfXr12P8+PG4cOECevbsqVH+ypUrePrppzFjxgxs27YN3377LZKSktC1a1f813/9l1jOy8sLly5dUnuvu7u72etDROQomFhQizj8iYhszYoVK5CYmIjp06cDALKysnDw4EGsXbsWGRkZGuXXrVuHnj17IisrCwAwcOBAnDlzBv/4xz/UEguJRAJ/f3+L1IGIyBFxKBTphMOfiMgWqFQqFBcXIyYmRu14TEwMjh07pvU9x48f1yg/btw4nDlzBnV1deKx6upq9OrVCz169EBsbCzOnj1r+goQETkwJhZERGQ3bt++jfr6evj5+akd9/Pzg1wu1/oeuVyutfy9e/dw+/ZtAMCAAQOQm5uLffv2YefOnXB3d8eoUaPw448/NhtLbW0tqqqq1B5ERG0ZEwsiIrI7EolE7bkgCBrHWivf+Hh4eDhefvllPPLII3j88cfxP//zP+jXrx+ys7ObPWdGRgakUqn4CAwMNLQ6REQOgYkFERHZjS5dusDJyUmjd6K8vFyj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pairstat import twopoint_correlation\n", "\n", "# generate random density values (for the sake of argument,\n", "# imagine that they have units of cm^-3)\n", "dens = generator.rand(1000)\n", "\n", "# separation bins\n", "dist_bin_edges = np.arange(101.0) / 100\n", "\n", "corr_result_dict = twopoint_correlation(\n", " pos_a=pos,\n", " val_a=dens,\n", " pos_b=None,\n", " val_b=None,\n", " dist_bin_edges=dist_bin_edges,\n", " stat_kw_pairs=[(\"mean\", {})],\n", " nproc=1,\n", ")[0]\n", "\n", "fig, ax_arr = plt.subplots(1, 2, figsize=(8, 4), sharex=True)\n", "\n", "plot_binned_data(ax_arr[0], dist_bin_edges, corr_result_dict[\"counts\"])\n", "ax_arr[0].set_ylabel(\"Number of pairs\")\n", "plot_binned_data(ax_arr[1], dist_bin_edges, corr_result_dict[\"mean\"])\n", "ax_arr[1].set_ylabel(r\"$\\xi\\ [{\\rm cm}^{-6}]$ \")\n", "\n", "for ax in ax_arr:\n", " ax.set_xlabel(r\"$\\ell\\ [{\\rm kpc}]$\")\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also evaluate the equivalent of \"cross-vsf\" and cross-correlation between 2 different collections of data. Suppose we have 2 separate collections of points (collection $a$ and collection $b$). This is equivalent to:\n", "\n", "$$\n", "\\langle|\\delta {\\bf v}|^n\\rangle_{\\rm cross}(\\ell) = \n", " \\frac{\\sum_i^{N_a} \\sum_j^{N_b} W_\\ell(|{\\bf r}_{a,i}-{\\bf r}_{b,j}|) |{\\bf v}({\\bf r}_{a,i}) - {\\bf v}({\\bf r}_{b,j})|^n }{\\sum_i^{N_a} \\sum_j^{N_b} W_\\ell(|{\\bf r}_{a,i}-{\\bf r}_{b,j}|)}\n", "$$\n", "\n", "$$\n", "\\xi_{\\rm cross}(\\ell) = \n", " \\frac{\\sum_i^{N_a} \\sum_j^{N_b} W_\\ell(|{\\bf r}_{a,i}-{\\bf r}_{b,j}|) \\rho({\\bf r}_{a,i})\\rho({\\bf r}_{b,j}) }{\\sum_i^{N_a} \\sum_j^{N_b} W_\\ell(|{\\bf r}_{a,i}-{\\bf r}_{b,j}|)}\n", "$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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S5JCQkLk6uqqhIQETZo0SZKUnp6uY8eO6YUXXpAkhYaGKicnR1988YUGDhwoSTp8+LBycnJMiavQ0FA9++yzSk9PN9179+7dcnd3V0hISKXxuLu7y93d3WbtRd2lZRdo5LJEFRRf3o3R09VFPl5uDo4KQE1t2rRJmzdvVmBgoMLDwzV16lRdc801jg4LAFDPmLoNAE2T1Umpc+fOadKkSfrss89kMBh08uRJXXXVVbr//vvVunVrLVu2rMb3ysvL06lTp0zHp0+fVkpKinx9feXr66vFixfrrrvuUvv27fXvf/9bjz76qNq2bas77rhDkuTt7a0ZM2Zo4cKFatOmjXx9fbVo0SL17t3btBtfz549deutt2rmzJlat26dJOmBBx7QuHHj1KNHD0lSWFiYevXqpfDwcL344os6f/68Fi1apJkzZ7LzXiOXlV+kguISxUzuq65+LeTj5aYOrT0dHRaAGho2bJiSkpKUlpampUuXaunSpRowYIDuvfdeTZ48Wa1bt3Z0iACAesDUbQBomqzefW/BggVydXVVamqqrrjiClP55MmTFR8fb9W9jhw5on79+qlfv36SpMjISPXr109PPPGEXFxc9M0332jixInq3r27pk2bpu7du+vgwYNq2bKl6R4rVqzQ7bffrkmTJmno0KG64oortH37drm4uJjqvPvuu+rdu7fCwsIUFham6667Tu+8847pvIuLiz7++GN5eHho6NChmjRpkm6//Xa99NJL1r48aKC6+rVQcAdvElJokk5l5ulYWo7SsgscHYrV9u7dqzNnzmjFihWm0a5ffPGFZs+ebbZjKgDAefz5z39WQkKCjEajo0MBANiY1SOldu/erV27dlXYKaNbt2766aefrLrXiBEjquxsdu3aVe09PDw8tGrVKq1atarSOr6+vtqwYUOV9+ncubN27NhR7fMBQGPh4+UmT1cXRcSlSLo8fXXPwuGNLjnbvn17zZ8/X/Pnz9fHH3+smTNnKiMjw2z3UwCA82DqNgA0HVaPlMrPzzcbIVXq7NmzrK8EAA1Ih9ae2rNwuHbMvUExk/uqoLhEWflFjg7LaidPntQzzzyj3r17a8KECabNK1q0aOHgyAAAtjBs2DAZDAbT1O1rr71WgwcP1rp165SdnV2ne+/bt0/jx49XYGCgDAaDPvzww2qvSUxMVEhIiDw8PHTVVVfp1VdfrVBny5Yt6tWrl9zd3dWrVy9t3bq1TnECQFNhdVJq2LBhevvtt03HBoNBly5d0osvvqibbrqpXoMDANRNh9aeCu7gra5+jTOBExISomuuuUZPPvmkvv32W0mXR9nGxsYqPT3dwdEBAGzBllO38/Pz1adPH61evbpG9U+fPq3bbrtNN954o44ePapHH31U8+bN05YtW0x1Dh48qMmTJys8PFxff/21wsPDNWnSpAq7ewMAKrJ6+t6LL76oESNG6MiRIyoqKtLDDz+sb7/9VufPn9fnn39uixgBAE3U0aNHJV2eIj516lRNnTpVnTp1cnBUAABbs9XU7TFjxmjMmDE1rv/qq6+qc+fOiomJkXR5E6UjR47opZde0l133SVJiomJ0ahRoxQVFSVJioqKUmJiomJiYrRp06Y6xQsAzs7qpFSvXr30z3/+U2vXrpWLi4vy8/N15513as6cOWrfvr0tYgSslpZdoKz8Ip3KzHN0KADq4IEHHtC0adMUGhrq6FAAAHZ08uRJxcXFKS4uTsePHzeV23vq9sGDBxUWFmZWNnr0aK1fv17FxcVydXXVwYMHtWDBggp1ShNZlhQWFpol2HJzc+s1bgBoLKxOSklSQECAlixZUt+xAPUiLbtAI5clqqC4RNLlxZ19vNwcHBUAayxfvlzXX3+9Xn31VeXn5+vFF1/Uf/7zH1177bW666675OPj4+gQAQA2EhISopSUFEmS0WiUwWDQiBEjNG3aNN199912jSUjI0P+/v5mZf7+/rp48aLOnj2r9u3bV1onIyOj0vtGR0fzeQoAVMukVFZWltavX68TJ07IYDCoZ8+euvfee+Xr61vf8QFWy8ovUkFxiWIm91VXvxby8XJrdLuNAU3d8uXLTTui/vGPf9S3334rb29vrVu3TvPmzdPq1at13333OThKAIAtNLSp2waDwey4dPfwsuWW6pQvKysqKkqRkZGm49zcXKanA2iSrE5KJSYmauLEiWrVqpX69+8vSVq5cqWeeuopffTRRxo+fHi9BwnURle/Fgru4O3oMADUwq+//ip/f3/9+9//1jXXXKPt27dLkgoKCvTaa69p7ty5at++vVXrggAAGoeGNHU7ICCgwoinzMxMNW/eXG3atKmyTvnRU2W5u7uzczkAqBZJqTlz5mjSpEmmNaUkqaSkRLNnz9acOXN07Nixeg8S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9926++676yM8qzj7z87Z2yc5fxudvX2S87fR1u0zGBvLHq4AAAAAAABwGs0cHQAAAAAAAACaHpJSAAAAAAAAsDuSUgAAAAAAALA7klJ2smbNGgUFBcnDw0MhISHav39/lfUTExMVEhIiDw8PXXXVVXr11VftFGntWNO+Dz74QKNGjVK7du3UqlUrhYaGateuXXaM1nrW/vxKff7552revLn69u1r2wDrgbVtLCws1GOPPaYuXbrI3d1dV199td544w07RWs9a9v37rvvqk+fPrriiivUvn173XvvvTp37pydorXOvn37NH78eAUGBspgMOjDDz+s9prG9h7j7Ogj/oc+omGijzBHHwF7oo/4n8bYR0jO30/QR5ijj7CSETa3efNmo6urq/H11183Hj9+3Dh//nyjl5eX8aeffrJY/8cffzReccUVxvnz5xuPHz9ufP31142urq7G999/386R14y17Zs/f75x6dKlxi+++ML4r3/9yxgVFWV0dXU1fvXVV3aOvGasbV+p7Oxs41VXXWUMCwsz9unTxz7B1lJt2jhhwgTjoEGDjAkJCcbTp08bDx8+bPz888/tGHXNWdu+/fv3G5s1a2Z8+eWXjT/++KNx//79xmuvvdZ4++232znymtm5c6fxscceM27ZssUoybh169Yq6ze29xhnRx9hjj6i4aGPMEcfAXuijzDX2PoIo9H5+wn6CHP0EdYjKWUHAwcONM6aNcus7JprrjE+8sgjFus//PDDxmuuucas7MEHHzQOHjzYZjHWhbXts6RXr17GJUuW1Hdo9aK27Zs8ebLxb3/7m/HJJ59s0B2J0Wh9Gz/55BOjt7e38dy5c/YIr86sbd+LL75ovOqqq8zKVq5caezYsaPNYqwvNelMGtt7jLOjj6gefYRj0UeYo4+APdFHVK8h9xFGo/P3E/QR5ugjrMf0PRsrKipScnKywsLCzMrDwsJ04MABi9ccPHiwQv3Ro0fryJEjKi4utlmstVGb9pV36dIlXbhwQb6+vrYIsU5q274333xTP/zwg5588klbh1hntWnjRx99pP79++uFF15Qhw4d1L17dy1atEgFBQX2CNkqtWnfkCFD9PPPP2vnzp0yGo365Zdf9P7772vs2LH2CNnmGtN7jLOjj6gefYRj0UdURB8Be6GPqF5D7iMk5+8n6CMqoo+wXvP6CAyVO3v2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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# generate the other points\n", "generator_b = np.random.RandomState(seed=5242)\n", "pos_b, vel_b = generator_b.rand(3, 2000), generator_b.rand(3, 2000) * 2 - 1.0\n", "\n", "# stat_kw_pairs can technically accept multiple values\n", "# - this function returns a list where the ith entry\n", "# corresponds to a dictionary which holds data for\n", "# the ith entry of stat_kw_pairs\n", "result_dict = vsf_props(\n", " pos_a=pos,\n", " pos_b=pos_b,\n", " val_a=vel,\n", " val_b=vel_b,\n", " dist_bin_edges=dist_bin_edges,\n", " stat_kw_pairs=[(\"omoment2\", {})],\n", " nproc=1,\n", ")[0]\n", "\n", "fig, ax_arr = plt.subplots(1, 3, figsize=(12, 4), sharex=True)\n", "\n", "plot_binned_data(ax_arr[0], dist_bin_edges, result_dict[\"counts\"])\n", "ax_arr[0].set_ylabel(\"Number of pairs\")\n", "plot_binned_data(ax_arr[1], dist_bin_edges, result_dict[\"mean\"])\n", "ax_arr[1].set_ylabel(r\"$\\langle|\\delta{\\bf v}|\\rangle_{\\rm cross}$\")\n", "plot_binned_data(ax_arr[2], dist_bin_edges, result_dict[\"omoment2\"])\n", "ax_arr[2].set_ylabel(r\"$\\langle|\\delta{\\bf v}|^2\\rangle_{\\rm cross}$\")\n", "\n", "for ax in ax_arr:\n", " ax.set_xlabel(r\"$\\ell$\")\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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9a9/YeHChdaIh4iInMTmzZsBAL/++iuUSiU6deqE0NBQ3LhxAxEREejXrx9++OEHLF682MaREhGRuYxOKlJSUjB+/HhkZWWhb9++cHNz03p+xYoVFguOqCXFFTXcm4LIzrm5uWHQoEHi47///e8YOnQo9u7di2effRYzZsywYXRERGQJRicVS5cuxd69exEWFgYAOgu1iVqL5v4U3JuCyLHExMQgJibG1mEQEZGFGJ1UrFixAh999BGmT59uhXCIDKe5P8WgEB/uTUFERERkI0avtpbJZPx2iexKL78OTCiIiIiIbMjopGLu3LlIS0uzRixEBimuqEFhsYprKYiIiIjshNHTn44dO4ZvvvkGu3fvxt13362zUPvTTz+1WHBEjWmuowDAtRREREREdsDopKJTp0549NFHrRELUYs011H08usAb08ppz4RERER2ZjRScWmTZusEQeRUXr5dUBEN7mtwyAiIiIimLCmgoiIiIiISJPRIxUhISHN7kfx66+/mhUQERERERE5FqOTisTERK3HdXV1OHHiBLKysvD3v//dUnEREREREZGDMDqpmDt3rt7j77//Po4fP252QERERERE5FgstqZi7Nix2LFjh6VOR6SFe1MQUXPWrl2LkJAQuLu7IzIyEocPH26ybUlJCaZOnYqwsDC4uLjojMA32LFjB8LDwyGTyRAeHo6dO3daKXoiIsdnsaTi3//+N3x8fCx1OiJRw94U49NykZip5N4URKQlMzMTiYmJePnll3HixAncd999GDt2LIqKivS2V6vV6NKlC15++WXcc889etvk5+cjLi4OCoUCP/zwAxQKBaZMmYKjR49asytERA7L6OlPAwYM0FqoLQgCSktLceXKFaxdu9aiwREB3JuCiJq3YsUKzJgxA8888wwAIDU1FXv37sW6deuQkpKi0/6OO+7AqlWrAAAfffSR3nOmpqZi1KhRSE5OBgAkJyfj4MGDSE1Nxfbt263UEyIix2V0UjF58mStxy4uLujSpQtGjBiBu+66y1JxEeng3hRE1FhtbS0KCgqwcOFCreOxsbHIy8sz+bz5+fl44YUXtI6NHj0aqampTb5GrVZDrVaLjysrK01+fyIiR2N0UvH6669bIw4iIiKjXb16FfX19fD399c67u/vj9LSUpPPW1paavQ5U1JSsHjxYpPfk4jIkXHzOyIicniN908SBKHZPZWscc7k5GSoVCrx5+LFi2a9PxGRIzF4pMLFxaXFC7REIsHNmzfNDooIuL1Au7y6lhWfiKhJvr6+cHV11RlBKCsr0xlpMEZAQIDR55TJZJDJZCa/JxGRIzM4qWiulF5eXh7S0tIgCIJFgiJqqPhUU1cPAKz4RER6SaVSREZGIicnB4888oh4PCcnB5MmTTL5vNHR0cjJydFaV5GdnY2hQ4eaFS8RkbMyOKnQd3H++eefkZycjC+++AJPPPEE3njjDYsGR20XKz4RkaGSkpKgUCgwcOBAREdH44MPPkBRURFmzZoF4Pa0pOLiYnzyySfia5RKJQCgqqoKV65cgVKphFQqRXh4OIDbG73ef//9eOeddzBp0iTs2rUL+/btQ25ubqv3j4jIERi9UBsAfv/9d7z++uv4+OOPMXr0aCiVSkRERFg6NiJWfCKiFsXFxeHatWtYsmQJSkpKEBERgT179iA4OBjA7c3uGu9ZMWDAAPHPBQUF2LZtG4KDg3HhwgUAwNChQ5GRkYFXXnkFr776Ku68805kZmZiyJAhrdYvIiJHYlRSoVKpsHTpUqSlpaF///74+uuvcd9991krNiIiIoMkJCQgISFB73Pp6ek6xwyZrvv444/j8ccfNzc0IqI2weDqT++++y569uyJ3bt3Y/v27cjLyzM7oTh06BAmTJiAwMBASCQSfPbZZ1rPC4KARYsWITAwEB4eHhgxYgROnjyp1UatVmP27Nnw9fWFp6cnJk6ciEuXLmm1KS8vh0KhgFwuh1wuh0KhQEVFhVaboqIiTJgwAZ6envD19cWcOXNQW1trVv+IiIiIiNoCg0cqFi5cCA8PD/Tq1Qsff/wxPv74Y73tPv30U4PfvLq6Gvfccw+eeuopPPbYYzrPv/vuu1ixYgXS09PRu3dvvPnmmxg1ahTOnDmDjh07AgASExPxxRdfICMjA507d8a8efMwfvx4FBQUwNXVFQAwdepUXLp0CVlZWQCAmTNnQqFQ4IsvvgAA1NfXY9y4cejSpQtyc3Nx7do1TJs2DYIgIC0tzeD+EBERERG1RQYnFU8++aTZNb8bGzt2LMaOHav3OUEQkJqaipdffhmPPvooAODjjz+Gv78/tm3bhmeffRYqlQobN27E5s2bMXLkSADAli1bEBQUhH379mH06NE4ffo0srKycOTIEXEu7Icffojo6GicOXMGYWFhyM7OxqlTp3Dx4kUEBgYCAJYvX47p06fjrbfegpeXl0X7Tc0rrqhhGVkiIiIiB2JwUqFvTqo1nT9/HqWlpYiNjRWPyWQyDB8+HHl5eXj22WdRUFCAuro6rTaBgYGIiIhAXl4eRo8ejfz8fMjlcq3FdVFRUZDL5cjLy0NYWBjy8/MREREhJhQAMHr0aKjVahQUFOCBBx7QG6NarYZarRYfV1ZWWvJX0CZplpJlGVkiIiIix2C3O2o3bDrUeKMhf39/8bnS0lJIpVJ4e3s328bPz0/n/H5+flptGr+Pt7c3pFKpzuZHmlJSUsR1GnK5HEFBQUb2khrTLCW7b95wlpElIiIicgB2m1Q0aDzlShCEFqdhNW6jr70pbRpLTk6GSqUSfy5evNhsXGS4Xn4dmFAQEREROQi7TSoCAgIAQGekoKysTBxVCAgIQG1tLcrLy5ttc/nyZZ3zX7lyRatN4/cpLy9HXV2dzgiGJplMBi8vL60fIiIiIqK2xm6TipCQEAQEBCAnJ0c8Vltbi4MHD2Lo0KEAgMjISLi5uWm1KSkpQWFhodgmOjoaKpUKx44dE9scPXoUKpVKq01hYSFKSkrENtnZ2ZDJZIiMjLRqP+m24ooaFBaruECbiIiIyAGZtKO2pVRVVeHcuXPi4/Pnz0OpVMLHxwc9evRAYmIili5ditDQUISGhmLp0qVo3749pk6dCgCQy+WYMWMG5s2bh86dO8PHxwfz589H3759xWpQffr0wZgxYxAfH48NGzYAuF1Sdvz48QgLCwMAxMbGIjw8HAqFAsuWLcP169cxf/58xMfHc/ShFWguzgbABdpEREREDsamScXx48e1KislJSUBAKZNm4b09HQsWLAANTU1SEhIQHl5OYYMGYLs7GxxjwoAWLlyJdq1a4cpU6agpqYGDz30ENLT08U9KgBg69atmDNnjlglauLEiVizZo34vKurK7788kskJCQgJiYGHh4emDp1Kt577z1r/woI2ouze/l1gLenlOspiIiIiByITZOKESNGQBCEJp+XSCRYtGgRFi1a1GQbd3d3pKWlNbtJnY+PD7Zs2dJsLD169MDu3btbjJmsp5dfB0R0k9s6DCIiIiIykt2uqSAiIiIiIsfApIKIiIiIiMzCpIKIiIiIiMxi0zUV1LYVV9SgvLqWZWSJiIiIHByTCrIJlpElIiIich5MKsgmWEaWiIiIyHkwqSCbYhlZIiIiIsfHhdpERERERGQWJhVERERERGQWTn+iVsWKT0RERETOh0kFtRpWfCIiIiJyTkwqqNWw4hMRERGRc2JSQa2OFZ+IiIiInAsXahMRERERkVmYVBARERERkVmYVBARERERkVmYVBARERERkVm4UJusjntTEBERETk3JhVkVdybgoiIiMj5Makgq+LeFERERETOj0kFtQruTUFERETkvLhQm4iIiIiIzMKkgoiIiIiIzMKkgoiIiIiIzMKkgqymuKKGZWSJiIiI2gAu1Car0CwlyzKyRERERM6NSQVZhWYp2UEhPiwjS0REROTEOP2JrKqXXwcmFEREREROjkkFERERERGZhdOfyKKKK2pQXl3LBdpEREREbQiTCrIYzcXZALhAm4iIiKiNYFJBFqO5OLuXXwd4e0q5noKIiIioDWBSQRbXy68DIrrJbR0GEREREbUSLtQmIiIiIiKzMKkgIiIiIiKzMKkgsxVX1KCwWMWKT0RkM2vXrkVISAjc3d0RGRmJw4cPN9v+4MGDiIyMhLu7O3r27In169drPZ+eng6JRKLz8+eff1qzG0REDotrKsgsrPhERLaWmZmJxMRErF27FjExMdiwYQPGjh2LU6dOoUePHjrtz58/j4cffhjx8fHYsmULvv32WyQkJKBLly547LHHxHZeXl44c+aM1mvd3d2t3h8iIkfEpILMwopPRGRrK1aswIwZM/DMM88AAFJTU7F3716sW7cOKSkpOu3Xr1+PHj16IDU1FQDQp08fHD9+HO+9955WUiGRSBAQENAqfSAicnSc/kQW0VDxiQkFEbWm2tpaFBQUIDY2Vut4bGws8vLy9L4mPz9fp/3o0aNx/Phx1NXViceqqqoQHByM7t27Y/z48Thx4oTlO0BE5CSYVBARkcO6evUq6uvr4e/vr3Xc398fpaWlel9TWlqqt/3Nmzdx9epVAMBdd92F9PR0fP7559i+fTvc3d0RExODs2fPNhmLWq1GZWWl1g8RUVvBpIKIiByeRCLReiwIgs6xltprHo+KisLf/vY33HPPPbjvvvvwz3/+E71790ZaWlqT50xJSYFcLhd/goKCTO0OEZHDseukYtGiRTqVNzTntwqCgEWLFiEwMBAeHh4YMWIETp48qXUOtVqN2bNnw9fXF56enpg4cSIu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# generate random density values (for the sake of argument,\n", "# imagine that they have units of cm^-3)\n", "dens_b = generator_b.rand(2000)\n", "\n", "corr_result_dict = twopoint_correlation(\n", " pos_a=pos,\n", " val_a=dens,\n", " pos_b=pos_b,\n", " val_b=dens_b,\n", " dist_bin_edges=dist_bin_edges,\n", " stat_kw_pairs=[(\"mean\", {})],\n", " nproc=1,\n", ")[0]\n", "\n", "fig, ax_arr = plt.subplots(1, 2, figsize=(8, 4), sharex=True)\n", "\n", "plot_binned_data(ax_arr[0], dist_bin_edges, corr_result_dict[\"counts\"])\n", "ax_arr[0].set_ylabel(\"Number of pairs\")\n", "plot_binned_data(ax_arr[1], dist_bin_edges, corr_result_dict[\"mean\"])\n", "ax_arr[1].set_ylabel(r\"$\\xi\\ [{\\rm cm}^{-6}]$ \")\n", "\n", "for ax in ax_arr:\n", " ax.set_xlabel(r\"$\\ell\\ [{\\rm kpc}]$\")\n", "\n", "fig.tight_layout()" ] } ], "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.13.5" } }, "nbformat": 4, "nbformat_minor": 4 }