Source code for jax_cosmo.bias

# This module contains implementations of galaxy bias
import jax.numpy as np
from jax.tree_util import register_pytree_node_class

import jax_cosmo.background as bkgrd
from jax_cosmo.jax_utils import container
from jax_cosmo.utils import a2z
from jax_cosmo.utils import z2a


[docs]@register_pytree_node_class class constant_linear_bias(container): """ Class representing a linear bias Parameters: ----------- b: redshift independent bias value """ def __call__(self, cosmo, z): b = self.params[0] return b * np.ones_like(z)
[docs]@register_pytree_node_class class inverse_growth_linear_bias(container): """ TODO: what's a better name for this? Class representing an inverse bias in 1/growth(a) Parameters: ----------- cosmo: cosmology b: redshift independent bias value at z=0 """ def __call__(self, cosmo, z): b = self.params[0] return b / bkgrd.growth_factor(cosmo, z2a(z))
[docs]@register_pytree_node_class class des_y1_ia_bias(container): """ https://arxiv.org/pdf/1708.01538.pdf Sec. VII.B Parameters: ----------- cosmo: cosmology A: amplitude eta: redshift dependent slope z0: pivot redshift """ def __call__(self, cosmo, z): A, eta, z0 = self.params return A * ((1.0 + z) / (1.0 + z0)) ** eta