def test_manualintegrate_parts(): assert manualintegrate(exp(x) * sin(x), x) == \ (exp(x) * sin(x)) / 2 - (exp(x) * cos(x)) / 2 assert manualintegrate(2*x*cos(x), x) == 2*x*sin(x) + 2*cos(x) assert manualintegrate(x * log(x), x) == x**2*log(x)/2 - x**2/4 assert manualintegrate(log(x), x) == x * log(x) - x assert manualintegrate((3*x**2 + 5) * exp(x), x) == \ 3*x**2*exp(x) - 6*x*exp(x) + 11*exp(x) assert manualintegrate(atan(x), x) == x*atan(x) - log(x**2 + 1)/2 # Make sure _parts_rule doesn't pick u = constant but can pick dv = # constant if necessary, e.g. for integrate(atan(x)) assert _parts_rule(cos(x), x) == None assert _parts_rule(exp(x), x) == None assert _parts_rule(x**2, x) == None result = _parts_rule(atan(x), x) assert result[0] == atan(x) and result[1] == 1
def test_manualintegrate_parts(): assert manualintegrate(exp(x) * sin(x), x) == \ (exp(x) * sin(x)) / 2 - (exp(x) * cos(x)) / 2 assert manualintegrate(2 * x * cos(x), x) == 2 * x * sin(x) + 2 * cos(x) assert manualintegrate(x * log(x), x) == x**2 * log(x) / 2 - x**2 / 4 assert manualintegrate(log(x), x) == x * log(x) - x assert manualintegrate((3*x**2 + 5) * exp(x), x) == \ 3*x**2*exp(x) - 6*x*exp(x) + 11*exp(x) assert manualintegrate(atan(x), x) == x * atan(x) - log(x**2 + 1) / 2 # Make sure _parts_rule doesn't pick u = constant but can pick dv = # constant if necessary, e.g. for integrate(atan(x)) assert _parts_rule(cos(x), x) == None assert _parts_rule(exp(x), x) == None assert _parts_rule(x**2, x) == None result = _parts_rule(atan(x), x) assert result[0] == atan(x) and result[1] == 1
def test_manualintegrate_parts(): assert ( manualintegrate(exp(x) * sin(x), x) == (exp(x) * sin(x)) / 2 - (exp(x) * cos(x)) / 2 ) assert manualintegrate(2 * x * cos(x), x) == 2 * x * sin(x) + 2 * cos(x) assert manualintegrate(x * log(x), x) == x ** 2 * log(x) / 2 - x ** 2 / 4 assert manualintegrate(log(x), x) == x * log(x) - x assert manualintegrate((3 * x ** 2 + 5) * exp(x), x) == 3 * x ** 2 * exp( x ) - 6 * x * exp(x) + 11 * exp(x) assert manualintegrate(atan(x), x) == x * atan(x) - log(x ** 2 + 1) / 2 # Make sure _parts_rule does not go into an infinite loop here assert manualintegrate(log(1 / x) / (x + 1), x).has(Integral) # Make sure _parts_rule doesn't pick u = constant but can pick dv = # constant if necessary, e.g. for integrate(atan(x)) assert _parts_rule(cos(x), x) == None assert _parts_rule(exp(x), x) == None assert _parts_rule(x ** 2, x) == None result = _parts_rule(atan(x), x) assert result[0] == atan(x) and result[1] == 1