Scipy.optimize.newton для комплексной функцииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Scipy.optimize.newton для комплексной функции

Сообщение Anonymous »

Я пытаюсь найти корень, используя scipy.optimize.newton для комплексной функции. Функция отлично работает, когда я передаю производную функции в качестве одного из аргументов, поэтому используется метод Ньютона-Рафсона, однако когда я не передаю производную и пытаюсь использовать метод секущего только с одним начальным предположением (он работает, если передается второе начальное предположение, поэтому проблемная строка пропускается), генерируется следующая ошибка:

Код: Выделить всё

# I understand the error I was just wondering if there's a workaround.
x, r = optimize.newton(f_complex, x0=complex(5, -2), tol=1e-9, full_output=True)

# Error
File "C:\...\Python\Python310\lib\site-packages\scipy\optimize\zeros.py", line 325, in newton
p1 += (eps if p1 >= 0 else -eps)
TypeError: '>=' not supported between instances of 'complex' and 'int'
Вот что я пробовал:

Код: Выделить всё

from scipy import optimize

def f(z):
return z**2 + 1

def fp(z):
return 2 * z

# works
x, r = x, r = optimize.newton(f, x0=complex(5, -2), fprime=fp, tol=1e-9, full_output=True)
print(r)

# does not work
x, r = x, r = optimize.newton(f, x0=complex(5, -2), tol=1e-9, full_output=True)
print(r)

#  works if I pass a second initial guess thus line #325 is skipped
x, r = x, r = optimize.newton(f, x0=complex(5, -2), tol=1e-9, full_output=True, x1=complex(4, -1.5))
print(r)
Мой вопрос:
Работает ли метод внутреннего секущего для комплексных функций?

Подробнее здесь: https://stackoverflow.com/questions/709 ... d-function
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»