コード例 #1
0
ファイル: test_pickle.py プロジェクト: lindensmith/holopy
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)
コード例 #2
0
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
コード例 #3
0
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)
コード例 #4
0
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)