Вопрос звучит довольно запутано, сам понимаю. Сразу приведу пример своей программы, делаю оптимизацию функции по градиентному методу со сферической нормой, для этого
Задаю значения функций
def f(x, y):
return pow(x, 2) + 3*pow(y, 2)
def dFx(x, y):
return 2*x
def dFy(x, y):
return 6*pow(y, 2)
def vec_len(x, y):
return sqrt(pow(x, 2) + pow(y, 2))
Есть некая начальная точка
Xk = X0 = [2, 1]
И дальше идут подсчеты для нахождения коэфициентов:
len_dFk = vec_len(dFx(Xk[0], Xk[1]), dFy(Xk[0], Xk[1]))
Pk = [-dFx(Xk[0], Xk[1])/len_dFk, -dFy(Xk[0], Xk[1])/len_dFk]
И тут мне нужно найти значение альфа которое берется из следующего уравнения(тут псевдокод):
Xk[0] = Xk[0] + Pk[0]*α
Xk[1] = Xk[1] + Pk[1]*α
И вот тут то мне и надо каким то образом записать это уравнение с неизвестным еще "α"(которое я в дальнейшем найду понятное дело), и вот вопрос в том как записать это уравнение в самом коде для его дальнейшего решения?