def test_prob_2_priors(self): real = Uniform(*(np.random.rand(2) + np.array([0, 1]))) imag = Uniform(*(np.random.rand(2) + np.array([0, 1]))) cp = ComplexPrior(real, imag) self.assertEqual(cp.prob(1), 0) self.assertEqual(cp.prob(1.0j), 0) self.assertAlmostEqual(cp.prob(1 + 1.0j), real.prob(1) * imag.prob(1))
def test_prob(self): bounds = np.random.rand(2) + np.array([0, 1]) u = Uniform(*bounds) self.assertEqual(u.prob(0), 0) self.assertEqual(u.prob(2), 0) self.assertAlmostEqual(u.prob(1), 1 / np.diff(bounds))
def test_improper_prob(self): bound = np.random.rand() u = Uniform(-np.inf, bound) self.assertEqual(u.interval, np.inf) self.assertEqual(u.prob(bound - 1), 0) self.assertEqual(u.lnprob(bound - 1), -1e6)