Как новичок в SymPy, я рассматриваю следующее выражение SymPy (которое должно быть равно 1, если 0<x<1
):
f = Sum((2/(lambda_m*besselj(1, lambda_m)))*besselj(0,x*lambda_m), (m, 1, oo))
где lambda_m
— m
-й ноль числа besselj(0,x)
.
Теперь у mpmath
есть функция besseljzero(0,m,0)
, которая вычисляет именно это.
К сожалению, если я заменю (вручную, я имею в виду...) lambda_m
на besseljzero(0,m,0)
в верхней формуле, SymPy выдаст мне ошибку, потому что m
не является целым числом...
Я представляю решение этой проблемы путем создания функции, которая должна:
- вернуть
j0(m)
, еслиm
не равно целому числу - вернуть
besseljzero(0,m,0)
, если это так
Но я не знаю, как поступить.
Это хорошая идея, и может ли кто-нибудь мне помочь?