Skip to content

Instantly share code, notes, and snippets.

@aphearin
Created April 7, 2018 17:11
Show Gist options
  • Save aphearin/8963241186be99ea8f12483d7321876e to your computer and use it in GitHub Desktop.
Save aphearin/8963241186be99ea8f12483d7321876e to your computer and use it in GitHub Desktop.
Influence of isolation criteria on central galaxy clustering and lensing
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"morange = u'#ff7f0e'\n",
"mblue = u'#1f77b4'\n",
"mgreen = u'#2ca02c'\n",
"mred = u'#d62728'\n",
"mpurple = u'#9467bd'"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/aphearin/anaconda/lib/python2.7/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
" from ._conv import register_converters as _register_converters\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"1444262\n"
]
}
],
"source": [
"from halotools.sim_manager import CachedHaloCatalog\n",
"halocat = CachedHaloCatalog(simname='bolplanck')\n",
"print(len(halocat.halo_table))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from halotools.empirical_models import PrebuiltSubhaloModelFactory\n",
"model = PrebuiltSubhaloModelFactory('behroozi10', redshift=0.)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"model.populate_mock(halocat)\n",
"\n",
"from halotools.utils import crossmatch\n",
"idxA, idxB = crossmatch(\n",
" model.mock.galaxy_table['halo_id'], halocat.halo_table['halo_id'])\n",
"\n",
"model.mock.galaxy_table['halo_halfmass_scale_factor'] = 0.\n",
"model.mock.galaxy_table['halo_delta_vmax_behroozi17'] = 0.\n",
"model.mock.galaxy_table['halo_nfw_conc'] = 0.\n",
"\n",
"model.mock.galaxy_table['halo_halfmass_scale_factor'][idxA] = (\n",
" halocat.halo_table['halo_halfmass_scale_factor'][idxB])\n",
"model.mock.galaxy_table['halo_delta_vmax_behroozi17'][idxA] = (\n",
" halocat.halo_table['halo_delta_vmax_behroozi17'][idxB])\n",
"model.mock.galaxy_table['halo_nfw_conc'][idxA] = (\n",
" halocat.halo_table['halo_nfw_conc'][idxB])\n",
"\n",
"mask = model.mock.galaxy_table['stellar_mass'] > 10**9.5\n",
"mask *= (model.mock.galaxy_table['halo_mvir_host_halo'] > 0.)\n",
"galaxies = model.mock.galaxy_table[mask]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['halo_upid', 'halo_hostid', 'halo_mpeak', 'halo_x', 'halo_y', 'halo_id', 'halo_z', 'halo_vx', 'halo_vy', 'halo_vz', 'halo_rvir', 'halo_mvir', 'halo_mvir_host_halo', 'x', 'y', 'z', 'vx', 'vy', 'vz', 'galid', 'stellar_mass', 'halo_halfmass_scale_factor', 'halo_delta_vmax_behroozi17', 'halo_nfw_conc']\n"
]
}
],
"source": [
"print(galaxies.keys())"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"from halotools.mock_observables import conditional_spherical_isolation\n",
"\n",
"mstar_mask = galaxies['stellar_mass'] > 0\n",
"x = galaxies['x'][mstar_mask]\n",
"y = galaxies['y'][mstar_mask]\n",
"z = galaxies['z'][mstar_mask]\n",
"sample1 = np.vstack((x,y,z)).T\n",
"sample2 = np.copy(sample1)\n",
"marks1 = galaxies['stellar_mass'][mstar_mask]\n",
"marks2 = galaxies['stellar_mass'][mstar_mask]\n",
"\n",
"r_max = 1.5\n",
"cond_func = 2\n",
"galaxies['is_isolated'] = conditional_spherical_isolation(\n",
" sample1, sample2, r_max, marks1, marks2, cond_func, period=model.mock.Lbox)\n",
"\n",
"r_max = 0.75\n",
"cond_func = 2\n",
"galaxies['is_isolated_relaxed'] = conditional_spherical_isolation(\n",
" sample1, sample2, r_max, marks1, marks2, cond_func, period=model.mock.Lbox)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"isolation fraction = 0.40\n",
"relaxed isolation fraction = 0.62\n"
]
}
],
"source": [
"mstar_mask = (galaxies['stellar_mass'] > 10**10) & (galaxies['stellar_mass'] < 10**10.25)\n",
"print(\"isolation fraction = {0:.2f}\".format(galaxies['is_isolated'][mstar_mask].mean()))\n",
"print(\"relaxed isolation fraction = {0:.2f}\".format(\n",
" galaxies['is_isolated_relaxed'][mstar_mask].mean()))\n",
"sm_sample = galaxies[mstar_mask]\n",
"\n",
"cenmask = sm_sample['halo_upid'] == -1\n",
"isomask = sm_sample['is_isolated'] == True\n",
"isomask_relaxed = sm_sample['is_isolated_relaxed'] == True\n",
"all_iso = sm_sample[isomask]\n",
"all_iso_relaxed = sm_sample[isomask_relaxed]\n",
"all_cens = sm_sample[cenmask]\n",
"all_sats = sm_sample[~cenmask]\n",
"iso_cens = sm_sample[cenmask & isomask]\n",
"iso_cens_relaxed = sm_sample[cenmask & isomask_relaxed]\n",
"iso_sats = sm_sample[~cenmask & isomask]\n",
"noniso_cens = sm_sample[cenmask & ~isomask]\n",
"noniso_sats = sm_sample[~cenmask & ~isomask]\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x12b1d6290>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"logm_bins = np.linspace(10.5, 15, 50)\n",
"\n",
"__=ax.hist(np.log10(all_sats['halo_mvir_host_halo']), bins=logm_bins, normed=True, \n",
" alpha=0.8, label=r'${\\rm all\\ satellites}$', color=mred)\n",
"__=ax.hist(np.log10(noniso_cens['halo_mvir_host_halo']), bins=logm_bins, normed=True, \n",
" alpha=0.8, label=r'${\\rm non-IP\\ centrals}$', color=morange)\n",
"__=ax.hist(np.log10(iso_cens['halo_mvir_host_halo']), bins=logm_bins, normed=True, \n",
" alpha=0.8, label=r'${\\rm IP\\ centrals}$', color=mblue)\n",
"\n",
"title = ax.set_title(r'${10 < \\log M_{\\ast} < 10.25}$')\n",
"xlabel = ax.set_xlabel(r'${\\rm M_{\\rm halo}}$')\n",
"legend = ax.legend()\n",
"figname = 'FIGS/isolation_effect_host_halo_mass.pdf'\n",
"fig.savefig(figname, bbox_extra_artists=[xlabel], bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Compare 3d clustering of isolated and non-isolated centrals"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"from halotools.mock_observables import return_xyz_formatted_array, tpcf\n",
"\n",
"pos_all_cens = return_xyz_formatted_array(\n",
" all_cens['x'], all_cens['y'], all_cens['z'])\n",
"pos_all_sats = return_xyz_formatted_array(\n",
" all_sats['x'], all_sats['y'], all_sats['z'])\n",
"pos_iso_cens = return_xyz_formatted_array(\n",
" iso_cens['x'], iso_cens['y'], iso_cens['z'])\n",
"pos_iso_cens_relaxed = return_xyz_formatted_array(\n",
" iso_cens_relaxed['x'], iso_cens_relaxed['y'], iso_cens_relaxed['z'])\n",
"pos_noniso_cens = return_xyz_formatted_array(\n",
" noniso_cens['x'], noniso_cens['y'], noniso_cens['z'])\n",
"\n",
"rbins = np.logspace(-0.5, 1.75, 25)\n",
"rmids = 0.5*(rbins[:-1] + rbins[1:])\n",
"xi_all_sats = tpcf(pos_all_sats, rbins, period=model.mock.Lbox)\n",
"xi_all_cens = tpcf(pos_all_cens, rbins, period=model.mock.Lbox)\n",
"xi_iso_cens = tpcf(pos_iso_cens, rbins, period=model.mock.Lbox)\n",
"xi_iso_cens_relaxed = tpcf(pos_iso_cens_relaxed, rbins, period=model.mock.Lbox)\n",
"xi_noniso_cens = tpcf(pos_noniso_cens, rbins, period=model.mock.Lbox)\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x12b1c9ed0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"__=ax.loglog()\n",
"__=ax.plot(rmids, xi_all_sats, label=r'${\\rm all\\ satellites}$', color=mred)\n",
"__=ax.plot(rmids, xi_noniso_cens, label=r'${\\rm non-IP\\ centrals}$', color=morange)\n",
"__=ax.plot(rmids, xi_all_cens, label=r'${\\rm all\\ centrals}$', color='k')\n",
"__=ax.plot(rmids, xi_iso_cens, label=r'${\\rm IP\\ centrals}$', color=mblue)\n",
"__=ax.plot(rmids, xi_iso_cens_relaxed, '--', \n",
" label=r'${\\rm relaxed\\ IP\\ centrals}$', color=mblue)\n",
"\n",
"xlabel = ax.set_xlabel(r'${\\rm r\\ [Mpc]}$')\n",
"ylabel = ax.set_ylabel(r'$\\xi(r)$')\n",
"title = ax.set_title(r'${10 < \\log M_{\\ast} < 10.25}$')\n",
"legend = ax.legend(loc='upper right')\n",
"xlim = ax.set_xlim(0.3, 50)\n",
"ylim = ax.set_ylim(0.03, 1e4)\n",
"figname = 'FIGS/isolation_effect_galaxy_clustering.pdf'\n",
"fig.savefig(figname, bbox_extra_artists=[xlabel, ylabel], bbox_inches='tight')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Compare halo concentrations"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x14c48e2d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from scipy.stats import gaussian_kde\n",
"\n",
"kde_iso_cens_zhalf = gaussian_kde(1./iso_cens['halo_halfmass_scale_factor']-1)\n",
"kde_noniso_cens_zhalf = gaussian_kde(1./noniso_cens['halo_halfmass_scale_factor']-1)\n",
"\n",
"kde_iso_cens_conc = gaussian_kde(iso_cens['halo_nfw_conc'])\n",
"kde_noniso_cens_conc = gaussian_kde(noniso_cens['halo_nfw_conc'])\n",
"\n",
"z = np.linspace(0, 10, 100)\n",
"pdf_zhalf_iso_cens = kde_iso_cens_zhalf.evaluate(z)\n",
"pdf_zhalf_noniso_cens = kde_noniso_cens_zhalf.evaluate(z)\n",
"\n",
"conc = np.linspace(0, 50, 150)\n",
"pdf_conc_iso_cens = kde_iso_cens_conc.evaluate(conc)\n",
"pdf_conc_noniso_cens = kde_noniso_cens_conc.evaluate(conc)\n",
"\n",
"fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))\n",
"\n",
"__=ax1.fill(conc, pdf_conc_iso_cens, \n",
" alpha=0.8, label=r'${\\rm IP\\ centrals}$', color=mblue)\n",
"__=ax1.fill(conc, pdf_conc_noniso_cens-0.0015, \n",
" alpha=0.8, label=r'${\\rm non-IP\\ centrals}$', color=morange)\n",
"\n",
"__=ax2.fill(z, pdf_zhalf_iso_cens-0.01, \n",
" alpha=0.8, label=r'${\\rm IP\\ centrals}$', color=mblue)\n",
"__=ax2.fill(z, pdf_zhalf_noniso_cens-0.01, \n",
" alpha=0.8, label=r'${\\rm non-IP\\ centrals}$', color=morange)\n",
"\n",
"title1 = ax1.set_title(r'${10 < \\log M_{\\ast} < 10.25}$')\n",
"title2 = ax2.set_title(r'${10 < \\log M_{\\ast} < 10.25}$')\n",
"\n",
"\n",
"xlabel1 = ax1.set_xlabel(r'${\\rm halo\\ concentration}$')\n",
"xlim1 = ax1.set_xlim(0, 30)\n",
"ylim1 = ax1.set_ylim(0, 0.155)\n",
"\n",
"xlabel2 = ax2.set_xlabel(r'${\\rm half-mass\\ redshift}$')\n",
"xlim2 = ax2.set_xlim(0, 3.5)\n",
"ylim2 = ax2.set_ylim(0, 1)\n",
"\n",
"__=ax1.legend()\n",
"__=ax2.legend()\n",
"\n",
"figname = 'FIGS/isolation_effect_halo_assembly.pdf'\n",
"fig.savefig(figname, bbox_extra_artists=[xlabel, ylabel], bbox_inches='tight')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Compare the galaxy lensing signals"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"from halotools.mock_observables import delta_sigma\n",
"particles = return_xyz_formatted_array(\n",
" halocat.ptcl_table['x'], halocat.ptcl_table['y'], halocat.ptcl_table['z'])\n",
"particle_masses = halocat.particle_mass\n",
"total_num_ptcl_in_snapshot = halocat.num_ptcl_per_dim**3\n",
"downsampling_factor = total_num_ptcl_in_snapshot/float(len(particles))\n",
"\n",
"rp_bins = np.logspace(-1, 1.5, 40)\n",
"period = model.mock.Lbox\n",
"rp_mids, ds_all_cens = delta_sigma(pos_all_cens, particles, particle_masses, \n",
" downsampling_factor, rp_bins, period)\n",
"\n",
"rp_mids, ds_iso_cens = delta_sigma(pos_iso_cens, particles, particle_masses, \n",
" downsampling_factor, rp_bins, period)\n",
"\n",
"rp_mids, ds_iso_cens_relaxed = delta_sigma(pos_iso_cens_relaxed, particles, particle_masses, \n",
" downsampling_factor, rp_bins, period)\n",
"\n",
"rp_mids, ds_noniso_cens = delta_sigma(pos_noniso_cens, particles, particle_masses, \n",
" downsampling_factor, rp_bins, period)\n",
"\n",
"rp_mids, ds_all_sats = delta_sigma(pos_all_sats, particles, particle_masses, \n",
" downsampling_factor, rp_bins, period)\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x14c4b8610>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"__=ax.loglog()\n",
"\n",
"__=ax.plot(rp_mids, ds_all_sats/1e12, \n",
" label=r'${\\rm all\\ satellites}$', color=mred)\n",
"__=ax.plot(rp_mids, ds_noniso_cens/1e12, \n",
" label=r'${\\rm non-IP\\ centrals}$', color=morange)\n",
"__=ax.plot(rp_mids, ds_all_cens/1e12, \n",
" label=r'${\\rm all\\ centrals}$', color='k')\n",
"__=ax.plot(rp_mids, ds_iso_cens_relaxed/1e12, '--', \n",
" label=r'${\\rm relaxed\\ IP\\ centrals}$', color=mblue)\n",
"__=ax.plot(rp_mids, ds_iso_cens/1e12, \n",
" label=r'${\\rm IP\\ centrals}$', color=mblue)\n",
"\n",
"legend = ax.legend()\n",
"\n",
"xlabel = ax.set_xlabel(r'$R_{\\rm p}\\ {\\rm [Mpc]}$')\n",
"ylabel = ax.set_ylabel(r'${\\Delta\\Sigma(R_{\\rm p})}\\ [M_{\\odot}/{\\rm pc}^2]$')\n",
"title = ax.set_title(r'${10 < \\log M_{\\ast} < 10.25}$')\n",
"\n",
"xlim = ax.set_xlim(0.1, 30)\n",
"ylim = ax.set_ylim(0.05, 500)\n",
"figname = 'FIGS/isolation_effect_galaxy_lensing.pdf'\n",
"fig.savefig(figname, bbox_extra_artists=[xlabel, ylabel], bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"One-halo term lensing for centrals is the same regardless of whether the central is isolated. The lensing one-halo term is a pure mass probe. Not so for the two-halo term. Once you hit a few hundred ${\\rm kpc},$ the isolated centrals begin to show signs of living in an underdense large-scale mode. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Look at large-scale density of dark matter\n",
"\n",
"The isolation criteria is defined on scales $R_{\\rm iso} < 0.5\\ {\\rm Mpc}.$ For every galaxy in our sample, we'll calculate the dark matter density in an annulus with $R_{\\rm inner}=5\\ {\\rm Mpc}$ and $R_{\\rm outer}=10\\ {\\rm Mpc}.$ \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"from halotools.mock_observables import large_scale_density_spherical_annulus\n",
"inner_radius, outer_radius = 5., 10.\n",
"\n",
"from astropy.cosmology import Planck15\n",
"from astropy import units as u\n",
"total_num_ptcl_in_snapshot = halocat.num_ptcl_per_dim**3\n",
"downsampling_factor = total_num_ptcl_in_snapshot/float(len(particles))\n",
"mp = halocat.particle_mass*u.solMass\n",
"norm_factor = (Planck15.h**3*downsampling_factor*mp/u.Mpc**3).to(u.solMass/u.kpc**3)\n",
"\n",
"all_cens['density_10mpc'] = norm_factor*large_scale_density_spherical_annulus(\n",
" pos_all_cens, particles, inner_radius, outer_radius, period=250.)\n",
"iso_cens['density_10mpc'] = norm_factor*large_scale_density_spherical_annulus(\n",
" pos_iso_cens, particles, inner_radius, outer_radius, period=250.)\n",
"iso_cens_relaxed['density_10mpc'] = norm_factor*large_scale_density_spherical_annulus(\n",
" pos_iso_cens_relaxed, particles, inner_radius, outer_radius, period=250.)\n",
"noniso_cens['density_10mpc'] = norm_factor*large_scale_density_spherical_annulus(\n",
" pos_noniso_cens, particles, inner_radius, outer_radius, period=250.)\n",
"all_sats['density_10mpc'] = norm_factor*large_scale_density_spherical_annulus(\n",
" pos_all_sats, particles, inner_radius, outer_radius, period=250.)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x14bfa3e50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"density_bins = np.linspace(0, 4, 150)\n",
"__=ax.hist(np.log10(iso_cens['density_10mpc']), \n",
" bins=density_bins, normed=True, alpha=0.8, \n",
" label=r'${\\rm IP\\ centrals}$', color=mblue)\n",
"__=ax.hist(np.log10(iso_cens_relaxed['density_10mpc']), \n",
" bins=density_bins, normed=True, alpha=0.8, \n",
" label=r'${\\rm relaxed\\ IP\\ centrals}$', color=mpurple)\n",
"__=ax.hist(np.log10(noniso_cens['density_10mpc']), \n",
" bins=density_bins, normed=True, alpha=0.8,\n",
" label=r'${\\rm non-IP\\ centrals}$', color=morange)\n",
"\n",
"xlim = ax.set_xlim(0.5, 2.5)\n",
"__=ax.set_xticks(np.arange(0.5, 3, 0.5))\n",
"xticklabels = [r'$3$', r'$10$', r'$30$', r'$100$', r'$300$']\n",
"ax.set_xticklabels(xticklabels)\n",
"\n",
"ylim = ax.set_ylim(0, 3)\n",
"legend = ax.legend()\n",
"title = ax.set_title(\n",
" r'$\\rho_{\\rm DM}\\ {\\rm in\\ annulus:\\ (r_{inner}, r_{outer})=(5,10)Mpc}$')\n",
"xlabel = ax.set_xlabel(r'${\\rho_{\\rm DM}}\\ [M_{\\odot}/{\\rm kpc^3}]$')\n",
"\n",
"figname = 'FIGS/isolation_effect_dm_density.pdf'\n",
"fig.savefig(figname, bbox_extra_artists=[xlabel], bbox_inches='tight')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda root]",
"language": "python",
"name": "conda-root-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.14"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment