Пример #1
0
def test_diofantissue_75():
    assert gruntz(abs(log(x)), x) == oo
    assert gruntz(tan(abs(pi/2 + 1/x))/acosh(pi/2 + 1/x), x) == -oo
    assert gruntz(tan(abs(pi/2 - 1/x))/acosh(pi/2 - 1/x), x) == +oo

    assert gruntz(abs(log(2 + 1/x)) - log(2 + 1/x), x) == 0
    assert gruntz(abs(log(2 - 1/x)) - log(2 - 1/x), x) == 0
Пример #2
0
def test_I():
    from diofant.functions import sign
    y = Symbol("y")
    assert gruntz(I * x, x) == I * oo
    assert gruntz(y * I * x, x) == sign(y) * I * oo
    assert gruntz(y * 3 * I * x, x) == sign(y) * I * oo
    assert gruntz(y * 3 * sin(I) * x, x).simplify() == sign(y) * I * oo
Пример #3
0
def test_diofantissue_75():
    assert gruntz(abs(log(x)), x) == oo
    assert gruntz(tan(abs(pi / 2 + 1 / x)) / acosh(pi / 2 + 1 / x), x) == -oo
    assert gruntz(tan(abs(pi / 2 - 1 / x)) / acosh(pi / 2 - 1 / x), x) == +oo

    assert gruntz(abs(log(2 + 1 / x)) - log(2 + 1 / x), x) == 0
    assert gruntz(abs(log(2 - 1 / x)) - log(2 - 1 / x), x) == 0
Пример #4
0
def test_gruntz_eval_special_slow():
    assert gruntz(gamma(x + 1)/sqrt(2*pi)
                  - exp(-x)*(x**(x + Rational(1, 2)) + x**(x - Rational(1, 2))/12), x) == oo
    assert gruntz(exp(exp(exp(digamma(digamma(digamma(x))))))/x, x) == 0
    assert gruntz(exp(gamma(x - exp(-x))*exp(1/x)) - exp(gamma(x)), x) == oo
    assert gruntz(
        (Ei(x - exp(-exp(x))) - Ei(x))*exp(-x)*exp(exp(x))*x, x) == -1
    assert gruntz(
        exp((log(2) + 1)*x) * (zeta(x + exp(-x)) - zeta(x)), x) == -log(2)
Пример #5
0
def test_gruntz_eval_special_slow():
    assert gruntz(gamma(x + 1)/sqrt(2*pi)
                  - exp(-x)*(x**(x + Rational(1, 2)) + x**(x - Rational(1, 2))/12), x) == oo
    assert gruntz(exp(exp(exp(digamma(digamma(digamma(x))))))/x, x) == 0
    assert gruntz(exp(gamma(x - exp(-x))*exp(1/x)) - exp(gamma(x)), x) == oo
    assert gruntz(
        (Ei(x - exp(-exp(x))) - Ei(x))*exp(-x)*exp(exp(x))*x, x) == -1
    assert gruntz(
        exp((log(2) + 1)*x) * (zeta(x + exp(-x)) - zeta(x)), x) == -log(2)
Пример #6
0
def test_gruntz_other():
    assert gruntz(sqrt(log(x + 1)) - sqrt(log(x)), x) == 0  # p12, 2.5
    y = Symbol('y')
    assert gruntz(((1 + 1 / x)**y - 1) * x, x) == y  # p12, 2.6
    # TODO: p13, 2.7
    n = Symbol('n', integer=True)
    assert gruntz(x**n / exp(x), x) == 0  # p14, 2.9
    assert gruntz((1 + 1 / x) * x - 1 / log(1 + 1 / x),
                  x) == S.Half  # p15, 2.10
Пример #7
0
def test_gruntz_other():
    assert gruntz(sqrt(log(x + 1)) - sqrt(log(x)), x) == 0  # p12, 2.5
    y = Symbol('y')
    assert gruntz(((1 + 1/x)**y - 1)*x, x) == y  # p12, 2.6
    n = Symbol('n', integer=True)
    assert gruntz(x**n/exp(x), x) == 0  # p14, 2.9
    assert gruntz((1 + 1/x)*x - 1/log(1 + 1/x), x) == Rational(1, 2)  # p15, 2.10
    m = Symbol('m', integer=True)
    assert gruntz((root(1 + 1/x, n) - 1)/(root(1 + 1/x, m) - 1),
                  x) == m/n  # p13, 2.7
