def test_TimeSeriesAlphaModel(): n = TimeIndependent(prior.Gaussian(5, .5)) assert_pickle_roundtrip(n) st = Sphere(n=n, r=TimeIndependent(prior.BoundedGaussian(1.6, .1, 0, np.inf)), center=(prior.Gaussian(10, 1), prior.Gaussian(10, 1), prior.BoundedGaussian(1.6, .1, 0, np.inf))) assert_pickle_roundtrip(st) noise_sd = .1 mt = TimeSeriesAlphaModel(st, Mie, noise_sd, alpha=prior.Uniform(0, 1), n_frames=2) assert_pickle_roundtrip(mt)
def test_prior_math(): u = Uniform(1, 2) g = Gaussian(1, 2) b = prior.BoundedGaussian(1, 2, 0, 3) assert_equal(u + 1, Uniform(2, 3)) assert_equal(1 + u, Uniform(2, 3)) assert_equal(-u, Uniform(-2, -1)) assert_equal(1 - u, Uniform(-1, 0)) assert_equal(u - 1, Uniform(0, 1)) assert_equal(2 * u, Uniform(2, 4)) assert_equal(u * 2, Uniform(2, 4)) assert_equal(u / 2, Uniform(0.5, 1)) print(g + 1.) assert_equal(g + 1., Gaussian(2, 2.)) assert_equal(-g, Gaussian(-1, 2)) assert_equal(b + 1., prior.BoundedGaussian(2., 2, 1., 4.)) assert_equal(-b, prior.BoundedGaussian(-1, 2, -3, 0)) assert_equal(2 * g, Gaussian(2, 4)) assert_equal(g * 2, Gaussian(2, 4)) assert_equal(g / 2, Gaussian(0.5, 1)) assert_equal(g + g, Gaussian(2, np.sqrt(8))) assert_equal(g + np.array([0, 1]), np.array([Gaussian(1, 2), Gaussian(2, 2)])) assert_equal(g * np.array([1, 2]), np.array([Gaussian(1, 2), Gaussian(2, 4)])) with assert_raises(TypeError): u + u with assert_raises(TypeError): g + b with assert_raises(TypeError): g + [0, 1] with assert_raises(TypeError): g * g
def test_updated(): p = prior.BoundedGaussian(1, 2, -1, 2) d = UncertainValue(1, 0.5, 1) u = prior.updated(p, d) assert_equal(u.guess, 1) assert_obj_close(u.lnprob(0), gold_sigma)
def test_bounded_gaussian(): g = prior.BoundedGaussian(1, 1, 0, 2) assert_equal(g.lnprob(-1), -np.inf) assert_equal(g.lnprob(3), -np.inf) assert_equal(g.guess, 1)