Я хочу минимизировать нелинейную комплексную функцию с 2 переменными и 1 константой. Я нашел вопрос о том, как минимизировать сложную функцию, и я думаю, что она работает (?) Я еще не пробовал, потому что я хочу, чтобы сначала решить проблему с несколькими переменными одним аргументом.
Например, супер простая действительная функция:
def function(param):
x, y, a = param
return(x**2 + y**2 + a*x)
Я могу сделать минимизацию по 3 параметрам, но не по 2 переменным, 1 константе. Если я делаю
minimize(function, [2,4,5])
, то все работает нормально.
Я нашел этот вопрос, когда кто-то спросил что-то похожее на меня, но ответ не работает для меня, ответ говорит: do:
def function(x, y, a):
return(x**2 + y**2 + a*x)
minimize(function, 2, 4 args=5)
, но это дает мне ошибки, даже просто минимизируя с помощью 3 таким образом minimize(function, 2, 4, 5)
дает мне много строк ошибок, и таким образом minimize(function, (2,4,5))
дает >missing 2 required positional arguments: 'y' and 'a'.
.
Далее для сложной вещи, которую я посмотрел в ответе, было сказано разделить функцию на две реальные функции, решить их с помощью минимизации, а затем объединить оба результата в одну. Но я не уверен, что понял, так что если кто-то может помочь мне там. Функция является сложной функцией (действительная и мнимая часть), но входные данные (2 переменные 1 постоянная) действительны.
Может быть, есть пакет, который делает это?