С помощью этого кода я хочу найти минимум в двумерной функции, используя метод Ньютона:
from numpy import array
from numpy.linalg import solve, norm
def newton2d(f, df, x, tol=1e-12, maxit=50):
x = atleast_2d(x)
for i in range(maxit):
s = solve(df(x), f(x))
x -=s
if norm(s)<tol: print(x); print(i); break
f = lambda x: array([x[0]**2-x[1]**4, x[0]-x[1]**3])
df = lambda x: array([[2*x[0], -4*x[1]**3], [1, -3*x[1]**2]])
x = array([0.7, 0.7])
newton2d(f,df,x)
Я думаю, что этот код должен работать, но я получаю ошибку, которая выглядит следующим образом:
IndexError: index 1 is out of bounds for axis 0 with size 1
спасибо за любую помощь !!