#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()