Итеративное уточнение — итерационный метод, предложенный Джеймсом Х. Уилкинсоном для повышения точности численных решений систем линейных уравнений . [1] [2]
При решении линейной системы из-за накопления ошибок округления вычисленное решение может иногда отклоняться от точного решения. Начиная с итеративного уточнения, вычисляется последовательность , которая сходится к , когда выполняются определенные предположения.
Для m -й итерации итеративное уточнение состоит из трех шагов:
Решающее обоснование алгоритма уточнения заключается в том, что хотя решение для c m на шаге (ii) действительно может быть озадачено такими же ошибками, как и первое решение, , вычисление остатка r m на шаге (i), в сравнении, численно почти точно: Вы можете не очень хорошо знать правильный ответ, но вы довольно точно знаете, насколько далеко решение, которое у вас есть, от получения правильного результата ( b ). Если остаток мал в каком-то смысле, то исправление также должно быть небольшим и должно, по крайней мере, направить текущую оценку ответа x m ближе к желаемому,
Итерации остановятся сами по себе, когда остаток r m станет равным нулю или достаточно близким к нулю, так что соответствующая поправка c m будет слишком мала, чтобы изменить решение x m , которое его создало; в качестве альтернативы алгоритм остановится, когда r m станет слишком малым, чтобы убедить специалиста по линейной алгебре, следящего за ходом работы, в необходимости продолжения дальнейших уточнений.
Обратите внимание, что матричное уравнение, решенное на шаге (ii), использует одну и ту же матрицу для каждой итерации. Если матричное уравнение решается с использованием прямого метода, такого как разложение Холецкого или LU , численная затратная факторизация выполняется один раз и повторно используется для относительно недорогой прямой и обратной подстановки для решения для c m на каждой итерации. [2]
Как правило, итеративное уточнение для метода Гаусса дает решение с рабочей точностью, если при вычислении r используется двойная рабочая точность , например, с использованием четверной или двойной расширенной точности IEEE 754 с плавающей точкой , и если A не слишком плохо обусловлено (а итерация и скорость сходимости определяются числом обусловленности A ). [3]
Более формально, предполагая, что каждый шаг (ii) может быть решен достаточно точно, т.е. в математических терминах, для каждого m , мы имеем
где ‖F m ‖ ∞ < 1 , относительная ошибка в m -й итерации итеративного уточнения удовлетворяет условию
где
если А «не слишком плохо обусловлен», что в данном контексте означает
и подразумевает, что μ 1 и μ 2 имеют порядок единицы.
Различие ε 1 и ε 2 призвано обеспечить смешанную точность оценки r m , где промежуточные результаты вычисляются с округлением до единицы ε 2 до того, как окончательный результат округляется (или усекается) с округлением до единицы ε 1. Предполагается, что все остальные вычисления выполняются с округлением до единицы ε 1 .