Пример #8
0
def test_gruntz_other():
    assert gruntz(sqrt(log(x + 1)) - sqrt(log(x)), x) == 0  # p12, 2.5
    y = Symbol('y')
    assert gruntz(((1 + 1/x)**y - 1)*x, x) == y  # p12, 2.6
    n = Symbol('n', integer=True)
    assert gruntz(x**n/exp(x), x) == 0  # p14, 2.9
    assert gruntz((1 + 1/x)*x - 1/log(1 + 1/x), x) == Rational(1, 2)  # p15, 2.10
    m = Symbol('m', integer=True)
    assert gruntz((root(1 + 1/x, n) - 1)/(root(1 + 1/x, m) - 1),
                  x) == m/n  # p13, 2.7
Пример #9
0
def test_sympyissue_5172():
    n = Symbol('n', real=True, positive=True)
    r = Symbol('r', positive=True)
    c = Symbol('c')
    p = Symbol('p', positive=True)
    m = Symbol('m', negative=True)
    expr = ((2*n*(n - r + 1)/(n + r*(n - r + 1)))**c +
            (r - 1)*(n*(n - r + 2)/(n + r*(n - r + 1)))**c - n)/(n**c - n)
    expr = expr.subs({c: c + 1})
    assert gruntz(expr.subs({c: m}), n) == 1
    assert gruntz(expr.subs({c: p}), n).simplify() == \
        (2**(p + 1) + r - 1)/(r + 1)**(p + 1)
Пример #10
0
def test_sympyissue_5172():
    n = Symbol('n', real=True, positive=True)
    r = Symbol('r', positive=True)
    c = Symbol('c')
    p = Symbol('p', positive=True)
    m = Symbol('m', negative=True)
    expr = ((2 * n * (n - r + 1) / (n + r * (n - r + 1)))**c + (r - 1) *
            (n * (n - r + 2) / (n + r * (n - r + 1)))**c - n) / (n**c - n)
    expr = expr.subs({c: c + 1})
    assert gruntz(expr.subs({c: m}), n) == 1
    assert gruntz(expr.subs({c: p}), n).simplify() == \
        (2**(p + 1) + r - 1)/(r + 1)**(p + 1)
Пример #11
0
def test_diofantissue_74():
    assert gruntz(sign(log(1 + 1 / x)), x) == +1
    assert gruntz(sign(log(1 - 1 / x)), x) == -1
    assert gruntz(sign(sin(+1 / x)), x) == +1
    assert gruntz(sign(sin(-1 / x)), x) == -1
    assert gruntz(sign(tan(+1 / x)), x) == +1
    assert gruntz(sign(tan(-1 / x)), x) == -1
    assert gruntz(sign(cos(pi / 2 + 1 / x)), x) == -1
    assert gruntz(sign(cos(pi / 2 - 1 / x)), x) == +1
Пример #12
0
def test_diofantissue_74():
    assert gruntz(sign(log(1 + 1/x)), x) == +1
    assert gruntz(sign(log(1 - 1/x)), x) == -1
    assert gruntz(sign(sin(+1/x)), x) == +1
    assert gruntz(sign(sin(-1/x)), x) == -1
    assert gruntz(sign(tan(+1/x)), x) == +1
    assert gruntz(sign(tan(-1/x)), x) == -1
    assert gruntz(sign(cos(pi/2 + 1/x)), x) == -1
    assert gruntz(sign(cos(pi/2 - 1/x)), x) == +1
Пример #13
0
def test_diofantissue_74():
    from diofant.functions import sign
    assert gruntz(sign(log(1 + 1 / x)), x) == +1
    assert gruntz(sign(log(1 - 1 / x)), x) == -1
    assert gruntz(sign(sin(1 / x)), x) == +1
    assert gruntz(sign(sin(-1 / x)), x) == -1
    assert gruntz(sign(tan(1 / x)), x) == +1
    assert gruntz(sign(tan(-1 / x)), x) == -1
    assert gruntz(sign(cos(pi / 2 + 1 / x)), x) == -1
    assert gruntz(sign(cos(pi / 2 - 1 / x)), x) == +1
Пример #14
0
def test_sympyissue_6843():
    n = Symbol('n', integer=True, positive=True)
    r = (n + 1)*(1 + 1/x)**(n + 1)/((1 + 1/x)**(n + 1) - 1) - (1 + 1/x)*x
    assert gruntz(r, x).simplify() == n/2
Пример #15
0
def test_sympyissue_6843():
    n = Symbol('n', integer=True, positive=True)
    r = (n + 1) * (1 + 1 / x)**(n + 1) / (
        (1 + 1 / x)**(n + 1) - 1) - (1 + 1 / x) * x
    assert gruntz(r, x).simplify() == n / 2
Пример #16
0
def test_branch_cuts():
    assert gruntz(sqrt(-1 + I/x), x) == +I
    assert gruntz(sqrt(-1 - I/x), x) == -I
    assert gruntz(log(-1 + I/x), x) == +I*pi
    assert gruntz(log(-1 - I/x), x) == -I*pi
