Итерационные методы для СЛАУ: Якоби, Зейдель, релаксация
Как итерации уточняют решение системы, когда диагональное преобладание гарантирует сходимость, почему Зейдель обгоняет Якоби и как параметр релаксации ω = 1,03 сокращает счёт — с ручным расчётом трёх методов на одной системе.
В обзоре численных методов для СЛАУ мы встретили Якоби и Зейделя мельком, в конце — как ответ на вопрос «что делать с миллионом неизвестных». Теперь разберём их всерьёз: откуда берутся их формулы, что именно гарантирует сходимость, почему Зейдель обычно обгоняет Якоби и куда встраивается третий игрок — метод релаксации с настраиваемым параметром , способный ускорить счёт ещё в разы. База простая: вместо того чтобы решать систему сразу, угадываем ответ и улучшаем его простым правилом — тем самым способом, каким работает любой итерационный метод.
Формулы: разложение матрицы на три части#
Разложим матрицу на диагональ, нижний и верхний треугольники: , где — диагональ, — элементы ниже диагонали, — выше. Система превращается в . Идея метода Якоби: в левой части взять новое приближение, в правой — старое:
Зейдель делает маленькую, но хитрую правку: компоненты нумеруются по порядку, и свежепосчитанные сразу подставляются в правую часть — не дожидаясь конца итерации:
Оба метода — частные случаи метода простых итераций с матрицей перехода . Вся теория сходимости живёт в спектре этой матрицы: итерации сходятся тогда и только тогда, когда спектральный радиус — максимальный по модулю собственное значение — меньше единицы. Для Якоби , для Зейделя — своя матрица перехода ; как считать спектр приближённо, показано в уроке про численные собственные значения. Проверять радиус в лоб неудобно, поэтому на практике пользуются достаточными условиями.
Когда итерации гарантированно сходятся#
Первое условие — строгое диагональное преобладание: в каждой строке модуль диагонального элемента больше суммы модулей остальных, . Оно влечёт — сходятся и Якоби, и Зейдель. Чем больше отрыв диагонали, тем меньше радиус и быстрее сходимость: в системе , радиус Якоби равен — ошибка падает в десять раз за итерацию.
Второе условие — симметричность и положительная определённость матрицы: для таких систем Зейдель сходится всегда, даже если преобладания нет. А вот Якоби — не обязан: классическая ловушка, когда преобладания нет, система SPD, Зейдель ползёт к ответу, а Якоби расходится. Проверка преобладания — одна строка: обойти строки, сравнить модули. Сеточные матрицы из задач теплопроводности преобладают почти всегда — поэтому итерационные методы там и живут.
Мост к теории высшего уровня: метод простых итераций — это сжатие в подходящей норме, и существование сходимости выдаёт принцип сжатых отображений Банаха, разобранный в курсе ТФДП: чем меньше , тем сильнее сжатие и быстрее сходится последовательность приближений.
Релаксация: параметр, который разгоняет Зейделя#
Метод верхней релаксации (SOR) берёт зейделевский шаг и перешагивает его: новое значение — смесь старого и зейделевского с весом :
Граница жёсткая: при любом метод расходится — теорема Кахана. Для трёхдиагональных матриц с диагональным преобладанием существует оптимальный вес
Формула обещает больше, чем кажется: при близком к единице (а у сеточных задач именно так) подбирается к двойке, и асимптотическая скорость сжатия ошибки улучшается с до — на сетках разница измеряется кратами.
Ручной пример: одна система, три метода#
Система: , , с решением . Проверка: , , — сходится. Диагональное преобладание есть: , , . Для трёхдиагональной матрицы спектральный радиус Якоби известен точно: ; Зейдель даёт ; оптимальный вес . Стартуем с нуля и считаем до ошибки .
| $k$ | Якоби: $x;\ y;\ z$ | Зейдель: $x;\ y;\ z$ | SOR ($\omega = 1{,}0334$) |
|---|---|---|---|
| 1 | 1,5; 3; 3,5 | 1,5; 2,625; 2,8438 | 1,5501; 2,6997; 2,9194 |
| 2 | 0,75; 1,75; 2,75 | 0,8438; 2,0781; 2,9805 | 0,8009; 2,0489; 2,9901 |
| 3 | 1,0625; 2,125; 3,0625 | 0,9805; 2,0098; 2,9976 | 0,9940; 2,0025; 2,9997 |
| 4 | 0,9844; 1,9531; 2,9844 | 0,9951; 2,0024; 2,9994 | 0,9996; 2,0001; 3,0000 |
| итог | 10 итераций | 6 итераций | 5 итераций |
Читаем таблицу. Якоби качается вокруг решения с амплитудой, падающей примерно на треть за шаг. Зейдель уже на первом шаге ближе: свежая компонента сразу снижает правую часть второго уравнения. Релаксация с небольшим перешагиванием вырывается вперёд на финишной прямой. Но самый громкий эффект — на другой стороне: тот же SOR с добирается до той же точности за итераций — почти десятикратный проигрыш только из-за жадного веса. Релаксация — инструмент точной настройки, а не «больше значит лучше».
Критерий остановки: когда бросать итерации#
Практический вопрос: сколько шагов считать? Стоп-сигнал «приближения почти перестали меняться» обманчив — при медленной сходимости (радиус ) разность соседних итераций крошечная, а до решения ещё далеко. Надёжнее нормировать приращение на запас: для преобладающих матриц работает апостериорная оценка — при радиусе, близком к единице, знаменатель раздувает ошибку, и разность итераций ложно выглядит приторно малой. Плюс независимый контроль: подставить приближение в исходную систему и посмотреть невязку — она обязана убывать со скоростью, предсказанной радиусом.
| Ситуация | Метод выбора | Почему |
|---|---|---|
| Маленькая плотная система | Гаусс | Прямой метод точен за конечное число шагов |
| Огромная разреженная, преобладание есть | Зейдель или SOR | Дёшево на итерацию, память только на ненулевые |
| Матрица симметричная положительно определённая | Зейдель / сопряжённые градиенты | Сходимость гарантирована без преобладания |
| Много правых частей, одна матрица | LU-разложение | Факторизация один раз, дальше дёшево |
| Нужна максимальная скорость на сетке | SOR с настроенным | Асимптотика против |
Практикуйтесь руками: возьмите систему из задачника, проверьте преобладание, посчитайте две-три итерации Якоби и Зейделя, а потом прогоните её в тренажёре СЛАУ — расхождение ручного счёта с машиной сразу покажет, где потеряли знак. Пошаговый алгоритм решения систем от постановки до проверки есть в разборе задач на СЛАУ.
Частые ошибки#
- Считать преобладание обязательным. Нет преобладания — это не приговор: SPD-матрицы сходятся в Зейделе без него. Верная цепочка проверки: преобладание → если нет, симметрия и положительная определённость → если и этого нет, оценивать спектральный радиус или переставлять уравнения.
- Якоби там, где Зейдель обязан. Для SPD-систем Якоби может расходиться при сходящемся Зейделе — выбор «по привычке к параллелизму» обходится дорого.
- или выше. За границей сходимости не бывает ни для какой матрицы с ненулевой диагональю — теорема Кахана. на нашем примере съел десятикратное время счёта.
- Остановка по малости приращения при медленной сходимости. При разность соседних итераций мала ещё задолго до решения; контролируйте невязку и делите приращение на .
- Забыть, что итерации — приближение. Ответ итерационного метода подставляют дальше в расчёт как точный. Проверка подстановкой в исходную систему обязательна, как и в любом численном методе из обзора методов СЛАУ.
Чем метод Зейделя отличается от метода Якоби?
Для трёхдиагональной системы с каков оптимальный параметр релаксации и во сколько раз его асимптотика лучше зейделевской?
Итерации остановлены: разность соседних приближений , спектральный радиус . Насколько можно доверять ответу?
Частые вопросы
Как быстро проверить, что Якоби и Зейдель сойдутся?
Пробежьте строки: если в каждой — сходятся оба, и можно считать. Если преобладания нет, а матрица симметричная и положительно определённая — сойдётся Зейдель (Якоби — не факт). Во всех остальных случаях остаётся строгий критерий: спектральный радиус матрицы перехода меньше единицы.
Почему Зейдель обычно сходится быстрее Якоби?
Он использует свежую информацию сразу: компоненты считаются по порядку, и каждая новая сразу участвует в правых частях остальных. Для трёхдиагональных матриц эффект точный: радиус Зейделя равен квадрату якобиевского — на нашей системе против . Платой за скорость теряется параллелизм: порядок компонент нельзя ломать.
Как выбрать параметр релаксации ω на практике?
Если матрица трёхдиагональная с преобладанием — по формуле ; оценивают по модели задачи (для сеток это с точностью до множителя). Если формула недоступна — прогоняют счёт с двумя-тремя пробными (например, ; ; ) и смотрят, где падает невязка быстрее. Выходить за без формулы рискованно: даже в пределах теоретической границы счёт резко затягивается.
Что общего у итерационных методов СЛАУ и принципа Банаха?
Всё: метод простых итераций — это сжатое отображение, если в какой-нибудь норме; Банах тогда гарантирует единственную неподвижную точку (решение системы) и сходимость из любого старта с геометрической скоростью. Спектральный радиус — точная версия «сжатости». Подробно — в уроке про принцип сжатых отображений.
Итерационная философия — «улучшайзинг вместо формулы» — выходит далеко за пределы линейной алгебры: тот же механизм решает нелинейные уравнения (разбор метода), а его теоретический фундамент — сжатие в полном метрическом пространстве. Куда двигаться дальше по численным методам: численное решение ОДУ или обратная дорога — из квадратичной оптимизации в градиентный спуск, о котором следующий урок.
Готовитесь к контрольной?
Чеклист тем по «Численные методы»: что вы уже умеете, что повторить и в каком порядке.
Открыть чеклист предмета →
Проверьте себя в бою
Босс-экзамен по «Численные методы»: квизы всех уроков плюс бесконечный поток сгенерированных задач. Каждая попытка — новый расклад.
Начать босс-экзамен →