Математика / Начала анализа
Метод Якоби для системы линейных уравнений
Метод Якоби строит новое приближение к решению Ax=b, одновременно пересчитывая все неизвестные из значений предыдущего шага. Он удобен для разреженных систем и хорошо показывает, зачем проверять сходимость, а не только выполнять заданное число итераций.
Формула
Сравнивайте приближение с точным решением и проверяйте невязку исходной системы.
Обозначения
- $A=(a_ij)$
- квадратная матрица коэффициентов, зависит от модели
- $b$
- вектор правой части, как у Ax
- $x^(k)$
- приближение после k шагов, единица неизвестной
- $a_ii$
- диагональный коэффициент i-го уравнения, единица b_i / единица x_i
Условия применения
Каждый диагональный коэффициент a_ii должен быть ненулевым. Достаточное, но не необходимое условие сходимости — строгая диагональная доминантность по строкам: |a_ii| больше суммы |a_ij| при j≠i. Начальный вектор выбирают явно, а остановку задают нормой невязки ||b−Ax^(k)|| либо контролем изменения вектора, с указанным допуском.
Ограничения
Метод не обязан сходиться для произвольной обратимой матрицы: обратимость A не заменяет условие на матрицу итерации. При медленном сжатии число шагов может быть большим, а малое ||x^(k+1)−x^(k)|| без контроля невязки иногда вводит в заблуждение из-за масштаба задачи. Нулевой или почти нулевой диагональный элемент требует перестановки строк либо другого метода.
Подробное объяснение
В каждом уравнении системы выделяют одну неизвестную x_i и временно считают остальные известными. Метод Якоби подставляет в правую часть только компоненты прошлого вектора x^(k), поэтому сразу получает весь новый вектор x^(k+1). Это не последовательное исключение, а повторение одного и того же линейного отображения до тех пор, пока оно перестанет заметно менять ответ.
После разложения A=D+L+U формула имеет вид x^(k+1)=−D^(−1)(L+U)x^(k)+D^(−1)b. Ошибка e^(k)=x^(k)−x* умножается на B=−D^(−1)(L+U). Поэтому решающим свойством служит спектральный радиус B: при ρ(B)<1 ошибки стремятся к нулю. Диагональная доминантность — практичная проверка, которая гарантирует это сжатие, но не описывает все удачные случаи.
Важно не смешивать «одновременность» с использованием уже найденных строк. Внутри одного шага нельзя заменить x_j^(k) на только что вычисленное x_j^(k+1): получится метод Гаусса—Зейделя. У Якоби хранится отдельный новый вектор; такая дисциплина делает результат независимым от порядка обхода и облегчает вычисления на нескольких устройствах.
Качество шага проверяют невязкой r=b−Ax, потому что она относится к исходной системе. Изменение самого вектора полезно как дополнительный индикатор, но его смысл зависит от масштаба x. Для симметричной положительно определённой или сильно разреженной задачи метод часто рассматривают как понятную базовую схему и ориентир для выбора более быстрых итераций.
Как пользоваться формулой
- Проверьте ненулевую диагональ и выпишите для каждой строки выражение x_i через остальные неизвестные и b_i.
- Выберите начальный вектор, например нулевой, и сохраните его как старый: все правые части шага читают только этот вектор.
- Одновременно вычислите каждую компоненту нового вектора по своей строке и только после этого замените старый вектор новым.
- После каждого шага найдите невязку b−Ax; остановитесь, когда её норма достигнет заранее выбранного допуска задачи.
Историческая справка
В численных расчётах XX–XXI веков метод носит имя Карла Густава Якоби и в современной записи является частным случаем стационарной итерации для Ax=b. Netlib Templates выводит его из покомпонентного решения уравнений при фиксированных остальных компонентах и отмечает независимость обновлений. Такая форма связывает табличные последовательные приближения с матричным языком программируемых алгоритмов.
В численных расчётах XX–XXI веков с ростом вычислительных задач метод получил естественное применение после дискретизации дифференциальных уравнений, когда возникают большие разреженные системы. Современный анализ использует матрицу итерации, спектральный радиус и нормы невязки; эти понятия задают условия сходимости и оценку ошибок. В учебной практике схема остаётся наглядной: из каждой строки получается правило обновления, а независимость новых компонентов объясняет и возможность параллельного вычисления, и отличие от последовательных проходов.
Историческая линия формулы
Имя Якоби закреплено за одновременным обновлением компонентов: каждая новая компонента использует только прежний вектор. В Netlib Templates эта схема рассматривается в семействе стационарных методов; матричная запись и спектральный анализ уточняют современное понимание её сходимости.
Пример
Решим систему 4x+y=9, x+3y=7, начав с x^(0)=(0,0). Формулы Якоби: x^(k+1)=(9−y^(k))/4 и y^(k+1)=(7−x^(k))/3. После первого шага получаем (2,25; 2,333333), после второго — (1,666667; 1,583333), после третьего — (1,854167; 1,777778). Точное решение равно (20/11; 19/11)≈(1,818182;1,727273). Для третьего приближения невязка равна (9−4·1,854167−1,777778; 7−1,854167−3·1,777778)≈(−0,194444;−0,187500) с округлением точных дробей. Она ещё не мала, поэтому ответ нельзя объявлять окончательным; итерации продолжают до выбранного допуска.
Частая ошибка
Частая ошибка — обновить x, а затем использовать его при расчёте y того же шага; это уже другая схема с другой последовательностью приближений. Нельзя делать вывод о сходимости лишь потому, что диагональ ненулевая: нужен анализ B или достаточное условие. Не следует останавливать расчёт по фиксированному числу шагов без невязки. Наконец, знак суммы важен: из a_iix_i+Σa_ijx_j=b_i получается b_i−Σa_ijx_j, а не плюс.
Практика
Задачи с решением
Первый шаг Якоби
Условие. Для 5x+y=11, 2x+4y=10 и x^(0)=(0,0) найдите x^(1).
Решение. x^(1)=(11−0)/5=2,2; y^(1)=(10−2·0)/4=2,5.
Ответ. x^(1)=(2,2; 2,5).
Проверка доминантности
Условие. Проверьте строки матрицы [[4,1],[1,3]] на строгую диагональную доминантность.
Решение. В первой строке 4>1, во второй 3>1. Обе неравенства строгие.
Ответ. Условие выполнено; для Якоби есть достаточная гарантия сходимости.
Дополнительные источники
- https://www.netlib.org/templates/templates.html
- https://fncbook.com/linear-systems/
- https://fncbook.com/structure/
Связанные формулы
Математика
Прямой ход метода Гаусса
Прямой ход метода Гаусса зануляет коэффициенты под ведущими элементами. В результате система приводится к ступенчатому виду, из которого решение находят обратной подстановкой.
Математика
Обратная подстановка в методе Гаусса
Обратная подстановка находит неизвестные после прямого хода метода Гаусса. Она идет снизу вверх по ступенчатой системе: сначала последняя ведущая переменная, затем предыдущие.
Математика
Метод Гаусса-Жордана
Метод Гаусса-Жордана продолжает метод Гаусса до приведенного ступенчатого вида. Если система имеет единственное решение, расширенная матрица превращается в [I|x], и ответ читается сразу.
Математика
Число обусловленности для задачи МНК
При переходе к нормальным уравнениям число обусловленности фактически возводится в квадрат, поэтому ошибки округления и шум в данных могут заметно усилиться.