def test_functions(): xvals = list(map(np.atleast_1d, [.01, .1, 2, 100, 10000])) x = tt.dvector('x') x.tag.test_value = xvals[0] p = tt.iscalar('p') p.tag.test_value = 1 gammaln = function([x], ps.gammaln(x)) psi = function([x], ps.psi(x)) function([x, p], ps.multigammaln(x, p)) for x in xvals: yield check_vals, gammaln, ss.gammaln, x for x in xvals[1:]: yield check_vals, psi, ss.psi, x
def test_functions(): xvals = list(map(np.atleast_1d, [0.01, 0.1, 2, 100, 10000])) x = tt.dvector("x") x.tag.test_value = xvals[0] p = tt.iscalar("p") p.tag.test_value = 1 gammaln = function([x], ps.gammaln(x)) psi = function([x], ps.psi(x)) function([x, p], ps.multigammaln(x, p)) for x in xvals: check_vals(gammaln, ss.gammaln, x) for x in xvals[1:]: check_vals(psi, ss.psi, x)
def t_multigamma(): xvals = list(map(np.atleast_1d, [0, .1, 2, 100])) x = tt.dvector('x') x.tag.test_value = xvals[0] p = tt.iscalar('p') p.tag.test_value = 1 multigammaln = function([x, p], ps.multigammaln(x, p)) def ssmultigammaln(a, b): return ss.multigammaln(a[0], b) for p in [0, 1, 2, 3, 4, 100]: for x in xvals: yield check_vals, multigammaln, ssmultigammaln, x, p
def t_multigamma(): xvals = list(map(np.atleast_1d, [0, 0.1, 2, 100])) x = aet.dvector("x") x.tag.test_value = xvals[0] p = aet.iscalar("p") p.tag.test_value = 1 multigammaln = function([x, p], ps.multigammaln(x, p)) def ssmultigammaln(a, b): return ss.multigammaln(a[0], b) for p in [0, 1, 2, 3, 4, 100]: for x in xvals: check_vals(multigammaln, ssmultigammaln, x, p)
def test_multigamma(): x = at.vector("x") p = at.scalar("p") xvals = [ np.array([v], dtype=config.floatX) for v in [0.1, 2, 5, 10, 50, 100] ] multigammaln = function([x, p], ps.multigammaln(x, p), mode="FAST_COMPILE") def ssmultigammaln(a, b): return np.array(ss.multigammaln(a[0], b), config.floatX) for p in [0, 1, 2, 3, 4, 100]: for x in xvals: if np.all(x > 0.5 * (p - 1)): check_vals(multigammaln, ssmultigammaln, x, p)