В моем ноутбуке jupyter выполняется следующее:
from sympy import *
B = IndexedBase('B')
x, L = symbols('x L', real=True)
n = Symbol('n', integer=True)
n = Idx(n, (0, oo))
Bn = Indexed('B', n)
m = Symbol('m', integer=True)
Sum(Piecewise((0, Ne(m, n)), (L, True))*B[n], (n, 0, oo)).doit()
Последнее выражение должно оценивать в $ L B_n $.Я пытался с помощью simplify
, doit
, limit
и evalf
методов на нем, но безуспешно.Я также обнаружил больше подобных проблем в github , но не смог решить эту проблему с моей конкретной проблемой.
Я также попытался поиграться с основными предположениями для целого числа m
, но не смог найтичто-нибудь подходящее.
Есть ли прямой или косвенный способ получения sympy
для упрощения бесконечных сумм, содержащих кусочные функции?
Так же, как в стороне, работает следующий код:
p = Piecewise((1, n<5), (0, True))
Sum(p, (n, 1, oo)).evalf()