10.5. Задания#

В этом задание вам нужно завершить написание алгоритмов Ньютона и BFGS для оптимизации.

Затем проверьте работу обоих алгоритмов на тестовых функциях.

Тест 1: квадратичная функция.

\[q(\mathbf{x}) = \mathbf{x}^\top \mathbf{A} \mathbf{x},\]

где \(\mathbf{A}\) – положительно определённая. Аналитический минимум \(\mathbf{0}\).

Тест должен проверять

  • работу на случайных начальных приближениях \(\mathbf{x}_0\) разного масштаба \(\|\mathbf{x}_0\|\);

  • работу на \(\mathbf{x}\) разных размеров: (2, 10, 100).

Тест 2: функция Розенброка (двумерная).

\[\text{rosenbrock}(\mathbf{x}) = (1 - x_1)^2 + 100 (x_2 - x_1^2)^2.\]

Аналитический минимум \([1, 1]^\top\).

Тест должен проверять

  • работу на случайных начальных приближениях \(\mathbf{x}_0\) разного масштаба \(\|\mathbf{x}_0\|\).