Example #1
0
def test_as_sum_raises():
    e = Integral((x + y)**2, (x, 0, 1))
    pytest.raises(ValueError, lambda: e.as_sum(-1))
    pytest.raises(ValueError, lambda: e.as_sum(0))
    pytest.raises(ValueError, lambda: Integral(x).as_sum(3))
    pytest.raises(NotImplementedError, lambda: e.as_sum(oo))
    pytest.raises(NotImplementedError, lambda: e.as_sum(3, method='xxxx2'))
Example #2
0
def test_as_sum_raises():
    e = Integral((x + y)**2, (x, 0, 1))
    pytest.raises(ValueError, lambda: e.as_sum(-1))
    pytest.raises(ValueError, lambda: e.as_sum(0))
    pytest.raises(ValueError, lambda: Integral(x).as_sum(3))
    pytest.raises(NotImplementedError, lambda: e.as_sum(oo))
    pytest.raises(NotImplementedError, lambda: e.as_sum(3, method='xxxx2'))
Example #3
0
def test_as_sum_left():
    e = Integral((x + y)**2, (x, 0, 1))
    assert e.as_sum(1, method="left").expand() == y**2
    assert e.as_sum(2, method="left").expand() == Rational(1, 8) + y / 2 + y**2
    assert e.as_sum(
        3, method="left").expand() == Rational(5, 27) + 2 * y / 3 + y**2
    assert e.as_sum(
        4, method="left").expand() == Rational(7, 32) + 3 * y / 4 + y**2
Example #4
0
def test_as_sum_right():
    e = Integral((x + y)**2, (x, 0, 1))
    assert e.as_sum(1, method="right").expand() == 1 + 2 * y + y**2
    assert e.as_sum(
        2, method="right").expand() == Rational(5, 8) + 3 * y / 2 + y**2
    assert e.as_sum(
        3, method="right").expand() == Rational(14, 27) + 4 * y / 3 + y**2
    assert e.as_sum(
        4, method="right").expand() == Rational(15, 32) + 5 * y / 4 + y**2
Example #5
0
def test_as_sum_midpoint2():
    e = Integral((x + y)**2, (x, 0, 1))
    assert e.as_sum(1, method="midpoint").expand() == Rational(1, 4) + y + y**2
    assert e.as_sum(2,
                    method="midpoint").expand() == Rational(5, 16) + y + y**2
    assert e.as_sum(3,
                    method="midpoint").expand() == Rational(35, 108) + y + y**2
    assert e.as_sum(4,
                    method="midpoint").expand() == Rational(21, 64) + y + y**2
Example #6
0
def test_as_sum_midpoint1():
    e = Integral(sqrt(x**3 + 1), (x, 2, 10))
    assert e.as_sum(1, method="midpoint") == 8 * sqrt(217)
    assert e.as_sum(2, method="midpoint") == 4 * sqrt(65) + 12 * sqrt(57)
    assert e.as_sum(3, method="midpoint") == 8*sqrt(217)/3 + \
        8*sqrt(3081)/27 + 8*sqrt(52809)/27
    assert e.as_sum(4, method="midpoint") == 2*sqrt(730) + \
        4*sqrt(7) + 4*sqrt(86) + 6*sqrt(14)
    assert abs(e.as_sum(4, method="midpoint").evalf() - e.evalf()) < 0.5

    e = Integral(sqrt(x**3 + y**3), (x, 2, 10), (y, 0, 10))
    pytest.raises(NotImplementedError, lambda: e.as_sum(4))
Example #7
0
def test_as_sum_midpoint1():
    e = Integral(sqrt(x**3 + 1), (x, 2, 10))
    assert e.as_sum(1, method="midpoint") == 8*sqrt(217)
    assert e.as_sum(2, method="midpoint") == 4*sqrt(65) + 12*sqrt(57)
    assert e.as_sum(3, method="midpoint") == 8*sqrt(217)/3 + \
        8*sqrt(3081)/27 + 8*sqrt(52809)/27
    assert e.as_sum(4, method="midpoint") == 2*sqrt(730) + \
        4*sqrt(7) + 4*sqrt(86) + 6*sqrt(14)
    assert abs(e.as_sum(4, method="midpoint").evalf() - e.evalf()) < 0.5

    e = Integral(sqrt(x**3 + y**3), (x, 2, 10), (y, 0, 10))
    pytest.raises(NotImplementedError, lambda: e.as_sum(4))
Example #8
0
def test_as_sum_trapezoid():
    e = Integral(sin(x), (x, 3, 7))
    assert e.as_sum(2, 'trapezoid') == 2*sin(5) + sin(3) + sin(7)
Example #9
0
def test_as_sum_right():
    e = Integral((x + y)**2, (x, 0, 1))
    assert e.as_sum(1, method="right").expand() == 1 + 2*y + y**2
    assert e.as_sum(2, method="right").expand() == Rational(5, 8) + 3*y/2 + y**2
    assert e.as_sum(3, method="right").expand() == Rational(14, 27) + 4*y/3 + y**2
    assert e.as_sum(4, method="right").expand() == Rational(15, 32) + 5*y/4 + y**2
Example #10
0
def test_as_sum_left():
    e = Integral((x + y)**2, (x, 0, 1))
    assert e.as_sum(1, method="left").expand() == y**2
    assert e.as_sum(2, method="left").expand() == Rational(1, 8) + y/2 + y**2
    assert e.as_sum(3, method="left").expand() == Rational(5, 27) + 2*y/3 + y**2
    assert e.as_sum(4, method="left").expand() == Rational(7, 32) + 3*y/4 + y**2
Example #11
0
def test_as_sum_midpoint2():
    e = Integral((x + y)**2, (x, 0, 1))
    assert e.as_sum(1, method="midpoint").expand() == Rational(1, 4) + y + y**2
    assert e.as_sum(2, method="midpoint").expand() == Rational(5, 16) + y + y**2
    assert e.as_sum(3, method="midpoint").expand() == Rational(35, 108) + y + y**2
    assert e.as_sum(4, method="midpoint").expand() == Rational(21, 64) + y + y**2