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 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 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, ) ) )