Пример #17
0
def test_exp_log_series():
    assert gruntz(x/log(log(x*exp(x))), x) == oo
Пример #18
0
def test_limit():
    assert gruntz(x, x) == oo
    assert gruntz(-x, x) == -oo
    assert gruntz(-x, x) == -oo
    assert gruntz((-x)**2, x) == oo
    assert gruntz(-x**2, x) == -oo
    assert gruntz((1/x)*log(1/x), x) == 0  # Gruntz: p15, 2.11
    assert gruntz(1/x, x) == 0
    assert gruntz(exp(x), x) == oo
    assert gruntz(-exp(x), x) == -oo
    assert gruntz(exp(x)/x, x) == oo
    assert gruntz(1/x - exp(-x), x) == 0
    assert gruntz(x + 1/x, x) == oo

    assert gruntz((1/x)**(1/x), x) == 1  # Gruntz: p15, 2.11
    assert gruntz((exp(1/x) - 1)*x, x) == 1
    assert gruntz(1 + 1/x, x) == 1
    assert gruntz(-exp(1/x), x) == -1
    assert gruntz(x + exp(-x), x) == oo
    assert gruntz(x + exp(-x**2), x) == oo
    assert gruntz(x + exp(-exp(x)), x) == oo
    assert gruntz(13 + 1/x - exp(-x), x) == 13

    a = Symbol('a')
    assert gruntz(x - log(1 + exp(x)), x) == 0
    assert gruntz(x - log(a + exp(x)), x) == 0
    assert gruntz(exp(x)/(1 + exp(x)), x) == 1
    assert gruntz(exp(x)/(a + exp(x)), x) == 1

    assert gruntz((3**x + 5**x)**(1/x), x) == 5  # issue sympy/sympy#3463

    assert gruntz(Ei(x + exp(-x))*exp(-x)*x, x) == 1

    assert gruntz(1/li(x), x) == 0
    assert gruntz(1/Li(x), x) == 0

    # issue diofant/diofant#56
    assert gruntz((log(E + 1/x) - 1)**(1 - sqrt(E + 1/x)), x) == oo

    # issue sympy/sympy#9471
    assert gruntz((((27**(log(x, 3))))/x**3), x) == 1
    assert gruntz((((27**(log(x, 3) + 1)))/x**3), x) == 27

    # issue sympy/sympy#9449
    y = Symbol('y')
    assert gruntz(x*(abs(1/x + y) - abs(y - 1/x))/2, x) == sign(y)

    # issue sympy/sympy#8481
    assert gruntz(m**x * exp(-m) / factorial(x), x) == 0

    # issue sympy/sympy#4187
    assert gruntz(exp(1/x)*log(1/x) - Ei(1/x), x) == -EulerGamma
    assert gruntz(exp(x)*log(x) - Ei(x), x) == oo

    # issue sympy/sympy#10382
    assert gruntz(fibonacci(x + 1)/fibonacci(x), x) == GoldenRatio

    assert gruntz(zeta(x), x) == 1
    assert gruntz(zeta(m)*zeta(x), x) == zeta(m)
Пример #19
0
def test_sympyissue_4814():
    assert gruntz((x + 1)**(1/log(x + 1)), x) == E
Пример #20
0
def test_sympyissue_7096():
    from diofant.functions import sign
    assert gruntz((-1 / x)**-pi, x) == oo * sign((-1)**(-pi))
Пример #21
0
def test_gruntz_hyperbolic():
    assert gruntz(cosh(x), x) == oo
    assert gruntz(cosh(-x), x) == oo
    assert gruntz(sinh(x), x) == oo
    assert gruntz(sinh(-x), x) == -oo
    assert gruntz(2*cosh(x)*exp(x), x) == oo
    assert gruntz(2*cosh(-x)*exp(-x), x) == 1
    assert gruntz(2*sinh(x)*exp(x), x) == oo
    assert gruntz(2*sinh(-x)*exp(-x), x) == -1
    assert gruntz(tanh(x), x) == 1
    assert gruntz(tanh(-x), x) == -1
    assert gruntz(coth(x), x) == 1
    assert gruntz(coth(-x), x) == -1
Пример #22
0
def test_sympyissue_3644():
    assert gruntz(((x**7 + x + 1) / (2**x + x**2))**(-1 / x), x) == 2
Пример #23
0
def test_sympyissue_6682():
    assert gruntz(exp(2*Ei(-1/x))*x**2, x) == exp(2*EulerGamma)
Пример #24
0
def test_exp_log_series():
    assert gruntz(x / log(log(x * exp(x))), x) == oo
Пример #25
0
def test_aseries_trig():
    assert gruntz(1 / log(atan(x)), x) == -1 / (-log(pi) + log(2))
    assert gruntz(1 / acot(-x), x) == -oo
