Как записать в переменную уравнения с неизвестными параметрами для дальнейшего их нахождения?

Вопрос звучит довольно запутано, сам понимаю. Сразу приведу пример своей программы, делаю оптимизацию функции по градиентному методу со сферической нормой, для этого Задаю значения функций

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]*α 

И вот тут то мне и надо каким то образом записать это уравнение с неизвестным еще "α"(которое я в дальнейшем найду понятное дело), и вот вопрос в том как записать это уравнение в самом коде для его дальнейшего решения?


Ответы (0 шт):