Кусочно-определенные функции реализуются классом Piecewise . Ваша функция будет выражена как
V = sympy.Piecewise((1 + 2*sympy.log(-x), x < -1),
(x**2, x < 1),
(1 + 2*sympy.log(x), True))
print(V.diff(x))
который печатает Piecewise((2/x, x < -1), (2*x, x < 1), (2/x, True))
Пары (expr, cond)
в Piecewise
обрабатываются в указанном порядке: первое значение cond
, которое оценивается как True (если предыдущее значение равно False), приводит к возвращению соответствующего expr
.