Пример #26
0
def test_branch_cuts():
    assert gruntz(sqrt(-1 + I / x), x) == +I
    assert gruntz(sqrt(-1 - I / x), x) == -I
    assert gruntz(log(-1 + I / x), x) == +I * pi
    assert gruntz(log(-1 - I / x), x) == -I * pi
Пример #27
0
def test_intractable():
    assert gruntz(1 / gamma(x), x) == 0
    assert gruntz(1 / loggamma(x), x) == 0
    assert gruntz(gamma(x) / loggamma(x), x) == oo
    assert gruntz(exp(gamma(x)) / gamma(x), x) == oo
    assert gruntz(gamma(3 + 1 / x), x) == 2
    assert gruntz(gamma(Rational(1, 7) + 1 / x), x) == gamma(Rational(1, 7))
    assert gruntz(log(x**x) / log(gamma(x)), x) == 1
    assert gruntz(log(gamma(gamma(x))) / exp(x), x) == oo

    # issue sympy/sympy#10804
    assert gruntz(2 * airyai(x) * root(x, 4) * exp(2 * x**Rational(3, 2) / 3),
                  x) == 1 / sqrt(pi)
    assert gruntz(airybi(x) * root(x, 4) * exp(-2 * x**Rational(3, 2) / 3),
                  x) == 1 / sqrt(pi)
    assert gruntz(airyai(1 / x),
                  x) == (3**Rational(5, 6) * gamma(Rational(1, 3)) / (6 * pi))
    assert gruntz(airybi(1 / x),
                  x) == cbrt(3) * gamma(Rational(1, 3)) / (2 * pi)
    assert gruntz(airyai(2 + 1 / x), x) == airyai(2)
    assert gruntz(airybi(2 + 1 / x), x) == airybi(2)
Пример #28
0
def test_sympyissue_4814():
    assert gruntz((x + 1)**(1 / log(x + 1)), x) == E
Пример #29
0
def test_sympyissue_8462():
    assert gruntz(binomial(x, x/2), x) == oo
    # issue sympy/sympy#10801
    assert gruntz(16**x/(x*binomial(2*x, x)**2), x) == pi
Пример #30
0
def test_sympyissue_4190():
    assert gruntz(x - gamma(1 / x), x) == EulerGamma
Пример #31
0
def test_I():
    y = Symbol("y")
    assert gruntz(I * x, x) == I * oo
    assert gruntz(y * I * x, x) == sign(y) * I * oo
    assert gruntz(y * 3 * I * x, x) == sign(y) * I * oo
    assert gruntz(y * 3 * sin(I) * x, x).simplify() == sign(y) * I * oo
Пример #32
0
def test_gruntz_evaluation():
    # Gruntz' thesis pp. 122 to 123
    # 8.1
    assert gruntz(exp(x) * (exp(1 / x - exp(-x)) - exp(1 / x)), x) == -1
    # 8.2
    assert gruntz(
        exp(x) *
        (exp(1 / x + exp(-x) + exp(-x**2)) - exp(1 / x - exp(-exp(x)))),
        x) == 1
    # 8.3
    assert gruntz(exp(exp(x - exp(-x)) / (1 - 1 / x)) - exp(exp(x)), x) == oo
    # 8.4
    assert gruntz(
        exp(exp(exp(x) / (1 - 1 / x))) -
        exp(exp(exp(x) / (1 - 1 / x - log(x)**(-log(x))))), x) == -oo
    # 8.5
    assert gruntz(exp(exp(exp(x + exp(-x)))) / exp(exp(exp(x))), x) == oo
    # 8.6
    assert gruntz(exp(exp(exp(x))) / exp(exp(exp(x - exp(-exp(x))))), x) == oo
    # 8.7
    assert gruntz(exp(exp(exp(x))) / exp(exp(exp(x - exp(-exp(exp(x)))))),
                  x) == 1
    # 8.8
    assert gruntz(exp(exp(x)) / exp(exp(x - exp(-exp(exp(x))))), x) == 1
    # 8.9
    assert gruntz(
        log(x)**2 * exp(
            sqrt(log(x)) *
            (log(log(x)))**2 * exp(sqrt(log(log(x))) *
                                   (log(log(log(x))))**3)) / sqrt(x), x) == 0
    # 8.10
    assert gruntz((x * log(x) * (log(x * exp(x) - x**2))**2) /
                  (log(log(x**2 + 2 * exp(exp(3 * x**3 * log(x)))))),
                  x) == Rational(1, 3)
    # 8.11
    assert gruntz(
        (exp(x * exp(-x) / (exp(-x) + exp(-2 * x**2 / (x + 1)))) - exp(x)) / x,
        x) == -exp(2)
    # 8.12
    assert gruntz((3**x + 5**x)**(1 / x), x) == 5
    # 8.13
    assert gruntz(x / log(x**(log(x**(log(2) / log(x))))), x) == oo
    # 8.14
    assert gruntz(
        exp(exp(2 * log(x**5 + x) * log(log(x)))) /
        exp(exp(10 * log(x) * log(log(x)))), x) == oo
    # 8.15
    assert gruntz(
        exp(
            exp(
                Rational(5, 2) * x**(-Rational(5, 7)) +
                Rational(21, 8) * x**Rational(6, 11) + 2 * x**(-8) +
                Rational(54, 17) * x**Rational(49, 45)))**8 /
        log(log(-log(Rational(4, 3) * x**(-Rational(5, 14)))))**Rational(7, 6),
        x) == oo
    # 8.16
    assert gruntz(
        (exp(4 * x * exp(-x) /
             (1 / exp(x) + 1 / exp(2 * x**2 / (x + 1)))) - exp(x)) / exp(x)**4,
        x) == 1
    # 8.17
    assert gruntz(exp(x*exp(-x)/(exp(-x) + exp(-2*x**2/(x + 1))))/exp(x), x) \
        == 1
    # 8.18
    assert gruntz(
        (exp(exp(-x / (1 + exp(-x)))) * exp(-x / (1 + exp(-x /
                                                          (1 + exp(-x))))) *
         exp(exp(-x + exp(-x / (1 + exp(-x)))))) /
        (exp(-x / (1 + exp(-x))))**2 - exp(x) + x, x) == 2
    # 8.19
    assert gruntz(
        log(x) * (log(log(x) + log(log(x))) - log(log(x))) /
        (log(log(x) + log(log(log(x))))), x) == 1
    # 8.20
    assert gruntz(
        exp((log(log(x + exp(log(x) * log(log(x)))))) /
            (log(log(log(exp(x) + x + log(x)))))), x) == E
    # Another
    assert gruntz(exp(exp(exp(x + exp(-x)))) / exp(exp(x)), x) == oo
