😁START
def function(y):
x = y[0]
w = y[1]
z = y[2]
return x*w + x**2 + wz + w * np.power(z, 3)
def numerical_derivate(function, x):
delta_x = 1e-4
grad = np.zeros_like(x)
iterator = np.nditer(x, flags=['multi_index'])
while not iterator.finished:
idx = iterator.multi_index
tmp_val = x[idx]
x[idx] = float(tmp_val) + delta_x
f1 = function(x)
x[idx] = float(tmp_val) - delta_x
f2 = function(x)
grad[idx] = (f1 - f2) / (2 * delta_x)
x[idx] = tmp_val
iterator.iternext()
return grad
😂END
no descirption, I don ready visualize elements
2022.10.15. first commit