예제 #1
0
def test_trim():
    f = Function("f")

    assert trim((f(x) ** 2 + f(x)) / f(x)) == 1 + f(x)
    assert trim((sin(x) ** 2 + sin(x)) / sin(x)) == 1 + sin(x)

    assert trim((f(x) + y * f(x)) / f(x)) == 1 + y

    expr = integrate(1 / (x ** 3 + 1), x)

    assert trim(together(expr.diff(x))) == 1 / (x ** 3 + 1)
    assert cancel(together(expr.diff(x))) == 1 / (x ** 3 + 1)

    expr = together(expr.subs(x, sin(x)).diff(x))

    assert trim(expr) == cos(x) / (1 + sin(x) ** 3)

    assert trim((2 * (1 / n - cos(n * pi) / n)) / pi) == 1 / pi / n * (2 - 2 * cos(pi * n))

    assert trim(sin((f(x) ** 2 + f(x)) / f(x))) == sin(1 + f(x))

    assert trim(exp(x) * sin(x) / 2 + cos(x) * exp(x)) == exp(x) * (sin(x) + 2 * cos(x)) / 2
예제 #2
0
def test_trim():
    f = Function('f')

    assert trim((f(x)**2 + f(x)) / f(x)) == 1 + f(x)
    assert trim((sin(x)**2 + sin(x)) / sin(x)) == 1 + sin(x)

    assert trim((f(x) + y * f(x)) / f(x)) == 1 + y

    expr = integrate(1 / (x**3 + 1), x)

    assert trim(together(expr.diff(x))) == 1 / (x**3 + 1)
    assert cancel(together(expr.diff(x))) == 1 / (x**3 + 1)

    expr = together(expr.subs(x, sin(x)).diff(x))

    assert trim(expr) == cos(x) / (1 + sin(x)**3)

    assert trim((2 * (1/n - cos(n * pi)/n))/pi) == \
        1/pi/n*(2 - 2*cos(pi*n))

    assert trim(sin((f(x)**2 + f(x)) / f(x))) == sin(1 + f(x))

    assert trim(exp(x)*sin(x)/2 + cos(x)*exp(x)) == \
        exp(x)*(sin(x) + 2*cos(x))/2
예제 #3
0
def test_trim_xfail():
    assert trim((exp(3 * x) + exp(2 * x * y) + y * exp(x)) / exp(x)) == y + exp(2 * x) + exp(-x + 2 * x * y)
예제 #4
0
def test_trim_nonbasic():
    assert trim(Integral(x ** 2, (x, -1, 1))) == Integral(x ** 2, (x, -1, 1))
예제 #5
0
def test_trim_xfail():
    assert trim((exp(3*x)+exp(2*x*y) + y*exp(x))/exp(x)) == \
        y + exp(2*x) + exp(-x + 2*x*y)