Вам нужно использовать уравнения с 7 по 9 в комбинации. Единственными вещами, которые неизвестны в уравнениях, являются множители Лагранжа, лямбды. Все остальное зависит от доступных эмпирических данных, и, таким образом, это просто цифры.
Учитывая набор значений для лямбд, вы можете вычислить G (j, r) и якобиан J (j, i, r, s). В свою очередь, если вы знаете невязки и якобиан, вы можете использовать метод Ньютона, приведенный в уравнении 9, чтобы найти корни системы уравнений, т. Е. Такие значения лямбды, что G (j, r) = 0.
Таким образом, вы используете начальное предположение о значениях лямбд для вычисления других терминов, а затем используете эти термины для обновления вашего предположения. Нет никакой концептуальной проблемы в работе с уравнениями 7 и 8 - просто включите значения - но они складывают много чисел, поэтому некоторая осторожность оправдана.
Уравнение 9 немного сложнее, поскольку написано не очень четко. Поскольку в статье описывается система уравнений, вы обычно ожидаете решения линейного уравнения:
J * d_lambda = -G
где d_lambda - вектор изменений в предположении, G - вектор значений для функции, а J - матрица якобиановых значений. Обозначения в статье довольно запутанные, скрывая то, что должно быть простым выражением. Вы можете получить его в более понятной форме, введя единый индекс a для замены пары индексов i и s ; авторы упоминают именно это изменение в обсуждении метода, давая формулу для расчета комбинированного индекса во втором абзаце на странице 4.
В целом процедура становится (с использованием единого индекса):
- Выберите несколько лямбд, чтобы они действовали как ваше первоначальное предположение. Может быть, нули или случайные числа.
- Оценить G (a) и J (a, b).
- Решите систему линейных уравнений, чтобы получить обновления для вашего предположения.
- Если обновления невелики по сравнению с вашими предположениями, остановитесь. В противном случае определите новое предположение и вернитесь к шагу 2.
Это выглядит вполне осуществимым, используя Numpy. В документе говорилось об использовании стратегии параллельных вычислений, но это было более десяти лет назад; сегодня это кажется гораздо меньшей проблемой.