Created
December 13, 2025 19:47
-
-
Save adrn/ec1cb7d9f46d162dd63200c7c386a811 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "id": "02d68a5a", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "from collections import defaultdict\n", | |
| "import astropy.table as at\n", | |
| "import numpy as np\n", | |
| "import jax\n", | |
| "import jax.numpy as jnp\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "import numpyro.distributions as dist\n", | |
| "from numpyro_ext import distributions as distx\n", | |
| "\n", | |
| "%matplotlib inline\n", | |
| "jax.config.update(\"jax_enable_x64\", True)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "a5a2bca6", | |
| "metadata": {}, | |
| "source": [ | |
| "## Setup\n", | |
| "\n", | |
| "We observe radial velocity data $v$ for a set of $N$ sources at distinct observation times $t$. Let's assume that the sources observed are the luminous star in a bunch of binary systems where the companions are nonluminous (i.e., SB1 systems). For simplicity, we enforce that the orbits are circular, the eccentricities are zero, the systemic velocities are zero, and the angles are all zero. For this simplified model, the radial velocity data for a given source is generated by the model: \n", | |
| "$$\n", | |
| "v(t) = K \\, \\cos(2\\pi t / P)\n", | |
| "$$\n", | |
| "where $K$ is the semi-amplitude and $P$ is the period of the orbit. The data are also noisy, with varied quality, but all Gaussian noise. Let's simulate some data.\n", | |
| "\n", | |
| "First, we generate the \"true\" parameters for each star:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "fcbc872d", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "n_stars = 1024\n", | |
| "\n", | |
| "rng = np.random.default_rng(seed=12345)\n", | |
| "\n", | |
| "# number of observations per star\n", | |
| "n_times = np.exp(rng.uniform(np.log(3), np.log(100), size=n_stars)).astype(int)\n", | |
| "time_baseline = 100.0\n", | |
| "\n", | |
| "# period values per star\n", | |
| "max_period = 500.0\n", | |
| "true_periods = np.exp(rng.uniform(np.log(1.0), np.log(max_period), n_stars))\n", | |
| "\n", | |
| "# amplitudes\n", | |
| "true_amps = rng.choice([-1, 1], size=n_stars) * np.exp(\n", | |
| " rng.uniform(-1, 1.0, size=n_stars)\n", | |
| ")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "54845ba8", | |
| "metadata": {}, | |
| "source": [ | |
| "We now have to define what we mean by \"binary fraction\" to get the true binary fraction of the sample. This amounts to some selection in the physical parameters. In the case of real systems, this might be a selection on periods (to get \"close-binaries\") and a selection on companion mass (i.e. to distinguish stellar-mass companions vs. others). Here, we will just define a selection on the period and semi-amplitude:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "4478d1b1", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "True binary fraction: 0.341\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "binary_max_period = time_baseline\n", | |
| "binary_min_amp = 1.0\n", | |
| "true_binary_frac = (\n", | |
| " np.sum((true_periods < binary_max_period) & (np.abs(true_amps) > binary_min_amp))\n", | |
| " / n_stars\n", | |
| ")\n", | |
| "print(f\"True binary fraction: {true_binary_frac:.3f}\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "8c014dc6", | |
| "metadata": {}, | |
| "source": [ | |
| "Now we can generate the radial velocity data for each star, including noise:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "cf0f9662", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "rv_data = defaultdict(list)\n", | |
| "for i in range(n_stars):\n", | |
| " # Generate random times for each star\n", | |
| " rv_data[\"time\"].append(np.sort(rng.uniform(0, time_baseline, size=n_times[i])))\n", | |
| "\n", | |
| " # Generate random radial velocities for each star\n", | |
| " rv_data[\"rv_err\"].append(np.exp(rng.uniform(-1, 1.0, size=n_times[i])))\n", | |
| " rv_data[\"rv\"].append(\n", | |
| " true_amps[i] * np.cos(2 * np.pi * rv_data[\"time\"][i] / true_periods[i])\n", | |
| " + rng.normal(scale=rv_data[\"rv_err\"][i], size=n_times[i])\n", | |
| " )" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "id": "85e2cfb7", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAABtAAAASQCAYAAABlBgtIAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAWJQAAFiUBSVIk8AABAABJREFUeJzs3QeYXVW5OO5vkpBAAkloAoYS0NAEBEIE9CoCUrxXASEC0kQggkIEVBQIvRiKCCJXUEGk+MDFSBMQJZQrTRG49GKQUBMDCSSBUNLm/6z9+5/xZDIzOTNz9qnv+zznOWWXs+bMPnvts761vtXS2traGgAAAAAAAECmz/+7AwAAAAAAABIBNAAAAAAAACgigAYAAAAAAABFBNAAAAAAAACgiAAaAAAAAAAAFBFAAwAAAAAAgCICaAAAAAAAAFBEAA0AAAAAAACKCKABAAAAAABAEQE0AAAAAAAAKCKABgAAAAAAAEUE0AAAAAAAAKBIv+InNI/hw4fH7NmzY+211652UQCooMmTJ8fgwYPjpZde6vW+1CUAzUt9AkA5qE8AqLX6pJgAWpNKFxQffPBBr/YxadKk7H7EiBFlKhVUhmOXZj52e3vuL3ddkvhOUq8cu9Qr9QnUFscu9Up9ArXFsUu9mlRj9UkxAbQmVeiN88gjj/R4HzvssEN2f8cdd5StXFAJjl2a+dgdOXJkTdUlie8k9cqxS71Sn0BtcexSr9QnUFscu9SrHWqsPilmDjQAAAAAAAAoIoAGAAAAAAAARQTQAAAAAAAAoIgAGgAAAAAAABQRQAMAAAAAAIAi/SJHe++9d1x77bV5vkVd+9nPfhZDhgyJAw44oKT1Z82alX2ejz/+ePTv3z/mzp0b6667buy7776x8sor515eAAAAAACAZpDrCLTf//73WZCHxb3xxhtx1113lbz+a6+9Focddlh8+OGHccEFF2S3FIBbaaWV4tBDD41nnnkm1/ICAAAAAAA0i1wDaAsWLIgJEybk+RZ1p7W1NZ566qk49thj49133y1pm9mzZ8e4ceNi2WWXjSOOOCIbfZb07ds39ttvvxgxYkScfPLJMXXq1JxLDwAAAAAA0PhyTeGYjBkzJks9ePDBB7cFfppRCiQ++OCD2WcxZ86cmD59esnb/vKXv4wpU6bEN7/5zejTZ/GY50477RTjx4+P888/P84555wylxwAAAAAAKC55DoCLXn//ffj8MMPj1VWWSX22WefuO6660oeedVIRo8eHeedd15ceumlWaCrVClwNnHixOzxJpts0uE6hdf/7//+L5544okylRgAAAAAAKA55R5AS6Om0sirX/3qVzF48OD43ve+FyuvvHL853/+Zzayatq0aXkXoa7dfvvtWSrMlpaWWHPNNTtcJ82Dttxyy2WPb7311gqXEAAAAAAAoLHkGkBLc3T993//d2y55ZbZCKxLLrkkXn311bj//vtjq622yoJqq6++enz605/OUg/+4x//yLM4denhhx/O7ocMGRLLLLNMp+utttpq2f2jjz6azbMGAAAAAABADc6B9q1vfSsLorW3+eabZ7eTTjoppk6dGrfcckvcfPPNccopp8Tw4cNj1113jd122y0LvDWzlP7yhRdeyB4PHTq0y3ULy2fOnBmvvPJKrLXWWkvc/6RJk2KHHXYoU2kBqJTenLvTuX/EiBFlK0tv65I77rijbGUBoHvUJwCUg/oEgEarTyoyAu3CCy9c4jpp5NSYMWPiD3/4Q0yfPj3OPvvsmDFjRnzlK1+JYcOGZUG4P/3pTzF//vxoNm+99VbbaLKuRp8lAwcObHucPj8AAAAAAABqcARady211FJZwOjdd9+Nd955J+bMmZPNk5ZuaY6vL37xi1lgLd0X5vxqZLNmzWp73K9f1/+q4uXF23UlRWT1rKEZOe5p5mN35MiRUU7lqEt8J6lXjl3qlfoEaotjl3qlPoHa4tilXt1Rg/VJRUagPfXUU0tcJ40su/XWW+PrX/96rLzyylmA7H/+53/ivffey5angFoafbXzzjtH//7949vf/na2XgqiTZgwoaHn+xowYEDb44ULF3a5bvHy4u0AAAAAAACooRFon/rUp9oCYcUWLFgQEydOjOuuuy5uvPHGbN6upDgYloJAKUi29957x5e+9KW2FIUpUPSXv/wlbrjhhjj00EPjjDPOyPaR5k5rNMsvv3zb43nz5nW57ty5czvcDgAAAAAAgBoKoH344YdZKsaUbjEFx+66664saHb99ddn83u1D5qlFI477rhj7LXXXrHrrrt2mKaxT58+8fnPfz67jR8/Po4++ujYcsst46GHHoq11lorGsnQoUOzzyB9hrNnz+5y3cLy9PmkueMAAAAAAACowQBaCo6lQNcqq6wSDz/8cMyYMaPt9YK+ffvGdtttl400S+kbU9CoVGlU2i9+8Yv417/+FePGjYurr746GkkKhm266aZx7733xttvv519bi0tLR2uW/hsU67nwYMHV7ikAAAAAAAAjSPXAFry2GOPLRY0S4Ghz33uc9lIsz322CNWWmmlXr3HV7/61WwkWiP6zGc+kwXQ0mi+N998Mz7ykY8stk5K75iCiMmnP/3pKpQSAAAAAACgceQeQEsKI6e23nrrbKTZ6NGjY9VVV+3x/u68885s/rOUBnK33XbLgkdz5syJRpRG8F155ZUxZcqUeP755zsMoE2aNCmbVy6le0ypLwEAAAAAAOi5PpGzpZdeOn74wx/GSy+9FPfdd18cccQRvQqeJSeddFK8+OKLMXPmzLjiiiviT3/6U3zqU5+KRpRSXB5yyCHZ47/+9a8drlN4fb/99otBgwZVtHwAAAAAAACNJvcA2q233hrjx4+PNdZYo2z7HDZsWHafRrWl0W1pLrRzzz036kVKx1gwd+7cJa7/2c9+Nvbdd9+45557YvLkyYssS2kd02e80047xe67755LeQEAAAAAAJpJrikcl1pqqSwFYblddNFF2cisxx9/PNZff/0466yzYt11141aNmHChHjwwQezx9OnT297/aabbopnnnkmCwb269cvzj777A63P/DAA2PAgAFxwgknZGkahw8fHlOnTo3rr78+dtxxx7ZRagAAAAAAANRwAG3jjTfOZb9pHrBrrrkm6kma9y3deuNrX/ta7LzzzvH3v/89XnjhhRg6dGg28q6jedEAAAAAAACowQDaww8/nOfum9Lyyy+fjTgDAAAAAACgTudA646ZM2fGvHnzql0MAAAAAAAAmliuAbTf/va33Vr/5z//eey5556x1VZbxQ477JDNbTZt2rTcygcAAAAAAAAVDaCNGTOmW+sff/zxccMNN8Rf//rXLJh2++23x/rrrx9PPfVUbmUEAAAAAACAigXQWltbe7ztiBEj4vrrr48PPvggxo0bV9ZyAQAAAAAAQFUCaC0tLb3afoUVVoiVV145HnjggbKVCQAAAAAAALrSL2rYww8/HK+99losvfTS1S4KAAAAAAAATaJXAbTTTjuty+Xz589f4jodmTt3bkyaNCluueWWbBTbJpts0otSAgAAAAAAQIUCaJMnT46FCxfGO++8Ey+88EI888wz2fPi1I2n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pfnLvvzlL0dLS0vb62nU2XrrrZc9/u53vxu/+MUvYtq0aXHOOed0uJ8UZAMAAAAAKLdx48Zl9+PHj8+yZhWPPEvBs8JyAJpLrikck7Fjx8bEiROzINoGG2wQO+64Y9x6662xzDLLZMtTGsef/exni6RpLDxO96uuumocddRReRcTAAAAAGhSKUg2ZcqURV5LzwXPAJpXriPQCrbbbrvs1plvfvObseyyy8YZZ5wRzz33XPZa37594wtf+EKcf/75sfzyy1eimAAAAECFnHzyydUuAsAi2qdplLYRqFeus+oogFaKffbZJ7vNmjUrm/9sxRVXjP79+1e7WAAAAEAOTjnllGoXAQCgIbnOarAAWvHEnekGAAAAAAAA1VBzATQAAACA3pC2CACApgigHXjggfGb3/ym2sUAAAAA6oC0RQAA9FafqAPXXXddtYsAAAAAAABAk+jxCLS5c+fGlVdeGS0tLXHAAQfEUksttdg6r7zySm/LF6+//nr2XgAAAAAANA4pd4GGDKDttddecfPNN2ePb7/99vjd73632DrDhw/PAmwAAAAAAFBMyl2gIQNoEydOzO5bW1vjT3/6U6frpeW9JQgHAAAAAOTNiCgAeh1AGzVqVNxzzz3Z46222qrT9dZff/1YZZVVevo2MW3atHj++ed7vD0AAAAAQCmMiAKg1wG0lLLx/PPPz0aHHX300R2u069fv3jyySejb9++PX2bmDdvXgwaNKjH2wMAAAAAAEBFAmgrrrhinHHGGV2ukwJnvQmeJUsttVSv9wEAAAAAAACl6hM5uuGGG2pqPwAAAAAAAFDVANrOO+9cU/sBAAAAAACAqgbQAAAAAAAAoN7URQBt1KhR1S4CAAAAAAAATaIuAmhPP/10tYsAAAAAAABAk6j5ANp7770X8+bNq3YxAAAAAAAAaBL9erLROuusE5Uya9asWLhwYcXeDwAAAAAAgObWowDaSy+9FC0tLSWv39ra2va4lO0K66d10+PuvBcAAAAAAABUPIDWPihWikIwrNTtCusDAAAAAABAzQfQUnDrvvvui49+9KMlrX/ttdfGhRdeGHvssUfstNNOsf7668dKK60U/fr9++3nz58f06dPj+eeey5uv/32+O1vfxsnnHBCHHrooT0pIgAAAAAAAFQugDZgwIDYeuutS1r35JNPjhdeeCGefvrpGDp0aJfrDhkyJD72sY/Ff/3Xf8Xpp58eRxxxRBx//PHx05/+tCfFBAAAAAAAgG7r0/1NSvfHP/4xC5yl0WRLCp61l9a/+uqr41//+ldMmDAhtzICAAAAAABArwNom2++eUnrnXXWWfGjH/0oeuO0006LCy64oFf7AAAAAAAAgFwDaGn+s1I8+eST8fGPfzx6I22fRrEBAAAAAABA3adwbGlpiYcffrhX+3jkkUey/QAAAAAAAEDdB9C23nrrOOSQQ+KNN97o0fZpuzFjxmT7AQAAAAAAgLoPoB199NHx1FNPxXrrrRfjxo2Lxx9/PFpbW7vcJi1P651wwgmx/vrrZ9sfddRReRYTAAAAAAAA2vSLHG2//fbxve99L84777w466yzstugQYNinXXWiWHDhmWP+/fvH3Pnzo05c+bElClT4p///Gf2uBBMGzt2bOywww55FhMAAAAAAAAqE0BLzj333Ojbt2+cc8452fN33303nnzyyezWkeIRain4lrYHAAAAAACAhkjhWJBGnt13332xxRZbtAXJOrslm222Wfzv//6v4BkAAAAAAACNNwKt4NOf/nQ89NBD8cwzz8QNN9wQjzzySEydOjXeeuutWGGFFWLVVVeNkSNHxq677hobb7xxpYoFAAAAAAAA1QmgFWy44YbZDQAAAAAAAJo2hSMAAAAAAADUi4qPQFuSa665JubMmRPDhg2Lz372s7HssstWu0gAAAAAAAA0kZobgTZixIhYbrnl4s4778zmQttjjz3izTffrHaxAAAAAAAAaBI1F0DbYostYq+99oof//jH8dBDD8Wf//znOOigg6pdLAAAAAAAAJpEzQXQig0ePDgGDBgQd911V7WLAgAAAAAAQJOo2BxoKSXjPffcE9OmTYv58+cvcf0PP/ww/va3v8Vbb70VK6+8ckXKCAAAAAAAALkH0GbOnBm77bZb3Hvvvd3etrW1NbsfPXp0DiUDAAAAAACAKgTQ9txzz/jLX/7SrW1aWlqy4Fn//v3jm9/8Zpx99tm5lQ8AAAAAAAAqFkD74x//GBMnTowtttgiDjrooFhnnXWyOc2SBQsWZMGxyy67rG392bNnxzXXXBM33nhjFjT71re+Ff36VSzLJAAAAAAAAOQbQLviiiviy1/+chYQS6PK2hs0aFAWXEv3BWn9NO/Zj370oxgzZkxccsklbUE3AAAAAAAAyFufPHf+t7/9LU4++eQOg2fJRhttFA888MBir6+wwgrx4x//OH7wgx/EwQcfHPPmzcuzmAAAAAAAAFCZANobb7wRG264YafLN9lkk7j//vs7Xb7BBhvEvvvuG+PHj8+phAAAAAAAAFDBANrSSy/d5fKUvvG2227rcp0ddtghrr766jKXDAAAAAAAAKoQQFt33XXjoYceans+derUOProo+O3v/1t9nzUqFHx6KOPxp///OdO95HmQ3v55ZfzLCYAAAAAAABUJoC2++67x9lnn932/Igjjoif/vSnccABB8Srr74agwcPji233DL23nvv+P3vf9/hPo4//vhsPQAAAAAAAKiEfnnu/PDDD4+LLroo9txzz2w+s5tvvrlt2Zw5c7L7ffbZJ8aOHZuts+qqq8bmm28eK6ywQrz33nvx8MMPxyuvvBI77rhjnsUEAAAAAACAygTQBg4cmKVn/K//+q+YMGFC2+tf+MIXYv31188ejxkzJi644IL45z//maV4LJ4TrbW1NVpaWuLAAw/Ms5gAAAAAAABQmQBast5668Vzzz0Xt956a0yaNClWX331GD16dNvy/v37Z0GzbbbZJv71r39lQbNiX/nKV2KvvfbKu5gAAAAAAABQmQBa9ib9+sWuu+7a6fIRI0bEU089FZdeemk8+OCDWfrGlM4xjVxLqR0BAAAAAACgoQJopUjznv3gBz+odjEAAAAAAABocjUTQGs2zz//fJx++ulx9dVXd2u7O+64I/74xz/GggULYuHChdk8cykl5qhRo3IrKwAAAAAAQDPJPYCW5j+79tprY86cOXHQQQfFBhtskPdb1oX0mXRHCpaNHz8+XnjhhTjjjDNi2LBhbYG4cePGxRe/+MU4+OCDcyotAAAAAABA88g1gHb//ffHTjvtFO+//372/Oc//3n22qabbhrN6u23347LLrss7rvvvlhllVVK3u4Xv/hF3HPPPXHhhRe2Bc+S9dZbLw477LA4++yzY8UVV4zddtstp5IDAAAAAAA0h1wDaGlkVL9+/aK1tTV7/sEHH8QNN9zQdAG0l19+OQt8zZ07N2bOnBkzZszo1vZPPPFEXH/99TF8+PAOR/Bts8028bOf/SwLsm255Zax2mqrlbH0AAAAAAAAzaVPnjt/7LHH4tlnn40rrrgi+vT5f2/1yU9+MprNWmutFeedd14W5Lrqqqu6ncbyyiuvzO433njjDpcvtdRSsf7668f8+fPjt7/9bVTKDjvskN2g3jh2qVeNeuw26t9F43PsUq8a9dht1L+LxufYpV416rHbqH8Xjc+xS73aoYaP3VwDaMsss0yWVnD//fePhx9+OCZOnBi77757nm/ZcF577bV4/PHHs8dpBFpn1l577ez+rrvuakuZCQAAAAAAQI0F0HbZZZe2EVEpbeO2226b59s1pBR4LFh11VU7Xa+QtnHevHltATcAAAAAAABqbA60008/PZufa/XVV+/VELw0l9qZZ54ZzejJJ59sezx06NBO1ytelrbZaqutlrjvSZMm1ezQSAA615tzdzr3jxgxomxl6W1dcscdd5StLAB0j/oEgHJQnwDQaPVJRUagfeQjH4k//elPcfTRR8dRRx0V06ZN69F+zj///GhWM2bMWCQlZmcGDhzY4TYAAAAAAADU0Ai0ZM0114xHH300fvrTn8YGG2wQO+20U3zhC1+IrbfeOktJuMIKK3S5/dSpU7O0hM1q1qxZbY/79ev831W8rHibrqSIbG961hi9BlAdvTl3jxw5sqxl6W1dAkD1qE8AKAf1CQCNVp9UJIDWt2/fRZ63trbGddddl90ozYABA9oeL1y4sNP1ipcVbwMAAAAAAEANBdBSwKylpSW7T4ofd0fartzOOeecXHuklGvfyy+/fNvjrkbizZ07t8NtAAAAAAAAqLEUjoMHD46hQ4f2ePuZM2fG7Nmzo9wOPfTQOOCAA6LWrb766vHwww9nj7v6HIqXrbHGGhUpGwAAAAAAQCPKPYXja6+9FoMGDerxPubMmdOrAFxnhgwZkt1q3RZbbBE33nhj9njGjBmdrle8LK98nwAAAAAAAM2gT54779evX6+CZ0naPu2nWX3yk59s+wxff/31TtdLgcpk2LBhsdZaa1WsfAAAAAAAAI0m1wDaj3/845raTz1aeumlY/fdd88eP//8852u99xzz2X3++67b8XKBgAAAAAA0IhyDaAdfvjhNbWferXHHnvEyiuvHE888US8//77HY4+e/XVV2PEiBGx3XbbVaWMAAAAAAAAjSLXABodmzt37iL3S5JSOJ5++unR2toa11577WLLr7jiiizAdtppp2XzzgEAAAAAANBzzTu5WAW9/PLLceGFF2aP58+fH//4xz+yx2+//XZ861vfioEDB2bP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7NldrltYngKMw4YNq1AJAQAAAAAAGk+uAbTkscceWyxoloI8n/vc57KRZnvssUestNJKvXqPr371q9lItEaTPqdNN9007r333nj77bezz7ClpaXDdQvByTRZ6uDBgytcUgAAAAAAgMaRewAtKQR+tt5662yk2ejRo2PVVVft8f7uvPPObP6zlAZyt912y0agzZkzJxrRZz7zmSyAltJhvvnmm/GRj3xksXVSesf0GSSf/vSnq1BKAAAAAACAxpF7AG3ppZeO73znO/Htb3871lhjjbLs86STTooXX3wxe3zFFVdk95/97GejEaUUmFdeeWVMmTIlnn/++Q4DaJMmTYoFCxZk6R7T3HEAAAAAAAD0XJ/I2a233hrjx48vW/AsKczxlUa1pdFtaS60c889NxpRmiPukEMOyR7/9a9/7XCdwuv77bdfDBo0qKLlAwAAAAAAaDS5BtCWWmqpbARVuV100UXZ/GnrrbdelsLxkUceiVGjRkW9SOkYC+bOnbvE9dPoun333TfuueeemDx58iLLUlrHFKTcaaedYvfdd8+lvAAAAAAAAM0k1xSOG2+8cS77TWkMr7nmmqgnEyZMiAcffDB7PH369LbXb7rppnjmmWey0XT9+vWLs88+u8PtDzzwwBgwYECccMIJWZrG4cOHx9SpU+P666+PHXfcsW2UGgAAAAAAADUcQHv44Yfz3H1dGT16dHbrja997Wux8847x9///vd44YUXYujQoVnqyo7mRQMAAAAAAKAGA2jdNXPmzGwOr5T6kY4tv/zy2YgzAAAAAAAA6nAOtN/+9rfdWv/nP/957LnnnrHVVlvFDjvsEGeddVZMmzYtt/IBAAAAAABARQNoY8aM6db6xx9/fNxwww3x17/+NQum3X777bH++uvHU089lVsZAQAAAAAAoGIBtNbW1h5vO2LEiLj++uvjgw8+iHHjxpW1XAAAAAAAAFCVAFpLS0uvtl9hhRVi5ZVXjgceeKBsZQIAAAAAAICu9Isa9vDDD8drr70WSy+9dLWLAgAAAAAAQJPoVQDttNNO63L5/Pnzl7hOR+bOnRuTJk2KW265JRvFtskmm/SilAAAAAAAAFChANrkyZNj4cKF8c4778QLL7wQzzzzTPa8OHXjqaee2qs51Pr27durfQAAAAAAAEDFAmiXX375Is+nT58eV155ZZxzzjnxxhtvZIG0FATrqdVWWy0uvPDC2GmnnXpTTAAAAAAAAKjOHGgrrbRSfPe7342vf/3rseOOO8ZTTz0Vv/zlL7u9nwEDBsRaa60Vo0aNin79anqaNgAAAAAAABpMLtGpFVdcMS6++OL4/Oc/nwXTAAAAAAAAoF70yWvHI0eO7FX6RgAAAAAAAGioAFrfvn3jV7/6VV67BwAAAAAAgPoKoCX77bdfnrsHAAAAAACA+gqglcsLL7xQ7SIAAAAAAADQJOoigLbJJptUuwgAAAAAAAA0iboIoC1YsKDaRQAAAAAAAKBJ9Ovphn/4wx/iW9/6VvTp0yd++ctfxs4777zYOgcddFBvyxdTp06N+fPn93o/AAAAAAAAkGsA7fDDD48pU6Zkjw877LB46aWXFlvnN7/5TbS0tERvtLa29nofAAAAAAAAkHsA7YMPPmgLbKXHXQXAAAAAAAAAoOEDaOPHj29L4XjOOed0ut6VV14Za6yxRk/fJl599dX4+te/3uPtAQAAAAAAoCIBtIMPPjj22Wef7PEyyyzT4ToDBgyI/fbbL3przJgxvd4HAAAAAAAA5BpA6ypwVjBy5Mje7L7s+wEAAACAenHKKad0+BgAqPEA2pLcd999NbUfAAAAAKgXp556attjATQAqKw+FX4/AAAAAAAAqGk1FUB7+umn45VXXql2MQAAAAAAAGhiFQmgvfTSSzFmzJhYffXVY+jQoTF69OiYMWPGYuvddtttsc0228RGG20UF110USxcuLASxQMAAAAAAIDKBdDuvffe2HzzzeOyyy6LKVOmxOzZs+OGG26I4447brF1jznmmJg8eXL8+te/jttvvz0+9alPxZtvvpl3EQEAAAAAAKAyAbQU/PrqV78a3/jGN+Lxxx+PtddeO1paWrJlKVDWmRQ4u+WWW2L//fePnXfeOebOnZtnMQEAAAAAAKAyAbSLL744dtpppzjvvPNi4403jvPPPz8GDBiQ3Y4++uglbn/kkUfGZpttFpdeemmexQQAAAAAAIDKBNBSqsbiQNkuu+wS06dPz27/+Z//WdI+jjjiiLjyyitzLCUAAAAAAAD8W7/I0SuvvJKNPCs2cODAbu1jo402in/+859lLhkAAAAAAABUYQTahx9+GAsXLuzVPtL277//ftnKBAAAAAAAAFULoA0fPjz+/ve/92ofjzzySKy55pplKxMAAAAAAABULYC28847x/e///1sJFpPzJ07N4499thsPwAAAAAAAFD3AbTvfOc78fjjj8cnPvGJuOSSS+L1118vabtp06bF5ZdfHptuumk2gi3tBwAAAACArp1yyiltNwB6rl/kKKVe/OUvfxkHHHBAHH744dltpZVWylI7rrLKKjFw4MBYaqmlYt68efHee+/FG2+8ES+//HJ2X3DppZdm6wMAAAAA0LVTTz217bEgGkCNBtCSfffdNwuOjR07NkvJOH369OzWldbW1ujXr1/85Cc/iW984xt5FxEAAAAAAAAqk8KxYMyYMfHYY4/F9ttvnwXHlnT73Oc+F48++mgcccQRlSgeAAAAAAAAVG4EWsH6668fd9xxR0yePDkmTJgQf/vb32LKlCkxY8aMWHHFFWO11VaLT33qU7H77rvHiBEjKlUsAAAAAAAAqE4ArWDttdeOY445ptJvCwAAAAAAALWTwhEAAAAAAADqhQAaAAAAAAAAVDOFY7Jw4cJ4+umn48UXX4w5c+bEoEGDYp111olPfOIT0aePmB4AAAAAAABNEkB7/vnn49xzz40bbrghZs6cudjyIUOGxO677x7f//73Y/31169k0QAAAAAAACBTkeFe8+fPj9NOOy023XTTuPzyy+Ptt9+O1tbW7JYUHqegWlqe1kvrp+0AAAAAoNnMmjWry+cAQJ0H0FK6xr322itOPfXU+PDDD9uCZgUdPZ87d262/le/+tVsewAAAABoFmeeeWYMGzZskdfS8/Q6ANAgKRzHjh2bpWzs27dvbLvttvHZz342Nthgg1h99dVj2WWXjQEDBmSBtXfffTdee+21ePbZZ+Pee++Nu+++O26++eb49re/HZdccknexQQAAABKcMopp3T4GCiPFCQ74YQTFnt9zpw5ba+PGzeuCiUDgOaSawDtgQceiIsvvjj233//OPvss2PVVVctedt//etf8cMf/jB+9atfZdt/5jOfybOoAAAAQAlSxpgCATQor5Smcfz48V2uk5anDuuDBw+uWLkAoBnlmsLx5z//eXz961+PK664olvBsyStn7ZLwbO0HwAAAABoZBMmTMhGmnUlLU/rAQB1PAItpWKcOHFir/aRhqRvt912ZSsTAAB0REoygPrlHE6jmDp1alnXAwBqNID25ptvxogRI3q1j49//OMxffr0spUJAAA6IiUZQP1yDqdRrLbaamVdDwCo0RSOgwYNyoJovTFjxowYOHBg2coEAAAAALVo9OjRWXtaV9LytB4AUMcBtJEjR8aVV17Zq31cfvnlscUWW5StTJB6IxZuAAAAALViyJAhcdxxx3W5Tlo+ePDgipUJAJpVrikc999//zj44INj1VVXjX333bfb21911VVx4oknxqWXXppL+WhOUnsAAADQ6MwLV7/GjRuX3Y8fPz7mzJmzyMizFDwrLAcA6jiAts8++8RFF10UBxxwQJx33nnxta99LT7zmc/EBhtsEMsvv/xi67/99tvx7LPPxv333x/XXHNNPP744zFq1KgeBd8AAAAAmpXOo/UtBcnGjh2bjUgrmDJlipFnANAoAbSWlpa4+eabs6DZY489lgXECpZeeums50z//v1j7ty5WY+aDz74oG15a2trfOxjH8u2T/sBgEagJzAAAFCK9sEywTMAaKAAWrLyyivHXXfdlaVz/N///d+2199///3s1pnPfe5zWQrHj3zkI3kXEQAqRk9gAACoLJ3YAICaDKAlq6++etx9991x2WWXxVlnnRX//Oc/O113nXXWiWOPPTYOOeSQShQN6pofAQAAANA1ndhoJrNmzVrseXEqUABqLIBWcPDBB2e3hx9+OB544IF48cUX4913341ll102C5x9+tOfji222KKSRYK65kcAAAAAAMmZZ54Z48ePX+S1YcOGxXHHHZfNqwdADQfQClKQTKAMAAAA6ouRDQC1Gzw74YQTFnt9zpw5ba8LokFtk22s9vSpdgEAAACA+micTSMZiqXn6XUAqid1Zmg/8qy9tHz27NkVKxPQs2xjhRu1oS4CaN/73veqXQQAAACIZh/ZkEYydDSyQRANoHomTJiw2Pm5vbQ8rQdAgwXQLr744moXAQAAAJqSkQ0AtW3q1KllXQ+AOgqgzZ8/v9pFAAAAgKZkZANAbVtttdXKuh4A/0+/6IGDDjooKmXKlCmxYMGCir0fAAAA8G9GNgDUttGjR8eRRx7ZZWeHQYMGZesBkHMA7Te/+U20tLREJbS2tlbsvQAAAIBFGdlApZxyyikdPga6NmTIkDjuuOOyOSk7k5YPHjy4ouUCaMoAWiGwBQAAADQ2Ixvqc9669s9TA3utO/XUU9seC6BB94wbN65tTsri83U6P6fgWWE5ABUIoF199dUxbNiwyNtrr70WBxxwQO7v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2dixY7MRaQVTpkwx8qxJ9CiAlqeZM2fGsssuG/361VzRAAAAAKBXzN8OUF/aB8sEz5pHzUWpLrroorj//vvjlVdeiU022ST22Wef+PKXv1ztYgEAAABArxkRDAD1oU/UmDQp3x//+Md4+umn40tf+lJ85StfibPOOqvaxQIAAAAAAKBJ1FwArdi+++4bH/3oR+OCCy6odlEAAAAAAABoEhVN4fjPf/4zpk2bFvPnz1/iuh9++GHcdddd8dprr8UyyyxTkfIBAAAAAABARQJov/71r7P8zq+//nq3t21paYlRo0blUi4AAAAAAICunHzyydUuAo0YQPvJT34SxxxzTLS2tvZo+1VWWSXOP//8spcLAAAAAABgSdIAIZpPrgG0yZMnx/HHHx99+vSJkSNHxjrrrBMDBgzIli1cuDBuu+22+NKXvtS2/uzZs+P222+P999/P7773e/GJptsEqNHj46BAwfmWUwAAADolB7HAADQfHINoF1yySXZCLKbbropNt1008WWb7DBBnH55Zcv8loKol111VVxzTXXxPbbby94BgAAQFXpcQwAAM2nT547v+OOO+Lcc8/tMHiWDB8+PJ544olFXhs8eHAcfvjhMXHixHjooYfi4osvzrOIAAAADWnWrFldPgeg/Jx7AaBx5BpAe/HFF2PbbbftdPknP/nJuO+++zpctvTSS2dpMt58883485//nGMpAQAAGsuZZ54Zw4YNW+S19Dy9DkA+nHsBoLHkGkCbN29erLTSSp0u32yzzeLuu+/uch9pNJoLDQAAgNKk308nnHBCzJkzZ5HX0/P0ut9XAOXn3AsAjSfXANpHP/rRmDx58iKvPf744/H2229nj7fccsu47bbb4o033uh0H8stt1w8+uijeRYTAACgIaRUYePHj+9ynbQ8zT0NQHk49wJAY8o1gLb99tvHb37zm7bnP/rRj2LzzTePDTfcMOuBk+ZASyPUvva1r8W7777b4T6uv/76aG1tzbOYAAAADWHChAmLjX5oLy1P6wFQHs69ANCY+uW58+985zux1VZbZSPNUtDswgsvzIJhacTZpEmTYtNNN41dd901Lrroolh33XXj61//emyxxRaxwgorxHvvvRd/+9vf4oILLoiPf/zjeRYTAACgIUydOrWs6wGwZM69ANCYcg2gpaBZyvH85S9/OVpaWtpeT6PO1ltv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xcorr1yRMgIAAAAAAEDuAbSZM2fGbrvtFvfee2+3t21tbc3uR48enUPJAAAAAAAAoAoBtD333DP+8pe/dGublpaWLHjWv3//+OY3vxlnn312buUDAAAAAACAigXQ/vjHP8bEiRNjiy22iIMOOijWWWedbE6zZMGCBVlw7LLLLmtbf/bs2XHNNdfEjTfemAXNvvWtb0W/fhXLMgkAAAAAAAD5BtCuuOKK+PKXv5wFxNKosvYGDRqUBdfSfUFaP8179qMf/SjGjBkTl1xySVvQDQAAAAAAAPLWJ8+d/+1vf4uTTz65w+BZstFGG8UDDzyw2OsrrLBC/PjHP44f/OAHcfDBB8e8efPyLCYAAAAAAABUJoD2xhtvxIYbbtjp8k022STuv//+TpdvsMEGse+++8b48eNzKiEAAAAAAABUMIC29NJLd7k8pW+87bbbulxnhx12iKuvvrrMJQMAAAAAAIAqBNDWXXfdeOihh9qeT506NY4++uj47W9/mz0fNWpUPProo/HnP/+5032k+dBefvnlPIsJAAAAAAAAlQmg7b777nH22We3PT/iiCPipz/9aRxwwAHx6quvxuDBg2PLLbeMvffeO37/+993uI/jjz8+Ww8AAAAAAAAqoV+eOz/88MPjoosuij333DObz+zmm29uWzZnzpzsfp999omxY8dm66y66qqx+eabxworrBDvvfdePPzww/HKK6/EjjvumGcxAQAAAAAAoDIBtIEDB2bpGf/rv/4rJkyY0Pb6F77whVh//fWzx2PGjIkLLrgg/vnPf2YpHovnRGttbY2WlpY48MAD8ywmAAAAAAAAVCaAlqy33nrx3HPPxa233hqTJk2K1VdfPUaPHt22vH///lnQbJtttol//etfWdCs2Fe+8pXYa6+98i4mAAAAAAAAVCaAlr1Jv36x6667drp8xIgR8dRTT8Wll14aDz74YJa+MaVzTCPXUmpHAAAAAAAAaKgAWinSvGc/+MEPql0MAAAAAAAAmlzNBNCazfPPPx+nn356XH311d3a7o477og//vGPsWDBgli4cGE2z1xKiTlq1KjcygoAAAAAANBMcg+gpfnPrr322pgzZ04cdNBBscEGG+T9lnUhfSbdkYJl48ePjxdeeCHOOOOMGDZsWFsgbty4cfHFL34xDj744JxKCwAAAAAA0DxyDaDdf//9sdNOO8X7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DKB169YtvPnmm+n3CxcuDOeff3545JFHkvd9+/YNU6ZMCS+++GK554jroc2ZM6cqLxMAAAAAAAByM4A2ZMiQMHr06PT7c845J9x6661h+PDhYe7cuaFx48Zhv/32CyeeeGJ48sknyzzHpZdempQDAAAAAACAXKhTlScfOXJkuOOOO8Lxxx+frGf29NNPp/etXLkyeT3ppJPCueeem5Rp06ZN2GeffUKzZs3CqlWrwuTJk8Nnn30WDj300Kq8TAAAAAAAAMjNAFrDhg2TxzMefvjh4Yknnkj/fuDAgaFHjx7J9hlnnBH+8pe/hI8//jh5xGPmmmipVCqUlJSEX/3qV1V5mQAAAAAAAJCbAbSoe/fuYfr06eHZZ58NM2fODO3btw/HHntsen+9evWSQbP+/fuHzz//PBk0y3TMMceEE044oaovEwAAAAAAAHIzgJZ8SJ064eijjy53f9euXcO0adPCfffdF1577bXk8Y3xcY5x5lp8tCMAAAAAAAAU1QBaZcR1zy6++OLqvgwAAAAAAABquFrVfQEAAAAAAABQo2agxfXPxo4dG1auXBlOO+200LNnz6r+yIIwY8aMMGrUqPDwww9v03Hjx48Pzz//fNiwYUPYuHFjaNiwYbKmXN++favsWgEAAAAAAGqSKh1A++9//xsGDx4cVq9enby/8847k9/tvffeoaaLg4rbIg6WXX/99WHWrFnh2muvDe3atUsPxF122WXhsMMOC6effnoVXS0AAAAAAEDNUaWPcIwDO3Xq1AmpVCr5+fbbb8M//vGPUJMtXbo03HjjjWHSpEnbdNw999wTJk6cmKwTVzp4FnXv3j2cddZZyYDcU089VQVXDAAAAAAAULNU6Qy0d999N3z44YdhwoQJ4dRTT00G0Xr16hVqmjlz5oTbbrstrF27NixbtiwsXrx4m46fOnVqGDduXOjcuXOZj8Ds379/uP3225NBtv322y+0bds2i1cPAAAAAABQs1TpDLQddtghNG/ePJxyyilh8uTJyUDakCFDQk3TqVOncNNNNyWDXA899NA2rwP34IMPJq977rlnmfvr1q0bevToEdavXx8eeeSRkCuDBg1KfqDQqLsUqmKtu8X6vSh+6i6FqljrbrF+L4qfukuhKta6W6zfi+Kn7lKoBuVx3a3SAbSjjjoqPaAT1z07+OCDq/LjitK8efPCe++9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A1B95AkA2SBPAMgGeQK5YwANKEqNGzcODRs2rFTZNm3aVKpc6R03m5sxY0b44osv0u933nnncs/RvHnzTd4vWLCgUp8NQPWQJwBkgzwBIBvkCeRWnRx/HkBONG3atErKlmX+/PmbvO/du3coKSkpt3zt2rWT1wYNGiQ/AOQveQJANsgTALJBnkBuGUADilJFgb49Zcvy5ZdfbvL+vffeCz169NiucwKQH+QJANkgTwDIBnkCueURjgDbafOp86tXr662awGgcMkTALJBngCQDfIEDKABbLcWLVps8n7RokXVdi0AFC55AkA2yBMAskGegAE0II/EZyvffPPNodDstddeoVat75vT2bNnV+q4q666Ktx2221VeGUANZM8ASAb5AkA2SBPoHAZQAPyRny2ciHezdK4ceOwzz77pN+//fbblTpu4sSJYdddd63CKwOomeQJANkgTwDIBnkChcsAGpBT9evXT2+vXbt2k30zZ84MLVu2DIXorLPOSm9PmDAhpFKpCsvPmzcvTJkyJRx88ME5uDqA4iNPviNPALaPPPmOPAHYPvLkO/KEYmMADcipTp06bdKByPT000+HPn36hEJ0yimnJFPbS6e0v/zyyxWWv/zyy8MZZ5yxxYKsAFSOPPmOPAHYPvLkO/IEYPvIk+/IE4qNATQgp4466qj09qhRo8KGDRuS7ccffzw888wzoV+/fqEQ1atXLzz22GPpO4p+97vfhW+++abMsqNHjw6TJk0KV155ZY6vEqB4yBN5ApAN8kSeAGSDPJEnFCcDaEBOxbtQSu+6iQHctGnT0LZt23DCCSeEESNGhLp1625SfuXKlWHZsmXp9wsWLKhwmnipeEw8tqIFXMvarqjc119/XeE5e/ToEV599dWw9957hw8++CD83//9XzK9ffXq1WHdunVJJ+KII44I999/f3jxxReTZ0kD8MPIE3kCkA3yRJ4AZIM8kScUqRRAji1btix19tlnp1q1apWqX79+qlu3bqlrr702tX79+nSZu+66K9lXq1at+HDl9E98H39/+eWXp8teeOGFye9KSkrKLHv77benPze+r1u37ibl4k+9evVSrVu33uZzlmXDhg2psWPHpoYOHZrq2LFjaocddkg1btw41adPn9SYMWNSq1atqrL/bwFqEnkiTwCyQZ7IE4BskCfyhOJTEv+nugfxAAAAAAAAIF94hCMAAAAAAABkMIAGAAAAAAAAGQygAQAAAAAAQAYDaAAAAAAAAJDBABoAAAAAAABkMIAGAAAAAAAAGQygAQAAAAAAQAYDaAAAAAAAAJDBABoAAAAAAABkMIAGAAAAAAAAGQygAQAAAAAAQAYDaAAAAAAAAJDBABoAAAAAAABkMIAGAAAAAAAAGQygAQAAAAAAQAYDaAAAAAAAAJDBABoAAAAAAABkMIAGAAAAAAAAGQygAQAAAAAAQAYDaAAAAAAAAJDBABoAAAAAAABkMIAGAAAAAAAA4Xv/D75w0VeAwG4iAAAAAElFTkSuQmCC", | |
| "text/plain": [ | |
| "<Figure size 864x576 with 16 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "image/png": { | |
| "height": 584, | |
| "width": 872 | |
| } | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "fig, axes = plt.subplots(\n", | |
| " 4, 4, figsize=(12, 8), sharex=True, sharey=True, layout=\"constrained\"\n", | |
| ")\n", | |
| "\n", | |
| "for i, ax in enumerate(axes.flatten()):\n", | |
| " ax.errorbar(\n", | |
| " rv_data[\"time\"][i], rv_data[\"rv\"][i], yerr=rv_data[\"rv_err\"][i], fmt=\"o\"\n", | |
| " )\n", | |
| "\n", | |
| "for ax in axes[:, 0]:\n", | |
| " ax.set_ylabel(\"radial velocity\")\n", | |
| "for ax in axes[-1, :]:\n", | |
| " ax.set_xlabel(\"time\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "9f1f4e21", | |
| "metadata": {}, | |
| "source": [ | |
| "## The Joker-style rejection sampler\n", | |
| "\n", | |
| "We'll implement a rejection sampler that:\n", | |
| "1. Samples periods from a prior\n", | |
| "2. Analytically marginalizes over the amplitude (linear parameter)\n", | |
| "3. Uses rejection sampling based on the marginalized likelihood\n", | |
| "4. Samples amplitudes from their conditional distribution for accepted samples\n", | |
| "\n", | |
| "The key trick: for a linear parameter $K$, the likelihood is Gaussian in $K$, so we can analytically compute the marginal likelihood and then sample $K$ from its posterior distribution." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "id": "f09e8839", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Max observations: 99\n", | |
| "Padded shapes: t=(1024, 99), rv=(1024, 99), rv_err=(1024, 99)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# Pad all data to the same length (max number of observations)\n", | |
| "# This is a hack so that JIT doesn't recompile for each star of different n_obs...\n", | |
| "max_n_obs = np.max(n_times)\n", | |
| "print(f\"Max observations: {max_n_obs}\")\n", | |
| "\n", | |
| "\n", | |
| "def pad_to_length(arr, length, pad_value):\n", | |
| " \"\"\"Pad array to specified length.\"\"\"\n", | |
| " padded = np.full(length, pad_value)\n", | |
| " padded[: len(arr)] = arr\n", | |
| " return padded\n", | |
| "\n", | |
| "\n", | |
| "# Create padded arrays for all stars\n", | |
| "t_padded = jnp.array([pad_to_length(t, max_n_obs, 0.0) for t in rv_data[\"time\"]])\n", | |
| "rv_padded = jnp.array([pad_to_length(rv, max_n_obs, 0.0) for rv in rv_data[\"rv\"]])\n", | |
| "rv_err_padded = jnp.array(\n", | |
| " [pad_to_length(err, max_n_obs, jnp.inf) for err in rv_data[\"rv_err\"]]\n", | |
| ")\n", | |
| "\n", | |
| "print(\n", | |
| " f\"Padded shapes: t={t_padded.shape}, rv={rv_padded.shape}, rv_err={rv_err_padded.shape}\"\n", | |
| ")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "id": "1bd0f97f", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "linear_prior_scale = 100.0\n", | |
| "\n", | |
| "\n", | |
| "@jax.jit\n", | |
| "def compute_all_log_likelihoods(periods, t_all, rv_all, rv_err_all):\n", | |
| " \"\"\"Compute log likelihoods for all periods and all stars using scan.\n", | |
| "\n", | |
| " Parameters\n", | |
| " ----------\n", | |
| " periods : array (n_periods,)\n", | |
| " t_all : array (n_stars, max_n_obs)\n", | |
| " rv_all : array (n_stars, max_n_obs)\n", | |
| " rv_err_all : array (n_stars, max_n_obs)\n", | |
| "\n", | |
| " Returns\n", | |
| " -------\n", | |
| " lnL : array (n_stars, n_periods)\n", | |
| " \"\"\"\n", | |
| "\n", | |
| " def compute_star_likelihoods(t, rv, rv_err):\n", | |
| " \"\"\"Compute likelihoods for one star, all periods.\"\"\"\n", | |
| " # Create mask for valid (non-padded) points\n", | |
| " # Padded points have rv_err = inf\n", | |
| " valid_mask = jnp.isfinite(rv_err)\n", | |
| "\n", | |
| " # Replace padded points with valid values (won't affect likelihood)\n", | |
| " # Set padded values to 0 error so they contribute nothing\n", | |
| " rv_err_safe = jnp.where(valid_mask, rv_err, 1e10)\n", | |
| "\n", | |
| " def single_period_likelihood(period):\n", | |
| " design_matrix = jnp.cos(2 * jnp.pi * t / period)[:, None]\n", | |
| " linear_prior = dist.Normal(0.0, 1000.0)\n", | |
| " marginalized = distx.MarginalizedLinear(\n", | |
| " design_matrix,\n", | |
| " linear_prior,\n", | |
| " dist.Normal(jnp.zeros(len(rv)), rv_err_safe),\n", | |
| " )\n", | |
| " return marginalized.log_prob(rv)\n", | |
| "\n", | |
| " return jax.vmap(single_period_likelihood)(periods)\n", | |
| "\n", | |
| " # use scan to loop over stars without vmapping (because memory)\n", | |
| " def scan_fn(carry, x):\n", | |
| " t, rv, rv_err = x\n", | |
| " lnL = compute_star_likelihoods(t, rv, rv_err)\n", | |
| " return carry, lnL\n", | |
| "\n", | |
| " _, lnL_all = jax.lax.scan(scan_fn, None, (t_all, rv_all, rv_err_all))\n", | |
| "\n", | |
| " return lnL_all" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "id": "e8eae702", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "@jax.jit\n", | |
| "def rejection_step(key, lnL_all):\n", | |
| " \"\"\"Perform rejection sampling for all stars\n", | |
| "\n", | |
| " Parameters\n", | |
| " ----------\n", | |
| " key : PRNGKey\n", | |
| " lnL_all : array (n_stars, n_periods)\n", | |
| "\n", | |
| " Returns\n", | |
| " -------\n", | |
| " weights : array (n_stars, n_periods)\n", | |
| " accepted : array (n_stars, n_periods) boolean\n", | |
| " \"\"\"\n", | |
| " # Normalize weights per star\n", | |
| " lnL_max = jnp.max(lnL_all, axis=1, keepdims=True)\n", | |
| " weights = jnp.exp(lnL_all - lnL_max)\n", | |
| "\n", | |
| " # Rejection sampling\n", | |
| " uniform_draws = jax.random.uniform(key, shape=lnL_all.shape)\n", | |
| " accepted = uniform_draws < weights\n", | |
| "\n", | |
| " return weights, accepted" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "id": "feeabace", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "@jax.jit\n", | |
| "def sample_K_given_period(key, periods, t, rv, rv_err):\n", | |
| " \"\"\"Sample amplitude K given period from the conditional posterior.\"\"\"\n", | |
| "\n", | |
| " def sample_single_K(period, subkey):\n", | |
| " # Design matrix for this period\n", | |
| " design_matrix = jnp.cos(2 * jnp.pi * t / period)[:, None]\n", | |
| "\n", | |
| " # Linear prior on K\n", | |
| " linear_prior = dist.Normal(0.0, 1000.0)\n", | |
| "\n", | |
| " # Create the marginalized distribution\n", | |
| " marginalized = distx.MarginalizedLinear(\n", | |
| " design_matrix,\n", | |
| " linear_prior,\n", | |
| " dist.Normal(jnp.zeros(len(rv)), rv_err),\n", | |
| " )\n", | |
| "\n", | |
| " # Sample K from the conditional posterior\n", | |
| " K_sample = marginalized.conditional(rv).sample(subkey)\n", | |
| "\n", | |
| " return K_sample[0] # Return scalar (remove the [0] dimension)\n", | |
| "\n", | |
| " # Generate keys for each period\n", | |
| " keys = jax.random.split(key, len(periods))\n", | |
| "\n", | |
| " # Sample K for each period\n", | |
| " K_samples = jax.vmap(sample_single_K)(periods, keys)\n", | |
| "\n", | |
| " return K_samples" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "id": "7ab672de", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "def run_batched_rejection_sampler(\n", | |
| " key,\n", | |
| " t_padded,\n", | |
| " rv_padded,\n", | |
| " rv_err_padded,\n", | |
| " n_prior_samples=100_000,\n", | |
| " n_posterior_samples=256,\n", | |
| " period_min=1.0,\n", | |
| " period_max=500.0,\n", | |
| "):\n", | |
| " \"\"\"\n", | |
| " Run rejection sampler on all stars in a single batched computation.\n", | |
| " \"\"\"\n", | |
| " key1, key2, key3 = jax.random.split(key, 3)\n", | |
| "\n", | |
| " # Generate shared period samples\n", | |
| " lnP_samples = jax.random.uniform(\n", | |
| " key1,\n", | |
| " shape=(n_prior_samples,),\n", | |
| " minval=jnp.log(period_min),\n", | |
| " maxval=jnp.log(period_max),\n", | |
| " )\n", | |
| " P_samples = jnp.exp(lnP_samples)\n", | |
| "\n", | |
| " # Compute all likelihoods at once (n_stars, n_periods)\n", | |
| " print(\"Computing likelihoods for all stars...\")\n", | |
| " lnL_all_stars = compute_all_log_likelihoods(\n", | |
| " P_samples, t_padded, rv_padded, rv_err_padded\n", | |
| " )\n", | |
| "\n", | |
| " # Rejection step for all stars\n", | |
| " print(\"Running rejection step...\")\n", | |
| " weights, accepted_mask = rejection_step(key2, lnL_all_stars)\n", | |
| "\n", | |
| " # Extract accepted samples for each star\n", | |
| " print(\"Extracting accepted samples...\")\n", | |
| " n_stars = t_padded.shape[0]\n", | |
| " results = {}\n", | |
| "\n", | |
| " keys = jax.random.split(key3, n_stars)\n", | |
| " for n in range(n_stars):\n", | |
| " k1, k2 = jax.random.split(keys[n], 2)\n", | |
| " tmp = P_samples[accepted_mask[n]]\n", | |
| " accepted_periods_n = jax.random.choice(\n", | |
| " k1,\n", | |
| " tmp,\n", | |
| " shape=(jnp.minimum(tmp.shape[0], n_posterior_samples),),\n", | |
| " replace=False,\n", | |
| " )\n", | |
| "\n", | |
| " _mask = jnp.isfinite(rv_err_padded[n])\n", | |
| " t_orig = t_padded[n][_mask]\n", | |
| " rv_orig = rv_padded[n][_mask]\n", | |
| " rv_err_orig = rv_err_padded[n][_mask]\n", | |
| "\n", | |
| " amplitudes = sample_K_given_period(\n", | |
| " k2,\n", | |
| " accepted_periods_n,\n", | |
| " t_orig,\n", | |
| " rv_orig,\n", | |
| " rv_err_orig,\n", | |
| " )\n", | |
| "\n", | |
| " results[n] = {\n", | |
| " \"periods\": accepted_periods_n,\n", | |
| " \"amplitudes\": amplitudes,\n", | |
| " }\n", | |
| "\n", | |
| " return results" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "id": "b7e2cb03", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Computing likelihoods for all stars...\n", | |
| "Running rejection step...\n", | |
| "Extracting accepted samples...\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "results = run_batched_rejection_sampler(\n", | |
| " jax.random.PRNGKey(74),\n", | |
| " t_padded,\n", | |
| " rv_padded,\n", | |
| " rv_err_padded,\n", | |
| " n_prior_samples=1_000_000,\n", | |
| " n_posterior_samples=256,\n", | |
| " period_min=1.0,\n", | |
| " period_max=max_period,\n", | |
| ")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "id": "0018d3fe", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "np.int64(69)" | |
| ] | |
| }, | |
| "execution_count": 22, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "n_posterior_samples_returned = np.array(\n", | |
| " [results[n][\"periods\"].shape[0] for n in range(n_stars)]\n", | |
| ")\n", | |
| "n_posterior_samples_returned.min()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 23, | |
| "id": "6e9e9555", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment