kosyachniy
@kosyachniy
Python BackEnd, Web FullStack

Можно ли вычислить это математическое выражение с суммой без использования цикла средствами Python?

Есть математическое выражение из задачника по MatLab:
5ba6285784063360520821.png
Можно ли вычислить это математическое выражение с суммой без использования цикла средствами Python? Видел метод с использованием векторов, но реализовать не получилось, так как в этой формуле также используется размещение.
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 2
sgjurano
@sgjurano
Разработчик
UPD: дальнейшие рассуждения ошибочны.

А что такое число сочетаний из отрицательного числа?

C_{n}^{k} = n!/(n-k)!k!, факториал определён только для натуральных чисел и нуля, а у вас в выражении k пробегает от -n до n, а значит при любых n кроме 0, это выражение не определено.

Отсюда можно сделать вывод, что оно определено только при n=0, тогда:

sum_{k=-n}^{n}[((-1)^{n-k} * C_{n}^{k})/(x-k)] = (-1^0 * (0!*0!/0!)/x = (1 * 1)/x = 1/x
Ответ написан
Возможно, я неверно понял вопрос (я уточнял в комментариях), но если всё воспринимать буквально, для решения такой задачи я бы использовал что-то вроде этого:
from math import factorial as fact

def sigma(n,x):
    if abs(x) in range(abs(n)+1):
        raise ValueError('check the arguments values ')
    else:
        return sum(
            [(-1)**(n-k)*fact(2*n)/fact(n+k)/fact(n-k)/(x-k)
            for k in map(lambda i: i-n, range(2*n+1))]
            )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы