Я хочу вычислить градиент следующей функции h (x) = 0,5 xT * A * x + bT + x.
На данный момент я устанавливаю A как матрицу (2,2).
def function(x):
return 0.5 * np.dot(np.dot(np.transpose(x), A), x) + np.dot(np.transpose(b), x)
где
A = A = np.zeros((2, 2))
n = A.shape[0]
A[range(n), range(n)] = 1
a (2,2) Матрица с главнойдиагональ 1 и
b = np.ones(2)
Для данной точки x = (1,1) numpy.gradient возвращает пустой список.
x = np.ones(2)
result = np.gradient(function(x))
Однако я не должен получить что-то подобное: grad (f ((1,1)) = (x1 + 1, x2 + 1) = (2, 2).
Цените любую помощь.