У меня есть сложная функция, для которой я пытаюсь найти корни. Попытался использовать метод Ньютона, но он не сходился, потому что, когда x изменяется даже на небольшое количество, функция изменяется довольно сильно. Я также попытался разделить свою функцию на реальные и мнимые части и попытался использовать '' fsolve '' и '' root ''. Мне удалось найти корни обеих частей, но они не были корнями исходной функции. Моя функция:
def f1(x):
f1=np.e**(complex(0,-2*x*sqrtep*(a+b)))
g1=np.e**(complex(0,-2*x*sqrtes*(a-b)))
return bita*gamma*f1*g1-1+((bita-gamma)/((bita*gamma)-1))*(gamma*g1-bita*f1)
, где я устанавливаю параметры bita, gamma, a и b для любого значения, которое я выберу (в настоящее время они имеют соответственно 11,5,1 и -0,5)
Я скопировал и вставил уравнение в WolframAlpha, и решения пришли. Это заставляет меня думать, что есть способ найти их с помощью Python, но я не могу понять, как это сделать. Я проверил много вопросов, связанных со стековым потоком, но ни один из них не помог мне.
Любая помощь будет оценена, спасибо