Пример #33
0
def test_gruntz_evaluation():
    # Gruntz' thesis pp. 122 to 123
    # 8.1
    assert gruntz(exp(x)*(exp(1/x - exp(-x)) - exp(1/x)), x) == -1
    # 8.2
    assert gruntz(exp(x)*(exp(1/x + exp(-x) + exp(-x**2))
                          - exp(1/x - exp(-exp(x)))), x) == 1
    # 8.3
    assert gruntz(exp(exp(x - exp(-x))/(1 - 1/x)) - exp(exp(x)), x) == oo
    # 8.4
    assert gruntz(exp(exp(exp(x)/(1 - 1/x)))
                  - exp(exp(exp(x)/(1 - 1/x - log(x)**(-log(x))))), x) == -oo
    # 8.5
    assert gruntz(exp(exp(exp(x + exp(-x)))) / exp(exp(exp(x))), x) == oo
    # 8.6
    assert gruntz(exp(exp(exp(x))) / exp(exp(exp(x - exp(-exp(x))))),
                  x) == oo
    # 8.7
    assert gruntz(exp(exp(exp(x))) / exp(exp(exp(x - exp(-exp(exp(x)))))),
                  x) == 1
    # 8.8
    assert gruntz(exp(exp(x)) / exp(exp(x - exp(-exp(exp(x))))), x) == 1
    # 8.9
    assert gruntz(log(x)**2 * exp(sqrt(log(x))*(log(log(x)))**2
                                  * exp(sqrt(log(log(x))) * (log(log(log(x))))**3)) / sqrt(x),
                  x) == 0
    # 8.10
    assert gruntz((x*log(x)*(log(x*exp(x) - x**2))**2)
                  / (log(log(x**2 + 2*exp(exp(3*x**3*log(x)))))), x) == Rational(1, 3)
    # 8.11
    assert gruntz((exp(x*exp(-x)/(exp(-x) + exp(-2*x**2/(x + 1)))) - exp(x))/x,
                  x) == -exp(2)
    # 8.12
    assert gruntz((3**x + 5**x)**(1/x), x) == 5
    # 8.13
    assert gruntz(x/log(x**(log(x**(log(2)/log(x))))), x) == oo
    # 8.14
    assert gruntz(exp(exp(2*log(x**5 + x)*log(log(x))))
                  / exp(exp(10*log(x)*log(log(x)))), x) == oo
    # 8.15
    assert gruntz(exp(exp(Rational(5, 2)*x**(-Rational(5, 7)) + Rational(21, 8)*x**Rational(6, 11)
                          + 2*x**(-8) + Rational(54, 17)*x**Rational(49, 45)))**8
                  / log(log(-log(Rational(4, 3)*x**(-Rational(5, 14)))))**Rational(7, 6), x) == oo
    # 8.16
    assert gruntz((exp(4*x*exp(-x)/(1/exp(x) + 1/exp(2*x**2/(x + 1)))) - exp(x))
                  / exp(x)**4, x) == 1
    # 8.17
    assert gruntz(exp(x*exp(-x)/(exp(-x) + exp(-2*x**2/(x + 1))))/exp(x), x) \
        == 1
    # 8.18
    assert gruntz((exp(exp(-x/(1 + exp(-x))))*exp(-x/(1 + exp(-x/(1 + exp(-x)))))
                   * exp(exp(-x + exp(-x/(1 + exp(-x))))))
                  / (exp(-x/(1 + exp(-x))))**2 - exp(x) + x, x) == 2
    # 8.19
    assert gruntz(log(x)*(log(log(x) + log(log(x))) - log(log(x)))
                  / (log(log(x) + log(log(log(x))))), x) == 1
    # 8.20
    assert gruntz(exp((log(log(x + exp(log(x)*log(log(x))))))
                      / (log(log(log(exp(x) + x + log(x)))))), x) == E
    # Another
    assert gruntz(exp(exp(exp(x + exp(-x)))) / exp(exp(x)), x) == oo
