예제 #1
0
def test_telescopic_sums():
    # checks also input 2 of comment 1 issue 4127
    assert Sum(1 / k - 1 / (k + 1), (k, 1, n)).doit() == 1 - 1 / (1 + n)
    f = Function("f")
    assert Sum(f(k) - f(k + 2),
               (k, m, n)).doit() == -f(1 + n) - f(2 + n) + f(m) + f(1 + m)
    assert Sum(cos(k) - cos(k + 3), (k, 1, n)).doit() == -cos(1 + n) - \
        cos(2 + n) - cos(3 + n) + cos(1) + cos(2) + cos(3)

    # dummy variable shouldn't matter
    assert telescopic(1/m, -m/(1 + m), (m, n - 1, n)) == \
        telescopic(1/k, -k/(1 + k), (k, n - 1, n))

    assert Sum(1 / x / (x - 1),
               (x, a, b)).doit().simplify() == ((b - a + 1) / (b * (a - 1)))
예제 #2
0
def test_telescopic_sums():
    # checks also input 2 of comment 1 issue sympy/sympy#4127
    assert Sum(1/k - 1/(k + 1), (k, 1, n)).doit() == 1 - 1/(1 + n)
    f = Function("f")
    assert Sum(
        f(k) - f(k + 2), (k, m, n)).doit() == -f(1 + n) - f(2 + n) + f(m) + f(1 + m)
    assert Sum(cos(k) - cos(k + 3), (k, 1, n)).doit() == -cos(1 + n) - \
        cos(2 + n) - cos(3 + n) + cos(1) + cos(2) + cos(3)

    # dummy variable shouldn't matter
    assert telescopic(1/m, -m/(1 + m), (m, n - 1, n)) == \
        telescopic(1/k, -k/(1 + k), (k, n - 1, n))

    assert Sum(1/x/(x - 1), (x, a, b)).doit().simplify() == ((b - a + 1)/(b*(a - 1)))

    assert summation(f(k) - f(k - 1), (k, m, n)) == f(n) - f(m - 1)
    assert isinstance(summation(f(k) - f(k - x), (k, m, n)), Sum)
예제 #3
0
def test_telescopic_sums():
    # checks also input 2 of comment 1 issue sympy/sympy#4127
    assert summation(1 / k - 1 / (k + 1), (k, 1, n)) == 1 - 1 / (1 + n)
    f = Function('f')
    assert summation(f(k) - f(k + 2),
                     (k, m, n)) == -f(1 + n) - f(2 + n) + f(m) + f(1 + m)
    assert summation(cos(k) - cos(k + 3),
                     (k, 1, n)) == (-cos(1 + n) - cos(2 + n) - cos(3 + n) +
                                    cos(1) + cos(2) + cos(3))

    # dummy variable shouldn't matter
    assert (telescopic(1 / m, -m / (1 + m),
                       (m, n - 1, n)) == telescopic(1 / k, -k / (1 + k),
                                                    (k, n - 1, n)))

    assert summation(1 / x / (x - 1), (x, a, b)).equals(
        (b - a + 1) / (b * (a - 1)))

    assert summation(f(k) - f(k - 1), (k, m, n)) == f(n) - f(m - 1)
    assert isinstance(summation(f(k) - f(k - x), (k, m, n)), Sum)