def test_sympyissue_9057(): from diofant import beta beta(2, 3) # not raises beta = Symbol('beta') pytest.raises(TypeError, lambda: beta(2)) pytest.raises(TypeError, lambda: beta(2.5)) pytest.raises(TypeError, lambda: beta(2, 3))
def test_f_distribution(): d1 = Symbol('d1', positive=True) d2 = Symbol('d2', positive=True) X = FDistribution('x', d1, d2) assert density(X)(x) == (d2**(d2/2)*sqrt((d1*x)**d1*(d1*x + d2)**(-d1 - d2)) / (x*beta(d1/2, d2/2)))
def test_f_distribution(): d1 = Symbol("d1", positive=True) d2 = Symbol("d2", positive=True) X = FDistribution("x", d1, d2) assert density(X)(x) == (d2**(d2/2)*sqrt((d1*x)**d1*(d1*x + d2)**(-d1 - d2)) / (x*beta(d1/2, d2/2)))
def test_betaprime(): alpha = Symbol('alpha', positive=True) betap = Symbol('beta', positive=True) X = BetaPrime('x', alpha, betap) assert density(X)(x) == x**(alpha - 1) * (x + 1)**(-alpha - betap) / beta( alpha, betap)
def test_fisher_z(): d1 = Symbol('d1', positive=True) d2 = Symbol('d2', positive=True) X = FisherZ('x', d1, d2) assert density(X)(x) == (2*d1**(d1/2)*d2**(d2/2) * (d1*exp(2*x) + d2)**(-d1/2 - d2/2) * exp(d1*x)/beta(d1/2, d2/2))
def test_fisher_z(): d1 = Symbol("d1", positive=True) d2 = Symbol("d2", positive=True) X = FisherZ("x", d1, d2) assert density(X)(x) == (2*d1**(d1/2)*d2**(d2/2) * (d1*exp(2*x) + d2)**(-d1/2 - d2/2) * exp(d1*x)/beta(d1/2, d2/2))
def test_beta(): a, b = symbols('alpha beta', positive=True) B = Beta('x', a, b) assert pspace(B).domain.set == Interval(0, 1) dens = density(B) x = Symbol('x') assert dens(x) == x**(a - 1)*(1 - x)**(b - 1) / beta(a, b) # This is too slow # assert E(B) == a / (a + b) # assert variance(B) == (a*b) / ((a+b)**2 * (a+b+1)) # Full symbolic solution is too much, test with numeric version a, b = Integer(1), Integer(2) B = Beta('x', a, b) assert expand_func(E(B)) == a/(a + b) assert expand_func(variance(B)) == (a*b)/(a + b)**2/(a + b + 1)
def test_sympyissue_9057_2(): beta = Symbol('beta') pytest.raises(TypeError, lambda: beta(2)) pytest.raises(TypeError, lambda: beta(2.5)) pytest.raises(TypeError, lambda: beta(2, 3))
def test_sympyissue_9057_1(): beta(2, 3) # not raises
def test_beta(): assert isinstance(beta(x, y), beta) assert expand_func(beta(x, y)) == gamma(x) * gamma(y) / gamma(x + y) assert expand_func(beta(x, y) - beta(y, x)) == 0 # Symmetric assert expand_func(beta( x, y)) == expand_func(beta(x, y + 1) + beta(x + 1, y)).simplify() assert diff(beta(x, y), x) == beta(x, y) * (digamma(x) - digamma(x + y)) assert diff(beta(x, y), y) == beta(x, y) * (digamma(y) - digamma(x + y)) pytest.raises(ArgumentIndexError, lambda: beta(x, y).fdiff(3)) assert conjugate(beta(x, y)) == beta(conjugate(x), conjugate(y))
def test_studentt(): nu = Symbol('nu', positive=True) X = StudentT('x', nu) assert density(X)(x) == (1 + x**2/nu)**(-nu/2 - 1/2)/(sqrt(nu)*beta(1/2, nu/2))
def test_studentt(): nu = Symbol("nu", positive=True) X = StudentT('x', nu) assert density(X)(x) == (1 + x**2/nu)**(-nu/2 - 1/2)/(sqrt(nu)*beta(1/2, nu/2))
def test_betaprime(): alpha = Symbol("alpha", positive=True) betap = Symbol("beta", positive=True) X = BetaPrime('x', alpha, betap) assert density(X)(x) == x**(alpha - 1)*(x + 1)**(-alpha - betap)/beta(alpha, betap)
def test_beta(): assert isinstance(beta(x, y), beta) assert expand_func(beta(x, y)) == gamma(x)*gamma(y)/gamma(x + y) assert expand_func(beta(x, y) - beta(y, x)) == 0 # Symmetric assert expand_func(beta(x, y)) == expand_func(beta(x, y + 1) + beta(x + 1, y)).simplify() assert diff(beta(x, y), x) == beta(x, y)*(digamma(x) - digamma(x + y)) assert diff(beta(x, y), y) == beta(x, y)*(digamma(y) - digamma(x + y)) pytest.raises(ArgumentIndexError, lambda: beta(x, y).fdiff(3)) assert conjugate(beta(x, y)) == beta(conjugate(x), conjugate(y))
def test_beta(): x, y = Symbol('x'), Symbol('y') assert isinstance(beta(x, y), beta) assert expand_func(beta(x, y)) == gamma(x)*gamma(y)/gamma(x + y) assert expand_func(beta(x, y) - beta(y, x)) == 0 # Symmetric assert expand_func(beta(x, y)) == expand_func(beta(x, y + 1) + beta(x + 1, y)).simplify() assert diff(beta(x, y), x) == beta(x, y)*(digamma(x) - digamma(x + y)) assert diff(beta(x, y), y) == beta(x, y)*(digamma(y) - digamma(x + y))