Example #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
Example #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
Example #3
0
def test_cancel():
    assert cancel((x ** 2 - 2) / (x + sqrt(2))) == x - sqrt(2)
    assert cancel((x ** 2 - y ** 2) / (x - y), x, y) == x + y
    assert cancel((x ** 2 - y) / (x - y)) == 1 / (x - y) * (x ** 2 - y)
    assert cancel((x ** 2 - y ** 2) / (x - y), x) == x + y
    assert cancel((x ** 2 - y ** 2) / (x - y), y) == x + y
    assert cancel((x ** 2 - y ** 2) / (x - y)) == x + y
    assert cancel((E * x + 2) / (x - pi) * (x - 1)) == (-2 + x * (2 - E) + E * x ** 2) / (x - pi)
    assert cancel(Eq((x ** 3 - 1) / (x - 1), sin(x))) == Eq(1 + x + x ** 2, sin(x))
    assert cancel((x ** 2 - 1) / (x - 1) == (x ** 2 + 1) / (x - I), x) == (1 + x == I + x)
    assert cancel((x ** 2 - 1) / (x - 1) + (x ** 2 + 1) / (x - I), x) == 1 + I + 2 * x
    assert cancel((x ** 2 - 1) / (x - 1) + (x ** 2 + 1) / (x - I), y) in [
        1 / (1 - x) * (1 - x ** 2) + 1 / (x - I) * (1 + x ** 2),
        -1 / (1 - x) * (-1 + x ** 2) + 1 / (x - I) * (1 + x ** 2),
        1 / (-1 + x) * (-1 + x ** 2) + 1 / (x - I) * (1 + x ** 2),
    ]
Example #4
0
def test_cancel():
    assert cancel((x**2 - 2) / (x + sqrt(2))) == x - sqrt(2)
    assert cancel((x**2 - y**2) / (x - y), x, y) == x + y
    assert cancel((x**2 - y) / (x - y)) == 1 / (x - y) * (x**2 - y)
    assert cancel((x**2 - y**2) / (x - y), x) == x + y
    assert cancel((x**2 - y**2) / (x - y), y) == x + y
    assert cancel((x**2 - y**2) / (x - y)) == x + y
    assert cancel((E * x + 2) / (x - pi) *
                  (x - 1)) == (-2 + x * (2 - E) + E * x**2) / (x - pi)
    assert cancel(Eq((x**3 - 1) / (x - 1), sin(x))) == Eq(1 + x + x**2, sin(x))
    assert cancel((x**2 - 1) / (x - 1) == (x**2 + 1) / (x - I),
                  x) == (1 + x == I + x)
    assert cancel((x**2 - 1) / (x - 1) + (x**2 + 1) / (x - I),
                  x) == 1 + I + 2 * x
    assert cancel((x**2 - 1) / (x - 1) + (x**2 + 1) / (x - I), y) in [
        1 / (1 - x) * (1 - x**2) + 1 / (x - I) * (1 + x**2),
        -1 / (1 - x) * (-1 + x**2) + 1 / (x - I) * (1 + x**2),
        1 / (-1 + x) * (-1 + x**2) + 1 / (x - I) * (1 + x**2),
    ]