diff --git a/tutorials/05-galaxies.ipynb b/tutorials/05-galaxies.ipynb new file mode 100644 index 0000000..c90313a --- /dev/null +++ b/tutorials/05-galaxies.ipynb @@ -0,0 +1,820 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Populating haloes with galaxies" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# science imports\n", + "import numpy as np\n", + "import py21cmfast as p21c\n", + "from astropy import units as u\n", + "from astropy.constants import c\n", + "from astropy.cosmology import Planck18, z_at_value" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# plotting imports\n", + "import matplotlib.pyplot as plt\n", + "rc = {\"font.family\" : \"serif\", \n", + " \"mathtext.fontset\" : \"stix\"}\n", + "plt.rcParams.update(rc)\n", + "plt.rcParams[\"font.serif\"] = [\"Times New Roman\"] + plt.rcParams[\"font.serif\"]\n", + "plt.rcParams.update({'font.size': 14})\n", + "plt.style.use('dark_background')\n", + "import matplotlib as mpl\n", + "label_size = 15\n", + "font_size = 20\n", + "mpl.rcParams['xtick.labelsize'] = label_size\n", + "mpl.rcParams['ytick.labelsize'] = label_size" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Set initial conditions, cosmology, and astrophysical parameters." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# instantiate a relatively small simulation box\n", + "inputs = p21c.InputParameters.from_template('latest-dhalos', random_seed=24,).evolve_input_structs(\n", + " SAMPLER_MIN_MASS=1e9, BOX_LEN=100, DIM=200, HII_DIM=50, USE_TS_FLUCT=False, INHOMO_RECO=False,\n", + " HALOMASS_CORRECTION=1., AVG_BELOW_SAMPLER=True, USE_EXP_FILTER=False, USE_UPPER_STELLAR_TURNOVER=False,\n", + " CELL_RECOMB=False, R_BUBBLE_MAX=15.).clone(\n", + " node_redshifts=(6,7,8)\n", + ")\n", + "\n", + "# create the initial conditions\n", + "init_box = p21c.compute_initial_conditions(\n", + " inputs=inputs,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Generate lists of halos at our node redshifts: $6$, $7$, $8$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# now we scroll through each redshift in descending order and generate halo lists\n", + "halo_lists = []\n", + "descendant_halos = None\n", + "for z in inputs.node_redshifts[::-1]:\n", + " # generate the halo field\n", + " halo_list = p21c.determine_halo_list(\n", + " redshift=z,\n", + " initial_conditions=init_box,\n", + " inputs=inputs,\n", + " descendant_halos=descendant_halos\n", + " )\n", + " descendant_halos = halo_list\n", + " halo_lists.append(halo_list)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each halo list contains the halos *coordinates*, *masses*, *stellar masses*, and *star formation rates*.\n", + "\n", + "The latter two properties are encoded in random numbers `star_rng` and `sfr_rng`, which we must pass through a decoder function in order to compute the corresponding physical quantities. Each of these numbers quantifies how far removed a halo's property is from the mean. \n", + "\n", + "Many studies of high-redshift galaxies do not account for stochasticity in the stellar mass-to-halo mass relation, which can lead to significant problems (see Nikolic et al. 2024 https://arxiv.org/abs/2406.15237).\n", + "\n", + "To better understand this, let us investigate the impact of stochasticity on the UV luminosity function by computing this quantity first with a fixed relation, and then using the scatter considered in `21cmFAST`." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def get_stellar_mass(halo_masses, stellar_rng):\n", + " sigma_star = inputs.astro_params.SIGMA_STAR\n", + " mp1 = 1e10\n", + " mp2 = 10**(inputs.astro_params.UPPER_STELLAR_TURNOVER_MASS)\n", + " m_turn = 10**(inputs.astro_params.M_TURN)\n", + " a_star = inputs.astro_params.ALPHA_STAR\n", + " a_star2 = inputs.astro_params.UPPER_STELLAR_TURNOVER_INDEX\n", + " f_star10 = 10**inputs.astro_params.F_STAR10\n", + " omega_b = inputs.cosmo_params.OMb\n", + " omega_m = inputs.cosmo_params.OMm\n", + " baryon_frac = omega_b/omega_m\n", + " \n", + " high_mass_turnover = ((mp2/mp1)**a_star + (mp2/mp1)**a_star2)/((halo_masses/mp2)**(-1*a_star)+(halo_masses/mp2)**(-1*a_star2))\n", + " stoc_adjustment_term = 0.5*sigma_star**2\n", + " low_mass_turnover = np.exp(-1*m_turn/halo_masses + stellar_rng*sigma_star - stoc_adjustment_term)\n", + " stellar_mass = f_star10 * baryon_frac * halo_masses * (high_mass_turnover * low_mass_turnover)\n", + " return stellar_mass\n", + "\n", + "def get_sfr(stellar_mass, sfr_rng, z):\n", + " sigma_sfr_lim = inputs.astro_params.SIGMA_SFR_LIM\n", + " sigma_sfr_idx = inputs.astro_params.SIGMA_SFR_INDEX\n", + " t_h = 1/Planck18.H(z).to('s**-1').value\n", + " t_star = inputs.astro_params.t_STAR\n", + " sfr_mean = stellar_mass / (t_star * t_h)\n", + " sigma_sfr = sigma_sfr_idx * np.log10(stellar_mass/1e10) + sigma_sfr_lim\n", + " sigma_sfr[sigma_sfr < sigma_sfr_lim] = sigma_sfr_lim\n", + " stoc_adjustment_term = sigma_sfr * sigma_sfr / 2. # adjustment to the mean for lognormal scatter\n", + " sfr_sample = sfr_mean * np.exp(sfr_rng*sigma_sfr - stoc_adjustment_term)\n", + " return sfr_sample" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [], + "source": [ + "halo_masses_list = []\n", + "stellar_masses_stoch = []\n", + "sfr_stoch = []\n", + "stellar_masses_no_stoch = []\n", + "sfr_no_stoch = []\n", + "\n", + "for halo_list in halo_lists:\n", + " # get the halo masses\n", + " halo_masses = halo_list.get('halo_masses')\n", + " # get the stellar masses and star formation rates\n", + " star_rng = halo_list.get('star_rng')\n", + " sfrs = halo_list.get('sfr_rng')\n", + "\n", + " # purge zero values\n", + " star_rng = star_rng[halo_masses > 0]\n", + " sfrs = sfrs[halo_masses > 0]\n", + " halo_masses = halo_masses[halo_masses > 0]\n", + "\n", + " sm_stoch = get_stellar_mass(halo_masses, star_rng)\n", + " sf_stoch = get_sfr(sm_stoch, sfrs, halo_list.redshift)\n", + " sm_no_stoch = get_stellar_mass(halo_masses, np.zeros_like(halo_masses))\n", + " sf_no_stoch = get_sfr(sm_no_stoch, np.zeros_like(halo_masses), halo_list.redshift)\n", + " \n", + " # append to the lists\n", + " stellar_masses_stoch += [sm_stoch]\n", + " sfr_stoch += [sf_stoch]\n", + " stellar_masses_no_stoch += [sm_no_stoch]\n", + " sfr_no_stoch += [sf_no_stoch]\n", + " halo_masses_list += [halo_masses]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To verify that we've loaded everything correctly, let's plot our non-stochastic relations on top of our stochastic relations." + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualize stochasticity in each relationship\n", + "fig, axs = plt.subplots(2, 3, figsize=(12, 5), sharex=True)\n", + "\n", + "for i in range(3):\n", + " axs[0,i].plot(np.log10(halo_masses_list[i]), np.log10(stellar_masses_stoch[i]), 'o', color='cyan', markersize=1, alpha=0.5)\n", + " axs[0,i].plot(np.log10(halo_masses_list[i]), np.log10(stellar_masses_no_stoch[i]), 'o', color='red', markersize=1, alpha=0.5)\n", + "\n", + " axs[0,i].text(0.05, 0.95, f'z={inputs.node_redshifts[::-1][i]:.2f}', ha='left', va='top', transform=axs[0,i].transAxes, fontsize=label_size)\n", + "\n", + " axs[1,i].plot(np.log10(halo_masses_list[i]), np.log10(sfr_stoch[i]), 'o', color='cyan', markersize=1, alpha=0.5)\n", + " axs[1,i].plot(np.log10(halo_masses_list[i]), np.log10(sfr_no_stoch[i]), 'o', color='red', markersize=1, alpha=0.5)\n", + " axs[1,i].set_xlabel(r'$\\log_{10} M_h$ [M$_\\odot$]', fontsize=label_size)\n", + "\n", + " axs[0,i].set_xlim(9, 13)\n", + " axs[0,i].set_ylim(6, 11)\n", + " axs[1,i].set_ylim(-10, -6)\n", + "\n", + "axs[0,1].set_yticks(axs[0,0].yaxis.get_majorticklocs())\n", + "axs[0,1].set_yticklabels([])\n", + "axs[0,2].set_yticks(axs[0,0].yaxis.get_majorticklocs())\n", + "axs[0,2].set_yticklabels([])\n", + "axs[1,1].set_yticks(axs[1,0].yaxis.get_majorticklocs())\n", + "axs[1,1].set_yticklabels([])\n", + "axs[1,2].set_yticks(axs[1,0].yaxis.get_majorticklocs())\n", + "axs[1,2].set_yticklabels([])\n", + "\n", + "axs[0,0].set_ylabel(r'$\\log_{10} M_*$ [M$_\\odot$]', fontsize=label_size)\n", + "axs[1,0].set_ylabel(r'$\\log_{10}$SFR [M$_\\odot$ s$^{-1}$]', fontsize=label_size)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Not bad! But this doesn't tell us much. Now I'll write in some reference data below: the UV luminosity function measured by Bouwens et al. (2021) https://arxiv.org/abs/2102.07775 using the Hubble Space Telescope." + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_141416/756378088.py:28: RuntimeWarning: divide by zero encountered in log10\n", + " logphi_err_b21_6_low = logphi_b21_6 - np.log10(b21_6 - b21_6_err)\n", + "/tmp/ipykernel_141416/756378088.py:29: RuntimeWarning: invalid value encountered in log10\n", + " logphi_err_b21_7_low = logphi_b21_7 - np.log10(b21_7 - b21_7_err)\n" + ] + } + ], + "source": [ + "# BOUWENS 2021\n", + "b21_mag = [[-22.52, -22.02, -21.52, -21.02, -20.52, -20.02, -19.52, -18.77, -17.77, -16.77],\n", + " [-22.19, -21.69, -21.19, -20.68, -20.19, -19.69, -19.19, -18.69, -17.94, -16.94],\n", + " [-21.85, -21.35, -20.85, -20.10, -19.35, -18.6, -17.6]]\n", + "b21_phi = [[2e-6, 1.4e-5, 5.1e-5, 1.69e-4, 3.17e-4, 7.24e-4, 1.124e-3, 2.82e-3, 8.36e-3, 1.71e-2],\n", + " [1e-6, 4.1e-5, 4.7e-5, 1.98e-4, 2.83e-4, 5.89e-4, 1.172e-3, 1.433e-3, 5.76e-3, 8.32e-3],\n", + " [3e-6, 1.2e-5, 4.1e-5, 1.2e-4, 6.57e-4, 1.1e-3, 3.02e-3]]\n", + "b21_phi_err = [[2e-6, 5e-6, 1.1e-5, 2.4e-5, 4.1e-5, 8.7e-5, 1.57e-4, 4.4e-4, 1.66e-3, 5.26e-3],\n", + " [2e-6, 1.1e-5, 1.5e-5, 3.6e-5, 6.6e-5, 1.26e-4, 3.36e-4, 4.19e-4, 1.44e-3, 2.9e-3],\n", + " [2e-6, 4e-6, 1.1e-5, 4e-5, 2.33e-4, 3.4e-4, 1.14e-3]]\n", + "\n", + "b21_6 = np.array(b21_phi[0])\n", + "b21_7 = np.array(b21_phi[1])\n", + "b21_8 = np.array(b21_phi[2])\n", + "\n", + "b21_6_err = np.array(b21_phi_err[0])\n", + "b21_7_err = np.array(b21_phi_err[1])\n", + "b21_8_err = np.array(b21_phi_err[2])\n", + "\n", + "logphi_b21_6 = np.log10(b21_6)\n", + "logphi_b21_7 = np.log10(b21_7)\n", + "logphi_b21_8 = np.log10(b21_8)\n", + "\n", + "logphi_err_b21_6_up = np.log10(b21_6 + b21_6_err) - logphi_b21_6\n", + "logphi_err_b21_7_up = np.log10(b21_7 + b21_7_err) - logphi_b21_7\n", + "logphi_err_b21_8_up = np.log10(b21_8 + b21_8_err) - logphi_b21_8\n", + "\n", + "logphi_err_b21_6_low = logphi_b21_6 - np.log10(b21_6 - b21_6_err)\n", + "logphi_err_b21_7_low = logphi_b21_7 - np.log10(b21_7 - b21_7_err)\n", + "logphi_err_b21_8_low = logphi_b21_8 - np.log10(b21_8 - b21_8_err)\n", + "\n", + "logphi_err_b21_6_low[np.isinf(logphi_err_b21_6_low)] = np.abs(logphi_b21_6[np.isinf(logphi_err_b21_6_low)])\n", + "logphi_err_b21_7_low[np.isinf(logphi_err_b21_7_low)] = np.abs(logphi_b21_7[np.isinf(logphi_err_b21_7_low)])\n", + "logphi_err_b21_8_low[np.isinf(logphi_err_b21_8_low)] = np.abs(logphi_b21_8[np.isinf(logphi_err_b21_8_low)])\n", + "\n", + "logphi_err_b21_6_low[np.isnan(logphi_err_b21_6_low)] = np.abs(logphi_b21_6[np.isnan(logphi_err_b21_6_low)])\n", + "logphi_err_b21_7_low[np.isnan(logphi_err_b21_7_low)] = np.abs(logphi_b21_7[np.isnan(logphi_err_b21_7_low)])\n", + "logphi_err_b21_8_low[np.isnan(logphi_err_b21_8_low)] = np.abs(logphi_b21_8[np.isnan(logphi_err_b21_8_low)])\n", + "\n", + "asymmetric_error_6 = np.array(list(zip(logphi_err_b21_6_low, logphi_err_b21_6_up))).T\n", + "asymmetric_error_7 = np.array(list(zip(logphi_err_b21_7_low, logphi_err_b21_7_up))).T\n", + "asymmetric_error_8 = np.array(list(zip(logphi_err_b21_8_low, logphi_err_b21_8_up))).T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For direct comparison, I must calculate the UV luminosities of the galaxies in my sample, and then bin them into the same bins measured by Bouwens et al.\n", + "\n", + "We suppose that UV luminosity scales linearly with star formation rate (reasonable since the UV magnitude of a galaxy is dominated by type O and B stars, whose lifetimes are tens of million years).\n", + "\n", + "\\begin{equation}\n", + " {\\rm M}_{\\rm UV}=51.64 - 2.5 \\log_{10}\\left(\\frac{3.1557\\cdot10^7 {\\rm s}\\:{\\rm yr}^{-1}}{1.15\\cdot10^{-28} {\\rm M}_\\odot\\:{\\rm erg}^{-1}\\:{\\rm yr}^{-1}\\:{\\rm s}\\:{\\rm Hz}}{\\rm SFR}\\right)\n", + "\\end{equation}" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [], + "source": [ + "def get_muv(sfr):\n", + " kappa = 1.15e-28\n", + " luv = sfr * 3.1557e7 / kappa\n", + " muv = 51.64 - np.log10(luv) / 0.4\n", + " return muv" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [], + "source": [ + "muv_stoch_6 = get_muv(sfr_stoch[0])\n", + "muv_stoch_7 = get_muv(sfr_stoch[1])\n", + "muv_stoch_8 = get_muv(sfr_stoch[2])\n", + "muv_no_stoch_6 = get_muv(sfr_no_stoch[0])\n", + "muv_no_stoch_7 = get_muv(sfr_no_stoch[1])\n", + "muv_no_stoch_8 = get_muv(sfr_no_stoch[2])" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [], + "source": [ + "def make_uvlf(muv, b21_mag_bins):\n", + " bin_edges = []\n", + " SIDE_LENGTH_MPC = inputs.simulation_options.BOX_LEN\n", + " bin_centers = np.asarray(b21_mag_bins)\n", + " bin_edge = np.zeros(len(bin_centers)+1)\n", + " bin_widths = (bin_centers[1:] - bin_centers[:-1])*0.5\n", + " bin_edge[0] = bin_centers[0]-bin_widths[0]\n", + " bin_edge[-1] = bin_centers[-1] + bin_widths[-1]\n", + " bin_edge[1:-1] = bin_widths + bin_centers[:-1]\n", + "\n", + " heights, bins = np.histogram(muv, bins=bin_edge)\n", + "\n", + " # print(heights, bins)\n", + "\n", + " bin_centers = 0.5*(bins[1:]+bins[:-1])\n", + " bin_widths = bins[1:]-bins[:-1]\n", + " uv_phi = heights/bin_widths/(SIDE_LENGTH_MPC**3)\n", + " uv_phi_err = np.sqrt(heights)/bin_widths/(SIDE_LENGTH_MPC**3)\n", + "\n", + " # print(uv_phi)\n", + "\n", + " log_uv_phi_err_up = np.abs(np.log10(uv_phi_err+uv_phi) - np.log10(uv_phi))\n", + " log_uv_phi_err_low = np.abs(np.log10(np.abs(uv_phi-uv_phi_err)) - np.log10(uv_phi))\n", + " log_uv_phi_err_low[np.isinf(log_uv_phi_err_low)] = np.abs(np.log10(uv_phi[np.isinf(log_uv_phi_err_low)]))\n", + " log_uv_asymmetric_error = np.array(list(zip(log_uv_phi_err_low, log_uv_phi_err_up))).T\n", + "\n", + " return uv_phi, log_uv_asymmetric_error" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_141416/3761818454.py:22: RuntimeWarning: divide by zero encountered in log10\n", + " log_uv_phi_err_up = np.abs(np.log10(uv_phi_err+uv_phi) - np.log10(uv_phi))\n", + "/tmp/ipykernel_141416/3761818454.py:22: RuntimeWarning: invalid value encountered in subtract\n", + " log_uv_phi_err_up = np.abs(np.log10(uv_phi_err+uv_phi) - np.log10(uv_phi))\n", + "/tmp/ipykernel_141416/3761818454.py:23: RuntimeWarning: divide by zero encountered in log10\n", + " log_uv_phi_err_low = np.abs(np.log10(np.abs(uv_phi-uv_phi_err)) - np.log10(uv_phi))\n", + "/tmp/ipykernel_141416/3761818454.py:23: RuntimeWarning: invalid value encountered in subtract\n", + " log_uv_phi_err_low = np.abs(np.log10(np.abs(uv_phi-uv_phi_err)) - np.log10(uv_phi))\n" + ] + } + ], + "source": [ + "uvlf6_stoch, uvlf6_stoch_err = make_uvlf(muv_stoch_6, b21_mag[0])\n", + "uvlf6_no_stoch, uvlf6_no_stoch_err = make_uvlf(muv_no_stoch_6, b21_mag[0])\n", + "uvlf7_stoch, uvlf7_stoch_err = make_uvlf(muv_stoch_7, b21_mag[1])\n", + "uvlf7_no_stoch, uvlf7_no_stoch_err = make_uvlf(muv_no_stoch_7, b21_mag[1])\n", + "uvlf8_stoch, uvlf8_stoch_err = make_uvlf(muv_stoch_8, b21_mag[2])\n", + "uvlf8_no_stoch, uvlf8_no_stoch_err = make_uvlf(muv_no_stoch_8, b21_mag[2])" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_141416/3485348234.py:2: RuntimeWarning: divide by zero encountered in log10\n", + " axs.errorbar(b21_mag[0], np.log10(uvlf6_stoch), yerr=-1*np.log10(uvlf6_stoch)*uvlf6_stoch_err, fmt='o', color='cyan', \\\n", + "/tmp/ipykernel_141416/3485348234.py:4: RuntimeWarning: divide by zero encountered in log10\n", + " axs.errorbar(b21_mag[0], np.log10(uvlf6_no_stoch), yerr=-1*np.log10(uvlf6_no_stoch)*uvlf6_no_stoch_err, \\\n" + ] + }, + { + "data": { + "image/png": "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qpdffhkffvghRARJSUlmqz+NRoNmzZopMRyVwhbAnII/L4ThhiARERHVTIoUY88++yx++OEHvPLKK0hISCi2X15enhLDEREREdUaihRjjRo1wssvv4zExMQS+73zzjtKDEdERERUaygyZ+z8+fNwcnIqtd/q1auVGI6IiIio1lCkGJszZw7effddWFmVfLiwsDAlhiMiIiKqNRS5Tdm7d280btwYN2/exK5duxATE4PMzEwlDk1ERERUqylSjM2fP7/wz5MnTy62H18UTkRERGRKsRVYp02bVmI7XxROREREVJRixdgPP/xQah++KLx6aADUA2AHwBfANXBdVSIioppKkWKsZ8+eZern5+enxHBUAn8AYwD0g2HxVy2AiwCCYXgPNxEREdUsihRjx44dK1O/iIgIJYajYvgDmAmgAYBMACkAEgB0AeADYDlYkBEREdU0iixtQerTABgJwBOGK2HZMNya1AG4ULB9REE/IiIiqjlYjNUSPjBcGYsspj0SQEBBPyIiIqo5WIzVEloAjgDSi2lPB+BQ0I+IiIhqDhZjtYQOhnlizsW0OwPIKuhHRERENQeLsVoiAobJ+c2KaW8GIKSgHxEREdUciq0zRuoSGJav8AHQBoA9gBwArgAaA4gDsBVcb4yIiKim4ZWxWiQUhuUrTsEwf6w+AA8AJwF8Ci5rQUREVBNVuhhzcXFBly5d0LBhQyXyqfFsbW0xe/ZsHDlyBElJSUhPT8e1a9ewceNGPPzww2qnh1AAiwHsBfA3gAUAPgQLMSIiopqqXLcpfX198e6770JEMG/ePHTp0gWrV69GYmIi4uLicPLkSbzwwgvIz8+vqnxV5enpiT/++AO5ubl45ZVXcOzYMTg4OGDixIlYunQp0tLSsGPHDrXThABILvjzDfDWJBERUU1WrmLsxx9/RFxcHHbt2oU33ngDo0aNwtq1a/H8888DAPz9/TF16tRa+w7K9evXw8PDA23btoVOZ3guMTMzEytWrECrVq2Qnl7cwhJERERE5pWrGGvTpg0aNmwIvV4PjUaDdu3a4f333y9sDw0NxcCBAxVPsiZ45JFH0L9/f7z++uuFhdidZs2apUJWREREZOnKNWcsJCQEtra2AAARwTvvvIPISNM138eOHatcdjXI5MmTAQB79uxRORMiIiKqTcpVjM2YMQNz586FRmN4w+Eff/xh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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axs = plt.subplots(1, 1, figsize=(6, 5), constrained_layout=True)\n", + "axs.errorbar(b21_mag[0], np.log10(uvlf6_stoch), yerr=-1*np.log10(uvlf6_stoch)*uvlf6_stoch_err, fmt='o', color='cyan', \\\n", + " alpha=0.5, label='Stochasticity')\n", + "axs.errorbar(b21_mag[0], np.log10(uvlf6_no_stoch), yerr=-1*np.log10(uvlf6_no_stoch)*uvlf6_no_stoch_err, \\\n", + " fmt='o', color='green', alpha=0.5, label='No Stochasticity')\n", + "axs.errorbar(b21_mag[0], logphi_b21_6, yerr=asymmetric_error_6, fmt='o', color='red', alpha=0.5, label='Bouwens et al. (2021)')\n", + "\n", + "axs.set_ylabel(r'$\\log_{10} \\Phi$ [Mpc$^{-3}$ mag$^{-1}$]', fontsize=label_size)\n", + "axs.set_xlabel(r'M$_{\\rm UV}$', fontsize=label_size)\n", + "axs.legend(fontsize=label_size, loc='lower right', frameon=False)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The UVLF with and without stochasticity can fairly accurately fit the bright end of the UVLF measured by Bouwens et al (2021)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/inikolic/miniconda3/envs/21CMMC_mpi/lib/python3.9/site-packages/halomod/halo_model.py:32: UserWarning: Warning: Some Halo-Exclusion models have significant speedup when using Numba\n", + " from .halo_exclusion import Exclusion, NoExclusion\n" + ] + } + ], + "source": [ + "import halomod as hm" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Another useful quantity is the galaxy bias. It quantifies how biased galaxies are with respect to the underlying matter field. Stochasticity changes this and we will show how.\\\n", + "Galaxy bias is defined as following:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$b_g(M_{\\ast}^t,z) = \\left(\\int {\\rm d} M_h \\frac{{\\rm d}n}{{\\rm d}M_h}(M_h,z) N_{\\rm tot}(M_h|M_{\\ast}^t) b_h(M_h,z)\\right) / n_g(z)$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we have the integral over the hmf, multiplied by the galaxy occupation ($N_{\\rm tot}$) and halo bias ($b_h$). \n", + "Galaxy occupation measures how many galaxies are located above a given halo mass. \\\n", + "We explicitly note that we are interested in galaxies above a certain threshold." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the simplest model, SHMR is a simple scaling law" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAAsTAAALEwEAmpwYAAAh5UlEQVR4nO3deXxV5Z3H8c8vG2HfFWQxbCKIrAEKaHWmWgFFXECBti4gq1vbqUu1dre2jnZaK4pQGFBkExWh4jaOiAoiYZOENewJSMIWluz3PvMHcSbNELhJbnLu8n2/Xnkl57k393zPTfLj4TnPeY455xARkcgS43UAEREJPhV3EZEIpOIuIhKBVNxFRCKQiruISARScRcRiUBxXgcAaNasmUtKSvI6hohIWFm3bt0R51zzcz3maXE3s2HAsI4dO5KSkuJlFBGRsGNm+8p7zNNhGefcMufchIYNG3oZQ0Qk4nha3M1smJlNz8nJ8TKGiEjEUc9dRCQCabaMiEgEUnEXEYlAGnMXEYlAGnMXEfGAc453NmaSX+SrltfXsIyISA0r9vl56p1UHl6wkXlr9lfLPkLiClURkWhxKr+IB+Zt4NMd2Uy8pj33DEyqlv2EzBWqIiKR7uCJPMbOXsvOrNM8c9uVjO7Xttr2pTF3EZEasDkjh1umfkHm8Txm39u3Wgs7aFhGRKTafZj2DQ8v2EiTugnMndKfyy6uX+37VHEXEakmzjlmfr6Hp5dvpXvrRvz9rmSa169VI/tWcRcRqQbFPj+/WprG62v2M6RbC/58R09qJ8TW2P5V3EVEguxUfhH3z9vAyh3ZTLqmA4/e0JmYGKvRDJotIyISRJkn8hg3ey3pWaf5421XMqqaT5yWR7NlRESC5OuME6VmxPTzrLCDhmVERILi/dRv+PHCDTStW4vXa2hGzPmouIuIVIFzjhmf7eaZ97bRo3UjZtTgjJjzUXEXEamkYp+fXy5NY96a/Qy98uyMmMT4mpsRcz4q7iIilVB6RszkazvwyPdrfkbM+ai4i4hUUMbxXMbNTmFX9mn+dPuV3NnXuxOn5Ql6cTeza4HfAWnAAufcimDvQ0TEK5sOnGDcnBQKin3MGduPQR2beR3pnAKaCmlms8wsy8xSy7QPNrPtZpZuZo+XNDvgNJAIZAQ3roiId95PPcSd01eTGB/DW5MHhmxhh8Dnuc8GBpduMLNYYCowBOgKjDazrsBnzrkhwGPAb4IXVUTEG845pq/cxeTX13N5iwa8PWUQnTye6nghAQ3LOOdWmllSmeZ+QLpzbjeAmS0AhjvntpQ8fhwodz6QmU0AJgC0bRt641UiIgBFPj+/fCeN+V/t58YrW/L8HT1CZkbM+VRlzL0VcKDUdgbQ38xuA24AGgEvlvfNzrnpwHSA5ORkV4UcIiLV4mR+Efe/vp7Pdh5hyrUd+FmIzYg5n6CfUHXOvQW8FchztbaMiISqA8dyGTdnLbuzz/Ds7d25o28bryNVSFXWlskESh9t65K2gGltGREJRRsPnODWl1ZxKCefOWP7hV1hh6oV97VAJzNrZ2YJwChgaUVewMyGmdn0nJycKsQQEQme9zYf4s5Xzs6IeXtKaM+IOZ9Ap0LOB1YDnc0sw8zGOeeKgQeAD4CtwCLnXFpFdq6eu4iECucc0z49OyPmiksasOT+QXS8KLRnxJxPoLNlRpfTvhxYXtmda8xdREJBkc/PL95OZWHKAW7q3pLnRobHjJjz0XruIhLVcvKKuHvWVyxMOcCD/9qRF0b1CvvCDroTk4hEsf1Hc7l39lfsP5bLcyN7MKJPa68jBY167iISldbtO8atL33BkdOFvDq2f0QVdtCqkCIShZZuOsjP3tjEJQ0TmXVPX9o3r+d1pKDTsIyIRA3nHC/+dzrPf7SDvkmNeeVHyTSpm+B1rGqhYRkRiQoFxT7+7Y1NPP/RDm7t1Yq59/WP2MIOGpYRkShw/EwhE+eu46s9x/jJdZfx0Pc6YhYea8RUloZlRCSi7TlyhrGz15J5PI+/jurJ8J6tvI5UIzQsIyIR66s9Z2fEnMgtZN74/lFT2EHDMiISod5an8Fjb35NmyZ1+M97+nJp07peR6pRKu4iElGcc/zHf+3khY93MqB9U6b9sA8N68R7HavGacxdRCJGfpGPRxd/zdJNBxnZpzVP33olCXGejj57RmPuIhIRjp4u4Id/X8PSTQd55IbOPDuie9QWdtCwjIhEgPSs04ydvZbDJ/OZOqY3N3Zv6XUkz6m4i0hYW5V+hElz15EQF8P8Cd+hd9vGXkcKCSruIhK2FqUc4Im3NtOuWV1m3dOXNk3qeB0pZKi4i0jY8fsdz324nZdW7OLqTs14cUxvGtaOvhkx56PZMiISVvKLfPzbok28u/kQo/u15bfDryA+NnpPnJZHs2VEJGxknypg1PQvWZ56iCeHduEPt3ZTYS+HhmVEJCzsOHyKe/9zLUfPFPDyD/owuFsLryOFNBV3EQl5n+3MZsrc9SQmxLJo4gC6t27kdaSQp+IuIiFt3pr9PPVOKp0uqsfMe/rSqlFtryOFBRV3EQlJfr/jmfe2MuOzPVzbuTl/G92L+omaERMoFXcRCTm5hcX8eMFGPtxymLsGXMovb+pKnE6cVki1vFtmVtfMUszspup4fRGJXIdP5nPnK1/y0dbD/GpYV347vJsKeyUE9I6Z2SwzyzKz1DLtg81su5mlm9njpR56DFgUzKAiEvm2HjrJLVO/YFf2aWb8KJl7B7XzOlLYCvSfw9nA4NINZhYLTAWGAF2B0WbW1cyuB7YAWUHMKSIR7pNtWYx4eRXOwaKJA7iu68VeRwprAY25O+dWmllSmeZ+QLpzbjeAmS0AhgP1gLqcLfh5ZrbcOecPXmQRiTSvrt7Lr5em0aVlA2be3ZcWDRO9jhT2qnJCtRVwoNR2BtDfOfcAgJndAxwpr7Cb2QRgAkDbtm2rEENEwpXP7/jdP7Ywe9VerutyEX8d1Yu6tTTPIxiq7V10zs2+wOPTzewQMCwhIaFPdeUQkdB0pqCYh+Zv4ONtWYy7qh1PDO1CbIx5HStiVOUUdCbQptR265K2gGltGZHodCgnj5HTVrNiRza/u6UbT93UVYU9yKrSc18LdDKzdpwt6qOAMRV5Aa0KKRJ9UjNzGDdnLWcKfMy8O5lrO1/kdaSIFOhUyPnAaqCzmWWY2TjnXDHwAPABsBVY5JxLq8jO1XMXiS4fbTnMyGmriYuJYfHkASrs1SjQ2TKjy2lfDiyv7M7VcxeJDs45Zn6+h6eXb6V7q4bMuDuZi+prRkx10nruIlKtin1+nnonld+/u5UburZgwYQBKuw1QHdiEpFqcyq/iPvnbWDljmwmXtOex264nBidOK0R6rmLSLXIOJ7LiJdXsyr9CM/cdiU/H9JFhb0G6WoBEQm6TQdOMG5OCgXFPmbf24+rOjXzOlLU8bTnbmbDzGx6Tk6OlzFEJIje23yIO6evJjE+hrcmD1Rh94iGZUQkKJxzTPt0F5NfX0+Xlg1Ycv8gOl1c3+tYUUvDMiJSZUU+P08tSWXB2gPc1L0lz43sQWJ8rNexoppmy4hIleTkFTHl9XV8kX6UB/6lIz+9/jKdOA0BGpYRkUo7cCyX219exVd7jvHcyB787IbOKuwhQsMyIlIp6/YdZ8KrKRT7Ha+O7c+ADk29jiSlqLiLSIW9szGTRxZ/TcuGicy6py8dmtfzOpKUoeIuIgFzzvHXj3fyl//aSb92TXjlh31oXDfB61hyDjqhKiIByS/y8fibX7Nk40Fu792aP9zWjVpxmhETqnRCVUQu6OjpAn7w9zUs2XiQR27ozHMju6uwhzgNy4jIee08fIqxc9aSdbKAl37Qm6FXtvQ6kgRAxV1EyvXZzmymzF1PrfhYFk4cQM82jbyOJAFScReRc5r75T5+tTSNThfVY+Y9fWnVqLbXkaQCVNxF5J/4/I6n393KrC/28K+XX8QLo3tRr5ZKRbjRbBkR+V+nC4p5eP4GPt6Wxb2DkvjFjV2J1RWnYUmzZUQEgIMn8hg5bTUrdmTzu+FX8KthV6iwhzH9X0tE+Drj7M018gt9zLqnL9dc1tzrSFJFKu4iUe791EP8eOFGmtWrxev39ecyrcEeEVTcRaKUc46XP93Fs+9vp3fbRky/K5lm9Wp5HUuCRMVdJAoVFvt58u3NvLEug2E9LuHfR3TXzTUijIq7SJQ5kVvIxNfWsWbPMR76Xid+cl0nzHTiNNIEvbibWRfgYaAZ8LFz7uVg70NEKmfPkTOMnb2WzON5/OXOntzSq5XXkaSaBDQV0sxmmVmWmaWWaR9sZtvNLN3MHgdwzm11zk0C7gAGBT+yiFTG6l1HuWXqF+TkFTFvfH8V9ggX6Dz32cDg0g1mFgtMBYYAXYHRZta15LGbgXeB5UFLKiKVtijlAHfNWkPz+rVYMmUQyUlNvI4k1Syg4u6cWwkcK9PcD0h3zu12zhUCC4DhJc9f6pwbAvygvNc0swlmlmJmKdnZ2ZVLLyLn5fc7/vjeNh5d/DX92zXlzckDadu0jtexpAZUZcy9FXCg1HYG0N/MrgVuA2pxnp67c246MB0gOTnZVSGHiJxDXqGPnyzcyPtp3zCmf1t+c/MVxMd6elG61KCgn1B1zq0AVgTyXK0tI1I9sk7mc9+rKWzOzOEXN3Zh3FXtNCMmylSluGcCbUptty5pExEPbTl4knFz1pKTV8SMHyVzXdeLvY4kHqjK/9HWAp3MrJ2ZJQCjgKUVeQEtHCYSXP+15TAjpq0C4I1JA1TYo1igUyHnA6uBzmaWYWbjnHPFwAPAB8BWYJFzLq0iOzezYWY2PScnp6K5RaQU5xwzP9/D+NdS6NC8HkvuH8QVl6jTFM3MOe/PZSYnJ7uUlBSvY4iEpSKfn18vTeP1NfsZfEUL/nxnD+ok6OLzaGBm65xzyed6TL8BImEsJ6+IB+at57OdR5h0TQcevaEzMVqDXdCdmETC1v6juYyds5a9R87w7Iju3JHc5sLfJFFDd2ISCUPr9h3jlpe+IPtUAa+N66/CLv+Pp8VdJ1RFKu6djZmMnrGGBolxvD1lIAM6NPU6koQg9dxFwoTf7/jzh9t5eMFGerZpxNtTBtG+eT2vY0mI0glVkTCQV+jjZ29s4t3Nh7gjuTW/v+VKEuK0lICUT8VdJMQdPpnP+JKlBJ4Yejnjr26vpQTkgjRbRiSEpWbmcN+cFE7mFzH9R8lcrytOJUAacxcJUe+nHmLktNXEGCyeNFCFXSpEwzIiIcY5x0srdvHvH2ynV9tGvPKjPlxUP9HrWBJmVNxFQkhBsY+fv7WZt9ZncnOPS3h2RHcS42O9jiVhSGPuIiHi6OkCJr62jpR9x/np9Zfx4L921IlTqTSNuYuEgO3fnGL41C/YnJnDi2N68dD3OqmwS5VoWEbEY59sy+LB+RuonRDLwokD6NmmkdeRJAKouIt4xDnHrC/28vS7W7i8RQNm3pNMy4a1vY4lEULFXcQDRT4/v3wnjflf7ef7XS/mL6N6ag12CSr9NonUsBO5hUx5fT2rdh1l8rUdeOT7WoNdgk+zZURq0O7s04ybk0LG8VyeG9mDEX1aex1JIpRmy4jUkFXpR7j1pVXk5BUxb/x3VNilWmlYRqQGzFuzn1++k0q7ZnWZeXdf2jat43UkiXAq7iLVyOd3PP3uVmZ9sYdrLmvO38b0okFivNexJAqouItUk1P5RTw0fwOfbM/m3kFJPDm0C3GxWoNdaoaKu0g1OHAsl/vmpJCefZqnb+3GD/pf6nUkiTIq7iJBlrL3GBNfW0eRz8+rY/sxqGMzryNJFKqW4m5mtwA3Ag2Amc65D6tjPyKhZvG6DJ54azOtGtfm73cn00H3OBWPBDwAaGazzCzLzFLLtA82s+1mlm5mjwM455Y458YDk4A7gxtZJPT4/I4/LN/Kz97YRHJSY96eMlCFXTxVkbM7s4HBpRvMLBaYCgwBugKjzaxrqaf8ouRxkYh1Kr+I++asZfrK3dw14FLmjO1HozoJXseSKBfwsIxzbqWZJZVp7gekO+d2A5jZAmC4mW0F/gi855xbH6ywIqFm39EzjJuTwt4jZ/j9Ld344Xd04lRCQ1XH3FsBB0ptZwD9gQeB64CGZtbROTet7Dea2QRgAkDbtm2rGEOk5q3adYQpr5/tu7w6rh8DO+jEqYSOajmh6px7AXjhAs+ZbmaHgGEJCQl9qiOHSHV57ct9/GZpGknN6jLz7mQubVrX60gi/6SqV1RkAm1KbbcuaQuI1paRcFPk8/PUklSeWpLK1Z2a8faUgSrsEpKq2nNfC3Qys3acLeqjgDGBfrNWhZRwUnqp3gnfbc9jgy8nVkv1SoiqyFTI+cBqoLOZZZjZOOdcMfAA8AGwFVjknEsL9DXVc5dwkZ519h6nKXuP89zIHjwxtIsKu4S0isyWGV1O+3JgeWV2rp67hINPtmXx0PwN1IqPYf6E79Dn0sZeRxK5IK3nLlIO5xwzVu5m7Jy1tGlSh3ceuEqFXcKG7sQkcg4FxT6efDuVxesyGNKtBc/f0UP3OJWwop67SBnZpwoYM2MNi9dl8PD3OjF1TG8Vdgk7+o0VKSXtYA7j56RwLLeQqWN6c2P3ll5HEqkUT3vuZjbMzKbn5OR4GUMEgPdTDzHi5dU4YPGkgSrsEtY0LCNRz+93/MdHO5g0dz2dW9TnnfsH0a2VficlvGlYRqLa6YJifrpwIx9uOcxtvVvxh1uvJDE+1utYIlWm2TIStfYeOcOE11LYlX2Gp27qythBSZjpwiSJDBqWkai0ckc2N7/4OVmnCnh1bD/GXdVOhV0iioZlJKo45/j7Z3t45r2tdLqoPjPuSqZt0zpexxIJOhV3iRr5RT5+/tZm3t6QyZBuLXhuZA/q1tKfgEQm/WZLVDh4Io+Jr61jc2YOP73+Mh74l47EaOEviWA6oSoRb+3eY0yeu478Ij8z7krm+q4Xex1JpNrphKpEtHlr9jNmxpfUqxXH21MGqrBL1NCwjESkwmI/v1mWxutr9vPdy5rzt1G9aFgn3utYIjVGxV0izpHTBUyZu56v9h5j4nfb86jumCRRSMVdIsrXGSeY9No6jp4p5K+jejK8ZyuvI4l4QsVdIsaitQf4xTupNK9XizcnD9T6MBLVNFtGwl5BsY9fL93C/K/2c1XHZrwwuhdN6iZ4HUvEU5otI2HtUE4ed7zyJfO/2s/kazswZ2w/FXYRNCwjYWz1rqM8MG89+UU+pv2wN4O7af11kW+puEvYcc4x8/M9PPPeNi5tWoeFP/oOHS+q73UskZCi4i5hJbewmEcXf80/vj7EDVdczHMje1A/UfPXRcpScZewsffIGSa+to6dWad4dHBnJl/TQcv0ipQj6MXdzNoDTwINnXMjgv36Ep0+3nqYHy/cSGyMMWdsP67u1NzrSCIhLaDZMmY2y8yyzCy1TPtgM9tuZulm9jiAc263c25cdYSV6FPs8/Ps+9sYNyeFtk3qsOyBq1TYRQIQ6FTI2cDg0g1mFgtMBYYAXYHRZtY1qOkkqmWdyueHM9fw0opdjOrbhjcnD6RNE91YQyQQAQ3LOOdWmllSmeZ+QLpzbjeAmS0AhgNbgppQotKXu4/y4PwNnMov4rmRPRjRp7XXkUTCSlUuYmoFHCi1nQG0MrOmZjYN6GVmPy/vm81sgpmlmFlKdnZ2FWJIJPH7HVM/SWfMjC+pnxjHkvsHqbCLVELQT6g6544CkwJ43nQzOwQMS0hI6BPsHBJ+TuQW8tNFm/jvbVnc1L0lf7y9O/V0GzyRSqlKzz0TaFNqu3VJW8C0/IB8a9OBE9z4wud8tjOb3w6/gr+N7qXCLlIFVSnua4FOZtbOzBKAUcDSiryAmQ0zs+k5OTlViCHhzDnHnFV7GTFtFQCLJw3krgFJmr8uUkWBToWcD6wGOptZhpmNc84VAw8AHwBbgUXOubSK7Fw99+iWk1vE5Lnr+dXSNK7u1Jx3H7qKHm0aeR1LJCIEOltmdDnty4Hlld25lvyNXmv3HuPh+RvIOlXAE0Mv576r2hOjuyWJBI2W/JUa5fM7/vbxTu58ZTVxsTG8OXkgE77bQYVdJMh0xkpqzDc5+fx44Qa+3H2M4T0v4fe3dNOiXyLVRHdikhrx8dbD/OyNTeQX+fn3Ed0Z0ae1TpqKVCMNy0i1yi/y8ZtlaYybk0LLhrX5x0NXMTK5jQq7SDVTz12qTdrBHH6ycCM7Dp/mnoFJPD7kchLjY72OJRIV1HOXoPP5HS+tSOeWqV9wPLeI2ff25dc3X6HCLlKDdEJVgmr/0Vx+umgjKfuOM6RbC/5w65U01g2rRWqcirsEhXOON1Iy+M2yNGLM+PMdPbi1VyuNrYt4RGPuUmVZJ/N5ckkqH205TP92TXj+jh60bqx110W8ZM45rzOQnJzsUlJSvI4hFeSc4831mfx2WRr5xX4e+X5nxl3VThckidQQM1vnnEs+12MalpFKyTyRxxNvbebTHdkkX9qYP43oTofm9byOJSIlVNylQvx+x/y1+3lm+TZ8fsevh3XlrgFJ6q2LhBiNuUvAdmef5sm3U1m9+ygDOzTlT7d31z1NRUKUxtzlgvKLfEz9JJ1XPt1NrfgYnhjahVF9dZWpiNc05i6V9sm2LH65NJUDx/K4tVcrnhjaheb1a3kdS0QuQMVdzungiTx+u2wL76d9Q4fmdZk3vj8DOzTzOpaIBEjFXf5JbmExr3y6m1dW7gLgkRs6M/7q9iTEebpShYhUkIq7AGdnwby9IZNnP9jG4ZMF3Ni9JY8PvlwnTEXClGbLCF/tOcbv393C1xk59GjdkKljepOc1MTrWCJSBZotE8VSM3N4/sPtfLI9mxYNEnlsSGeG92ilOesiYUKzZeSfpGed4s8f7WD55m9oWDueR27ozL2DkqiToF8HkUihv+Yokp51mpdWpLNkQya142N56HudGHdVOxrW1n1MRSKNinsU2HjgBC+vSOfDLYepFRfD+KvbM/GaDjTROusiEUvFPUL5/Y7P0o8wbcUuVu8+SsPa8Tz4Lx25e2ASTevpIiSRSKfiHmFO5hexOCWDuV/uY/eRM1zcoBa/uLELo/q1pV4t/bhFokXQ/9rNrC7wElAIrHDOvR7sfcj/t+XgSeau2ceSDZnkFvro1bYR/3FnD4Ze2ZJacbp3qUi0Cai4m9ks4CYgyznXrVT7YOCvQCzwd+fcH4HbgMXOuWVmthBQca8m2acKeGdjJm+uz2TroZPUiotheM9LuGtAEt1a6abjItEs0J77bOBF4NVvG8wsFpgKXA9kAGvNbCnQGthc8jRf0JIKADl5RXyyLYulmw7y6Y5sfH5HjzaN+O3wK7i5xyU0qqOTpCISYHF3zq00s6Qyzf2AdOfcbgAzWwAM52yhbw1sBMpdkMTMJgATANq2bVvR3FEl+1QBH205zAdp37Bq1xGKfI4WDRKZ8N323N67FR0vqu91RBEJMVUZc28FHCi1nQH0B14AXjSzG4Fl5X2zc246MB3OXqFahRwRp7DYz4b9x/k8/Qgrdx7h64wTOAdtm9Th3kHtuOGKFvRq00hXkopIuYJ+QtU5dwa4N5Dnam2Zs/KLfKQdzGHdvuN8tecYq3cd5Uyhj9gYo2ebRjz8vU7ccEULLm9RXzfIEJGAVKW4ZwJtSm23LmkLmHNuGbAsOTl5fBVyhJVin589R86w5dBJNmfksG7/cdIyT1Lo8wOQ1LQOt/ZuxdWdmjOgQ1MaJOrqURGpuKoU97VAJzNrx9miPgoYU5EXiOSee5HPT8bxPPYePcPu7DNsO3SSbd+cYsfhUxQUny3kCXEx9GjdkHuvSqJP28b0vrQxzXSBkYgEQUCrQprZfOBaoBlwGPiVc26mmQ0F/sLZqZCznHNPVyZEOK4KeaagmG9O5nM4J59vTpZ85OSz92gu+46eIeN4Hj7//723Tesm0KVlA7q0rM/lLRrQpWUDOl5UTzfBEJFKO9+qkJ4u+Vuq5z5+586dNbpvv9+RV+Qjt9BHbmHxP30+lV/M8dxCTuQWcfxMISfyijiRW8jx3CKO5xaSfbKAUwXF/+816yfGkdS0Lpc2rUNS07okNatLUtM6JDWrqx65iARdyBb3b1W25/5B2je8t/kQRT5Hkc9Pkc9Psf/brx3FPj+FJZ+/bSso9nGmwEdeUWBT8GvHx9K4TjwN6yTQuE48jerE07xeLS5umEiLBom0KPl8cYNE6uryfhGpQSG7nntVx9y/yclnw4ETxMUY8bExJR9GXGwMteNjiUuM+9+2+NgY4mJiSIyPoW6tOGrHx1K3Viy1E+KoU+rrugmx1EuMo3GdBBrWjicxXpfui0j4Ceueu4hINDtfz11n80REIpCnxd3MhpnZ9JycHC9jiIhEHE+Lu3NumXNuQsOGWsFQRCSYNCwjIhKBNCwjIhKBNCwjIhKBNCwjIhKBVNxFRCJQSFzEZGbZwD6gIXCuAfhztZduK/v4t9vnek4z4Eglo5aX70KPXyh/2e1zfa38oZEfKn8MkZ7/fM85X96y2xf6Wvn/z6XOuebnfLZzLmQ+gOmBtpduK/v4t9vneg6QEux8Vc1/vuMpeyzK723+qhxDpOevyDFUNH8wfoeiIX/pj1Ablinvtnznal92nseXBfCcyrjQa1Q2f9ntc32t/Mp/vrZQyH++55wvb9ntQL6ujGjI/79CYlimJplZiitnLYZwoPzeC/djUH5v1VT+UOu514TpXgeoIuX3Xrgfg/J7q0byR13PXUQkGkRjz11EJOKpuIuIRCAVdxGRCKTiXoqZtTezmWa22OssgTKzumY2x8xmmNkPvM5TUeH4npdmZreUvPcLzez7XuepKDPrYmbTzGyxmU32Ok9llPwNpJjZTV5nqQwzu9bMPiv5OVwbrNeNmOJuZrPMLMvMUsu0Dzaz7WaWbmaPn+81nHO7nXPjqjfphVXwWG4DFjvnxgM313jYc6hI/lB5z0urYP4lJe/9JOBOL/KWVcH8W51zk4A7gEFe5C2rEn/LjwGLajbl+VXwGBxwGkgEMoIWojJXSoXiB/BdoDeQWqotFtgFtAcSgE1AV+BK4B9lPi4q9X2Lw+hYfg70LHnOPK9/DhXNHyrveRDyPw/09jp7ZfJztlPwHjDG6+wVzQ9cD4wC7gFu8jp7JY8hpuTxi4HXg5UhYnruzrmVwLEyzf2AdHe2d1gILACGO+c2O+duKvORVeOhy1GRY+Hsv/StS54TEj/PCuYPORXJb2f9CXjPObe+prOeS0Xff+fcUufcECAkhvUqmP9a4DvAGGC8mYXd34Bzzl/y+HGgVrAyhMQbUY1aAQdKbWeUtJ2TmTU1s2lALzP7eXWHq6DyjuUt4HYze5ngXGJeXc6ZP8Tf89LKe/8fBK4DRpjZJC+CBai89/9aM3vBzF4BlnsTLSDnzO+ce9I592NgHjCjVKEMReX9DG4ref9fA14M1s7igvVCkcA5d5SzY6dhwzl3BrjX6xyVFY7veWnOuReAF7zOUVnOuRXACo9jVJlzbrbXGSrLOfcWZztpQRXpPfdMoE2p7dYlbeEo3I9F+b2l/N6r0WOI9OK+FuhkZu3MLIGzJ16WepypssL9WJTfW8rvvZo9Bq/PKgfx7PR84BBQxNmxrHEl7UOBHZw9S/2k1zmj4ViUX/mjOX+oHIMWDhMRiUCRPiwjIhKVVNxFRCKQiruISARScRcRiUAq7iIiEUjFXUQkAqm4i4hEIBV3EZEIpOIuIhKB/geHfQmbo/UEwwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(halomodel_instance.nu,halomodel_instance.bias.bias())\n", + "plt.xscale('log')\n", + "plt.yscale('log')" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "def SHMR(halo_mass):\n", + " return 1e-2 / ((halo_mass / 2.6e11) ** (-0.5) + (halo_mass / 2.6e11) ** 0.61) * halo_mass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In that case galaxy occupation is just a Heaviside function:" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "def HOD_simple(halo_mass, stellar_mass_threshold):\n", + " one_ar = np.ones((len(halo_mass)))\n", + " one_ar[SHMR(halo_mass) < stellar_mass_threshold]=0\n", + " return one_ar\n", + " if SHMR(halo_mass) < stellar_mass_threshold:\n", + " return 0\n", + " else:\n", + " return 1" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "import hmf as hmf_package\n", + "from scipy import integrate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's perform integrals" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [], + "source": [ + "def get_galaxy_bias_theory(stellar_mass,z ):\n", + " hmf_instance = hmf_package.MassFunction(z=z,Mmin=1,Mmax=18)\n", + " halomodel_instance = hm.HaloModel(z=z,Mmin=1,Mmax=18)\n", + " if hasattr(stellar_mass, '__len__'):\n", + " biases = np.zeros((len(stellar_mass)))\n", + " for index,si in enumerate(stellar_mass):\n", + " up_integ = integrate.trapezoid(\n", + " hmf_instance.m, \n", + " hmf_instance.dndm * HOD_simple(hmf_instance.m, si) * halomodel_instance.bias.bias()\n", + " )\n", + " down_integ = integrate.trapezoid(\n", + " hmf_instance.m, \n", + " hmf_instance.dndm * HOD_simple(hmf_instance.m, si)\n", + " )\n", + " biases[index]= up_integ/down_integ\n", + " else:\n", + " up_integ = integrate.trapezoid(\n", + " hmf_instance.m, \n", + " hmf_instance.dndm * HOD_simple(hmf_instance.m, stellar_mass) * halomodel_instance.bias.bias()\n", + " )\n", + " down_integ = integrate.trapezoid(\n", + " hmf_instance.m, \n", + " hmf_instance.dndm * HOD_simple(hmf_instance.m, stellar_mass)\n", + " )\n", + " biases = up_integ/down_integ\n", + " return biases" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(19.588148636004714, 12.912479121690236)" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "get_galaxy_bias_theory(1e9, 10), get_galaxy_bias_theory_comples(1e9,10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the case of stochasticity, HOD becomes a bit more complicated since galaxies with a lower halo mass can have a higher stellar mass than predicted by the SHMR, and vice verse. In that case HOD becomes an error function in the case of log-normal scatter." + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [], + "source": [ + "#inverse of SHMR\n", + "def ms_mh(stellar_mass):\n", + " \"\"\"\n", + " Get inverse of the SHMR relation\n", + " Parameters\n", + " ----------\n", + " ms: float,\n", + " stellar mass at which we're evaluating the relation.\n", + " Returns\n", + " ----------\n", + " mh_mean: floats; optional,\n", + " mh of the relation\n", + " \"\"\"\n", + " mhs = np.logspace(1,20,500)\n", + " mss = SHMR(mhs)\n", + " return 10**np.interp(np.log10(stellar_mass), np.log10(mss), np.log10(mhs))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [], + "source": [ + "def HOD_comples(halo_mass, stellar_mass_threshold):\n", + " #scatter sigma:\n", + " sigma=0.3\n", + " return 0.5 * erfc(\n", + " -(\n", + " np.log10(halo_mass)-np.log10(\n", + " ms_mh(stellar_mass_threshold\n", + " )\n", + " )\n", + " )/sigma / np.sqrt(2)\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(hmf_instance.m,HOD_comples(hmf_instance.m, 1e9))\n", + "plt.xscale('log')" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [], + "source": [ + "def get_galaxy_bias_theory_comples(stellar_mass,z):\n", + " hmf_instance = hmf_package.MassFunction(z=z,Mmin=1,Mmax=18)\n", + " halomodel_instance = hm.HaloModel(z=z,Mmin=1,Mmax=18)\n", + " if hasattr(stellar_mass, '__len__'):\n", + " biases = np.zeros((len(stellar_mass)))\n", + " for index,si in enumerate(stellar_mass):\n", + " up_integ = integrate.trapezoid(\n", + " hmf_instance.m, \n", + " hmf_instance.dndm * HOD_comples(hmf_instance.m, si) * halomodel_instance.bias.bias()\n", + " )\n", + " down_integ = integrate.trapezoid(\n", + " hmf_instance.m, \n", + " hmf_instance.dndm * HOD_comples(hmf_instance.m, si)\n", + " )\n", + " biases[index]= up_integ/down_integ\n", + " else:\n", + " up_integ = integrate.trapezoid(\n", + " hmf_instance.m, \n", + " hmf_instance.dndm * HOD_comples(hmf_instance.m, stellar_mass) * halomodel_instance.bias.bias()\n", + " )\n", + " down_integ = integrate.trapezoid(\n", + " hmf_instance.m, \n", + " hmf_instance.dndm * HOD_comples(hmf_instance.m, stellar_mass)\n", + " )\n", + " biases =up_integ/down_integ\n", + " return biases" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.special import erfc\n" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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2sSWLVtscq7mrFy58ozlCZYtW0ZWVla7fZ4QnULuXvjhDRgxB0JiO/zjW9pjXwZMa3pAKeUKLAamA9HAHUqp6IbnrgNWA2tsVqkd6ohlex0h2JtbLkGITktrWPcUePjAlfNNKaFFwa613gycPOvwKCBNa31Ea10LvA9c3/D6z7TW04FZ5zunUuoBpVSyUio5Pz//0qpvR+21bO+GDRtISEggJiaGe++9l5qamjPOBZCcnMzEiRM5duwYr7/+On/5y1+Ij4/nm2++OaPG//73v8THxxMfH09CQkLj0gILFy4kJiaGuLg45s2bB8Abb7zByJEjiYuLY+bMmVRWVrJlyxY+++wznnzySeLj41m4cCHJycnMmjWL+Ph4qqqq2LFjB1dccQUjRoxg6tSpjXeuTpw4kUcffZTExET++te/ttvfgxAOZ98qOLrZCPVuPU0poS2zYvoAx5s8zgRGK6UmAjcBHlygx661XgIsAePO0wt+0tp5kNP8AlmXLDjGuLX3PNpj2d7ExERmz57Nhg0bGDx4MHfffTevvfYajz76aLM1hIeHM3fuXLy9vXniiSfOeX7RokUsXryY8ePHU15ejqenJ2vXruXTTz/l+++/p1u3bpw8afx7fNNNN3H//fcDMH/+fJYuXcrDDz/Mddddx4wZM7j55psBWLt2LYsWLSIxMZG6ujoefvhhPv30UwIDA/nggw94+umnefPNNwGora3l7DuGhejU6qpg/dMQNNQYhjGJzac7aq03AZtsfd6OdvayvcOHD29ctvdUT/5CTi3bCzQu2+vj40NERASDBw8G4J577mHx4sXnDfaLGT9+PI8//jizZs3ipptuIjQ0lK+++oo5c+bQrVs3AHr2NHoMKSkpzJ8/n+LiYsrLy5k6depFz3/gwAFSUlKYMmUKYKxvExIS0vj8bbfddkl1C+G0vnsFSjLgns/B1bzZ5G355BNA3yaPQxuO2d4FetbtpSOW7W3Kzc0Nq9UK0KIleQHmzZvHtddey5o1axg/fjzr168/72tnz57NypUriYuLY9myZWzatOmi59daM3To0PPusOTl1XHzcoWwe8UZ8O2fYeiNEHHxPRvaU1umO24HBimlIpRSXYDbgc9acwKlVJJSaklJSUkbymg/tl62d8iQIRw7doy0tDQAli9fzhVXXAEYwy47duwAaNwO72LnPnz4MDEx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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "stellar_masses = np.logspace(7,11,10)\n", + "plt.plot(stellar_masses, get_galaxy_bias_theory_comples(stellar_masses, 10), label='with scatter' )\n", + "plt.plot(stellar_masses, get_galaxy_bias_theory(stellar_masses, 10), label='without scatter')\n", + "plt.legend()\n", + "plt.xscale('log')\n", + "plt.yscale('log')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With stochasticity in play, galaxies are less biased since \"less-biased\" -> smaller-mass halos constribute to the integral. Given the shape of the hmf, the impace of scatter becomes more and more important for higher masses." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "21CMMC_mpi", + "language": "python", + "name": "21cmmc_mpi" + }, + "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.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}