Мы записали функцию f, в коде назвали её func(). Напишите функцию gradient(), которая по формуле вычисляет её градиент. Проверьте эту функцию на нескольких векторах (уже в прекоде).

import numpy as np

def func(x):
    return (x[0] + x[1] - 1)**2 + (x[0] - x[1] - 2)**2

def gradient(x):
    return np.array([4 * x[0] - 6, 4 * x[1] + 2])

print(gradient(np.array([0, 0])))
print(gradient(np.array([0.5, 0.3])))

Результат

[-6  2]
[-4. 3.2]

Может, кто-то и не меняется... Но направление наискорейшего роста функции ещё как меняется. При переходе от одной точки к другой.