Пример #34
0
def test_sympyissue_4109():
    assert gruntz(1 / gamma(1 / x), x) == 0
    assert gruntz(gamma(1 / x) / x, x) == 1
Пример #35
0
def test_I():
    y = Symbol("y")
    assert gruntz(I*x, x) == I*oo
    assert gruntz(y*I*x, x) == sign(y)*I*oo
    assert gruntz(y*3*I*x, x) == sign(y)*I*oo
    assert gruntz(y*3*sin(I)*x, x).simplify() == sign(y)*I*oo
Пример #36
0
def test_sympyissue_6682():
    assert gruntz(exp(2 * Ei(-1 / x)) * x**2, x) == exp(2 * EulerGamma)
Пример #37
0
def test_intractable():
    assert gruntz(1/gamma(x), x) == 0
    assert gruntz(1/loggamma(x), x) == 0
    assert gruntz(gamma(x)/loggamma(x), x) == oo
    assert gruntz(exp(gamma(x))/gamma(x), x) == oo
    assert gruntz(gamma(3 + 1/x), x) == 2
    assert gruntz(gamma(Rational(1, 7) + 1/x), x) == gamma(Rational(1, 7))
    assert gruntz(log(x**x)/log(gamma(x)), x) == 1
    assert gruntz(log(gamma(gamma(x)))/exp(x), x) == oo

    # issue sympy/sympy#10804
    assert gruntz(2*airyai(x)*root(x, 4) *
                  exp(2*x**Rational(3, 2)/3), x) == 1/sqrt(pi)
    assert gruntz(airybi(x)*root(x, 4) *
                  exp(-2*x**Rational(3, 2)/3), x) == 1/sqrt(pi)
    assert gruntz(airyai(1/x), x) == (3**Rational(5, 6) *
                                      gamma(Rational(1, 3))/(6*pi))
    assert gruntz(airybi(1/x), x) == cbrt(3)*gamma(Rational(1, 3))/(2*pi)
    assert gruntz(airyai(2 + 1/x), x) == airyai(2)
    assert gruntz(airybi(2 + 1/x), x) == airybi(2)
Пример #38
0
def test_sympyissue_7096():
    assert gruntz((-1 / x)**-pi, x) == oo * sign((-1)**(-pi))
Пример #39
0
def test_aseries_trig():
    assert gruntz(1/log(atan(x)), x) == -1/(-log(pi) + log(2))
    assert gruntz(1/acot(-x), x) == -oo
Пример #40
0
def test_sympyissue_8462():
    assert gruntz(binomial(x, x / 2), x) == oo
    # issue sympy/sympy#10801
    assert gruntz(16**x / (x * binomial(2 * x, x)**2), x) == pi
Пример #41
0
def test_sympyissue_3644():
    assert gruntz(((x**7 + x + 1)/(2**x + x**2))**(-1/x), x) == 2
Пример #42
0
def test_sympyissue_10976():
    assert gruntz(erf(m/x)/erf(1/x), x) == m
Пример #43
0
def test_sympyissue_4190():
    assert gruntz(x - gamma(1/x), x) == EulerGamma
