def test_gaussian_chi_p(self): self.assertTrue( xp.all( spin.gaussian_chi_p( dict(chi_p=xp.linspace(-2, 2, 1001)), mu_chi_p=0.4, sigma_chi_p=0.1 ) == truncnorm(xp.linspace(-2, 2, 1001), mu=0.4, sigma=0.1, low=0, high=1) ) )
def setUp(self): self.a_array = xp.linspace(0, 1, 1000) self.costilts = xp.linspace(-1, 1, 1000) self.test_data = dict( a_1=xp.einsum('i,j->ij', self.a_array, xp.ones_like(self.a_array)), a_2=xp.einsum('i,j->ji', self.a_array, xp.ones_like(self.a_array)), cos_tilt_1=xp.einsum('i,j->ij', self.costilts, xp.ones_like(self.costilts)), cos_tilt_2=xp.einsum('i,j->ji', self.costilts, xp.ones_like(self.costilts))) self.prior = PriorDict( dict(amax=Uniform(0.3, 1), alpha_chi=Uniform(1, 4), beta_chi=Uniform(1, 4), xi_spin=Uniform(0, 1), sigma_spin=Uniform(0, 4))) self.n_test = 100
def test_2d_gaussian_normalized(self): model = spin.GaussianChiEffChiP() chi_eff, chi_p = xp.meshgrid(xp.linspace(-1, 1, 501), xp.linspace(0, 1, 300)) parameters = dict( mu_chi_eff=0.1, mu_chi_p=0.3, sigma_chi_eff=0.6, sigma_chi_p=0.5, spin_covariance=0.9, ) prob = model(dict(chi_eff=chi_eff, chi_p=chi_p), **parameters) self.assertAlmostEqual( xp.trapz(xp.trapz(prob, xp.linspace(-1, 1, 501)), xp.linspace(0, 1, 300)), 1, 5, )
def test_2d_gaussian_no_covariance_matches_independent(self): model = spin.GaussianChiEffChiP() data = dict(chi_eff=xp.linspace(-2, 2, 1001), chi_p=xp.linspace(0, 2, 1001)) self.assertTrue( xp.all( spin.gaussian_chi_eff(data, mu_chi_eff=0.4, sigma_chi_eff=0.1) * spin.gaussian_chi_p(data, mu_chi_p=0.4, sigma_chi_p=0.1) == model( data, mu_chi_eff=0.4, mu_chi_p=0.4, sigma_chi_eff=0.1, sigma_chi_p=0.1, spin_covariance=0.0, )))
def setUp(self): self.costilts = xp.linspace(-1, 1, 1000) self.test_data = dict( cos_tilt_1=xp.einsum("i,j->ij", self.costilts, xp.ones_like(self.costilts)), cos_tilt_2=xp.einsum("i,j->ji", self.costilts, xp.ones_like(self.costilts)), ) self.prior = PriorDict(dict(xi_spin=Uniform(0, 1), sigma_spin=Uniform(0, 4))) self.n_test = 100
def test_2d_gaussian_no_covariance_matches_independent(self): model = spin.GaussianChiEffChiP() chi_eff, chi_p = xp.meshgrid(xp.linspace(-1, 1, 501), xp.linspace(0, 1, 300)) data = dict(chi_eff=chi_eff, chi_p=chi_p) self.assertTrue( xp.all( spin.gaussian_chi_eff(data, mu_chi_eff=0.6, sigma_chi_eff=0.2) * spin.gaussian_chi_p(data, mu_chi_p=0.4, sigma_chi_p=0.1) == model( data, mu_chi_eff=0.6, mu_chi_p=0.4, sigma_chi_eff=0.2, sigma_chi_p=0.1, spin_covariance=0.0, ) ) )
def setUp(self): self.a_array = xp.linspace(0, 1, 1000) self.test_data = dict( a_1=xp.einsum("i,j->ij", self.a_array, xp.ones_like(self.a_array)), a_2=xp.einsum("i,j->ji", self.a_array, xp.ones_like(self.a_array)), ) self.prior = PriorDict( dict(amax=Uniform(0.3, 1), alpha_chi=Uniform(1, 4), beta_chi=Uniform(1, 4)) ) self.n_test = 100
def __init__(self): self.retention_file = self.__retention_file__() branching_dataset = np.load( self.retention_file, allow_pickle=True, encoding="latin1", ) self.a_1_array = xp.asarray(branching_dataset["a1"]) self.a_2_array = xp.asarray(branching_dataset["a2"]) self.mass_ratio_array = xp.asarray(branching_dataset["q"]) self.retention_fraction = xp.asarray( branching_dataset["interpolated_retention_fraction"]) self.mass_1s = xp.linspace(2, 200, 2000) self.mass_ratio_grid, self.mass_1_grid = xp.meshgrid( self.mass_ratio_array, self.mass_1s) self.first_generation_data = dict(mass_1=self.mass_1_grid, mass_ratio=self.mass_ratio_grid)
def setUp(self): model = lambda x: xp.ones_like(x['a']) data = dict(a=xp.linspace(0, 1, 1000), vt=2) self.n_test = 100 self.vt = vt.GridVT(model, data)
def setUp(self): self.zs = xp.linspace(1e-3, 1, 1000) self.test_data = dict(redshift=self.zs) self.n_test = 100
def setUp(self) -> None: model = (lambda dataset: xp.exp(-((dataset["a"] - 0.5)**2) / 2) / (2 * xp.pi)**0.5) self.data = dict(a=xp.linspace(0, 1, 1000), prior=xp.ones(1000), vt=2) self.vt = vt.ResamplingVT(data=self.data, model=model, n_events=0)