Получение sympy для упрощения бесконечных сумм, содержащих кусочные функции

#sympy

#sympy

Вопрос:

Я запускаю следующее в своем jupyter-notebook.

 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, но не смог применить это к моей конкретной проблеме.

Я также попытался разобраться с базовыми предположениями для integer m , но не смог найти ничего подходящего.

Есть ли какой-либо прямой или косвенный способ получить sympy для упрощения бесконечных сумм, содержащих кусочные функции?

Просто в качестве отступа работает приведенный ниже код:

 p = Piecewise((1, n<5), (0, True))
Sum(p, (n, 1, oo)).evalf()