def setUp(self): self.m1s = np.linspace(3, 100, 1000) self.qs = np.linspace(0.01, 1, 500) self.dm = self.m1s[1] - self.m1s[0] self.dq = self.qs[1] - self.qs[0] m1s_grid, qs_grid = xp.meshgrid(self.m1s, self.qs) self.dataset = dict(mass_1=m1s_grid, mass_ratio=qs_grid) self.power_prior = PriorDict() self.power_prior["alpha"] = Uniform(minimum=-4, maximum=12) self.power_prior["beta"] = Uniform(minimum=-4, maximum=12) self.power_prior["mmin"] = Uniform(minimum=3, maximum=10) self.power_prior["mmax"] = Uniform(minimum=30, maximum=100) self.gauss_prior = PriorDict() self.gauss_prior["lam"] = Uniform(minimum=0, maximum=1) self.gauss_prior["mpp"] = Uniform(minimum=20, maximum=60) self.gauss_prior["sigpp"] = Uniform(minimum=0, maximum=10) self.double_gauss_prior = PriorDict() self.double_gauss_prior["lam"] = Uniform(minimum=0, maximum=1) self.double_gauss_prior["lam_1"] = Uniform(minimum=0, maximum=1) self.double_gauss_prior["mpp_1"] = Uniform(minimum=20, maximum=60) self.double_gauss_prior["mpp_2"] = Uniform(minimum=20, maximum=60) self.double_gauss_prior["sigpp_1"] = Uniform(minimum=0, maximum=10) self.double_gauss_prior["sigpp_2"] = Uniform(minimum=0, maximum=10) self.smooth_prior = PriorDict() self.smooth_prior["delta_m"] = Uniform(minimum=0, maximum=10) self.n_test = 10
def setUp(self): self.m1s = np.linspace(3, 100, 1000) self.qs = np.linspace(0.01, 1, 500) m1s_grid, qs_grid = xp.meshgrid(self.m1s, self.qs) self.dataset = dict(mass_1=m1s_grid, mass_ratio=qs_grid) self.power_prior = PriorDict() self.power_prior["alpha_1"] = Uniform(minimum=-4, maximum=12) self.power_prior["alpha_2"] = Uniform(minimum=-4, maximum=12) self.power_prior["beta"] = Uniform(minimum=-4, maximum=12) self.power_prior["mmin"] = Uniform(minimum=3, maximum=10) self.power_prior["mmax"] = Uniform(minimum=40, maximum=100) self.power_prior["break_fraction"] = Uniform(minimum=40, maximum=100) self.n_test = 10
def setUp(self): self.ms = np.linspace(3, 100, 1000) self.dm = self.ms[1] - self.ms[0] m1s_grid, m2s_grid = xp.meshgrid(self.ms, self.ms) self.dataset = dict(mass_1=m1s_grid, mass_2=m2s_grid) self.power_prior = PriorDict() self.power_prior["alpha"] = Uniform(minimum=-4, maximum=12) self.power_prior["beta"] = Uniform(minimum=-4, maximum=12) self.power_prior["mmin"] = Uniform(minimum=3, maximum=10) self.power_prior["mmax"] = Uniform(minimum=40, maximum=100) self.gauss_prior = PriorDict() self.gauss_prior["lam"] = Uniform(minimum=0, maximum=1) self.gauss_prior["mpp"] = Uniform(minimum=20, maximum=60) self.gauss_prior["sigpp"] = Uniform(minimum=0, maximum=10) self.n_test = 10
def setUp(self): self.m1s = np.linspace(3, 100, 1000) self.qs = np.linspace(0.01, 1, 500) m1s_grid, qs_grid = xp.meshgrid(self.m1s, self.qs) self.dataset = dict(mass_1=m1s_grid, mass_ratio=qs_grid) self.power_prior = PriorDict() self.power_prior["alpha"] = Uniform(minimum=-4, maximum=12) self.power_prior["beta"] = Uniform(minimum=-4, maximum=12) self.power_prior["mmin"] = Uniform(minimum=3, maximum=10) self.power_prior["mmax"] = Uniform(minimum=40, maximum=100) self.gauss_prior = PriorDict() self.gauss_prior["lam"] = Uniform(minimum=0, maximum=1) self.gauss_prior["mpp"] = Uniform(minimum=20, maximum=60) self.gauss_prior["sigpp"] = Uniform(minimum=0, maximum=10) self.n_test = 10
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 __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 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.m1s = np.linspace(3, 100, 1000) self.qs = np.linspace(0.01, 1, 500) self.dm = self.m1s[1] - self.m1s[0] self.dq = self.qs[1] - self.qs[0] m1s_grid, qs_grid = xp.meshgrid(self.m1s, self.qs) self.dataset = dict(mass_1=m1s_grid, mass_ratio=qs_grid) self.power_prior = PriorDict() self.power_prior['alpha'] = Uniform(minimum=-4, maximum=12) self.power_prior['beta'] = Uniform(minimum=-4, maximum=12) self.power_prior['mmin'] = Uniform(minimum=3, maximum=10) self.power_prior['mmax'] = Uniform(minimum=30, maximum=100) self.gauss_prior = PriorDict() self.gauss_prior['lam'] = Uniform(minimum=0, maximum=1) self.gauss_prior['mpp'] = Uniform(minimum=20, maximum=60) self.gauss_prior['sigpp'] = Uniform(minimum=0, maximum=10) self.smooth_prior = PriorDict() self.smooth_prior['delta_m'] = Uniform(minimum=0, maximum=10) self.n_test = 10