Как работать с бесконечной суммой в Python - PullRequest
0 голосов
/ 05 ноября 2018

Я хотел бы минимизировать следующую функцию (16) enter image description here

Обратите внимание, что функция фи определяется следующим образом: enter image description here

Моя проблема Затем я пытаюсь использовать

from scipy.optimize import minimize

для минимизации функции (16). Однако (16) имеет бесконечную сумму из (15). Как я могу реализовать это в Python? Может ли функция оптимизации минимизировать бесконечную сумму? Прямо сейчас я только что определил формулу, установил бесконечную сумму на сумму только до n = 10.

def formula(x):
    return -sum(math.log(sum(1/math.sqrt(
           2*math.pi*(x[1]**2/252+n*x[4]**2))*math.exp(
           -(y-(x[0]/252+n*x[3]))**2/(2*(x[1]**2/252
           +n*x[4]**2)))*math.exp(
           -x[2]/252)*(x[2]/252)**n/math.factorial(n) 
           for n in range(1,10))) for y in difference)

guess = np.array([0.1,0.1,0.1,0.1,1])

results = minimize(formula, guess, method = 'Nelder-Mead', options={'ftol':0.01, 'xtol':0.01})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...