Пример #44
0
def test_gruntz_eval_special():
    # Gruntz, p. 126
    assert gruntz(
        exp(x) * (sin(1 / x + exp(-x)) - sin(1 / x + exp(-x**2))), x) == 1
    assert gruntz((erf(x - exp(-exp(x))) - erf(x)) * exp(exp(x)) * exp(x**2),
                  x) == -2 / sqrt(pi)
    assert gruntz(
        exp(exp(x)) * (exp(sin(1 / x + exp(-exp(x)))) - exp(sin(1 / x))),
        x) == 1
    assert gruntz(exp(x) * (gamma(x + exp(-x)) - gamma(x)), x) == oo
    assert gruntz(exp(exp(digamma(digamma(x)))) / x, x) == exp(-Rational(1, 2))
    assert gruntz(exp(exp(digamma(log(x)))) / x, x) == exp(-Rational(1, 2))
    assert gruntz(digamma(digamma(digamma(x))), x) == oo
    assert gruntz(loggamma(loggamma(x)), x) == oo
    assert gruntz(
        ((gamma(x + 1 / gamma(x)) - gamma(x)) / log(x) - cos(1 / x)) * x *
        log(x), x) == -Rational(1, 2)
    assert gruntz(x * (gamma(x - 1/gamma(x)) - gamma(x) + log(x)), x) \
        == Rational(1, 2)
    assert gruntz((gamma(x + 1 / gamma(x)) - gamma(x)) / log(x), x) == 1
    assert gruntz(
        gamma(x + 1) / sqrt(2 * pi) - exp(-x) *
        (x**(x + Rational(1, 2)) + x**(x - Rational(1, 2)) / 12), x) == oo
    assert gruntz(exp(exp(exp(digamma(digamma(digamma(x)))))) / x, x) == 0
    assert gruntz(exp(gamma(x - exp(-x)) * exp(1 / x)) - exp(gamma(x)),
                  x) == oo
    assert gruntz((Ei(x - exp(-exp(x))) - Ei(x)) * exp(-x) * exp(exp(x)) * x,
                  x) == -1
    assert gruntz(exp((log(2) + 1) * x) * (zeta(x + exp(-x)) - zeta(x)),
                  x) == -log(2)
Пример #45
0
def test_sympyissue_4109():
    assert gruntz(1/gamma(1/x), x) == 0
    assert gruntz(gamma(1/x)/x, x) == 1
Пример #46
0
def test_sympyissue_8241():
    e = x / log(x)**(log(x) / (m * log(log(x))))
    pytest.raises(NotImplementedError, lambda: gruntz(e, x))
    assert isinstance(e.limit(x, oo), Limit)
Пример #47
0
def test_sympyissue_7096():
    assert gruntz((-1/x)**-pi, x) == oo*sign((-1)**(-pi))
Пример #48
0
def test_sympyissue_10976():
    assert gruntz(erf(m / x) / erf(1 / x), x) == m
Пример #49
0
def test_gruntz_hyperbolic():
    assert gruntz(cosh(x), x) == oo
    assert gruntz(cosh(-x), x) == oo
    assert gruntz(sinh(x), x) == oo
    assert gruntz(sinh(-x), x) == -oo
    assert gruntz(2 * cosh(x) * exp(x), x) == oo
    assert gruntz(2 * cosh(-x) * exp(-x), x) == 1
    assert gruntz(2 * sinh(x) * exp(x), x) == oo
    assert gruntz(2 * sinh(-x) * exp(-x), x) == -1
    assert gruntz(tanh(x), x) == 1
    assert gruntz(tanh(-x), x) == -1
    assert gruntz(coth(x), x) == 1
    assert gruntz(coth(-x), x) == -1
Пример #50
0
def test_gruntz_eval_special():
    # Gruntz, p. 126
    assert gruntz(
        exp(x) * (sin(1 / x + exp(-x)) - sin(1 / x + exp(-x**2))), x) == 1
    assert gruntz((erf(x - exp(-exp(x))) - erf(x)) * exp(exp(x)) * exp(x**2),
                  x) == -2 / sqrt(pi)
    assert gruntz(
        exp(exp(x)) * (exp(sin(1 / x + exp(-exp(x)))) - exp(sin(1 / x))),
        x) == 1
    assert gruntz(exp(x) * (gamma(x + exp(-x)) - gamma(x)), x) == oo
    assert gruntz(exp(exp(digamma(digamma(x)))) / x, x) == exp(-Rational(1, 2))
    assert gruntz(exp(exp(digamma(log(x)))) / x, x) == exp(-Rational(1, 2))
    assert gruntz(digamma(digamma(digamma(x))), x) == oo
    assert gruntz(loggamma(loggamma(x)), x) == oo
    assert gruntz(
        ((gamma(x + 1 / gamma(x)) - gamma(x)) / log(x) - cos(1 / x)) * x *
        log(x), x) == -Rational(1, 2)
    assert gruntz(x * (gamma(x - 1/gamma(x)) - gamma(x) + log(x)), x) \
        == Rational(1, 2)
    assert gruntz((gamma(x + 1 / gamma(x)) - gamma(x)) / log(x), x) == 1
Пример #51
0
def test_sympyissue_8241():
    e = x/log(x)**(log(x)/(m*log(log(x))))
    pytest.raises(NotImplementedError, lambda: gruntz(e, x))
    assert isinstance(e.limit(x, oo), Limit)
Пример #52
0
def test_limit():
    assert gruntz(x, x) == oo
    assert gruntz(-x, x) == -oo
    assert gruntz(-x, x) == -oo
    assert gruntz((-x)**2, x) == oo
    assert gruntz(-x**2, x) == -oo
    assert gruntz((1 / x) * log(1 / x), x) == 0  # Gruntz: p15, 2.11
    assert gruntz(1 / x, x) == 0
    assert gruntz(exp(x), x) == oo
    assert gruntz(-exp(x), x) == -oo
    assert gruntz(exp(x) / x, x) == oo
    assert gruntz(1 / x - exp(-x), x) == 0
    assert gruntz(x + 1 / x, x) == oo

    assert gruntz((1 / x)**(1 / x), x) == 1  # Gruntz: p15, 2.11
    assert gruntz((exp(1 / x) - 1) * x, x) == 1
    assert gruntz(1 + 1 / x, x) == 1
    assert gruntz(-exp(1 / x), x) == -1
    assert gruntz(x + exp(-x), x) == oo
    assert gruntz(x + exp(-x**2), x) == oo
    assert gruntz(x + exp(-exp(x)), x) == oo
    assert gruntz(13 + 1 / x - exp(-x), x) == 13

    a = Symbol('a')
    assert gruntz(x - log(1 + exp(x)), x) == 0
    assert gruntz(x - log(a + exp(x)), x) == 0
    assert gruntz(exp(x) / (1 + exp(x)), x) == 1
    assert gruntz(exp(x) / (a + exp(x)), x) == 1

    assert gruntz((3**x + 5**x)**(1 / x), x) == 5  # issue sympy/sympy#3463

    assert gruntz(Ei(x + exp(-x)) * exp(-x) * x, x) == 1

    assert gruntz(1 / li(x), x) == 0
    assert gruntz(1 / Li(x), x) == 0

    # issue diofant/diofant#56
    assert gruntz((log(E + 1 / x) - 1)**(1 - sqrt(E + 1 / x)), x) == oo

    # issue sympy/sympy#9471
    assert gruntz((((27**(log(x, 3)))) / x**3), x) == 1
    assert gruntz((((27**(log(x, 3) + 1))) / x**3), x) == 27

    # issue sympy/sympy#9449
    y = Symbol('y')
    assert gruntz(x * (abs(1 / x + y) - abs(y - 1 / x)) / 2, x) == sign(y)

    # issue sympy/sympy#8481
    assert gruntz(m**x * exp(-m) / factorial(x), x) == 0

    # issue sympy/sympy#4187
    assert gruntz(exp(1 / x) * log(1 / x) - Ei(1 / x), x) == -EulerGamma
    assert gruntz(exp(x) * log(x) - Ei(x), x) == oo

    # issue sympy/sympy#10382
    assert gruntz(fibonacci(x + 1) / fibonacci(x), x) == GoldenRatio

    assert gruntz(zeta(x), x) == 1
    assert gruntz(zeta(m) * zeta(x), x) == zeta(m)
Пример #53
0
def test_gruntz_eval_special():
    # Gruntz, p. 126
    assert gruntz(exp(x)*(sin(1/x + exp(-x)) - sin(1/x + exp(-x**2))), x) == 1
    assert gruntz((erf(x - exp(-exp(x))) - erf(x)) * exp(exp(x)) * exp(x**2),
                  x) == -2/sqrt(pi)
    assert gruntz(exp(exp(x)) * (exp(sin(1/x + exp(-exp(x)))) - exp(sin(1/x))),
                  x) == 1
    assert gruntz(exp(x)*(gamma(x + exp(-x)) - gamma(x)), x) == oo
    assert gruntz(exp(exp(digamma(digamma(x))))/x, x) == exp(-Rational(1, 2))
    assert gruntz(exp(exp(digamma(log(x))))/x, x) == exp(-Rational(1, 2))
    assert gruntz(digamma(digamma(digamma(x))), x) == oo
    assert gruntz(loggamma(loggamma(x)), x) == oo
    assert gruntz(((gamma(x + 1/gamma(x)) - gamma(x))/log(x) - cos(1/x))
                  * x*log(x), x) == -Rational(1, 2)
    assert gruntz(x * (gamma(x - 1/gamma(x)) - gamma(x) + log(x)), x) \
        == Rational(1, 2)
    assert gruntz((gamma(x + 1/gamma(x)) - gamma(x)) / log(x), x) == 1
Пример #54
0
def test_issue_4190():
    assert gruntz(x - gamma(1 / x), x) == S.EulerGamma