Для многих уравнений с частными производными, возникающих в природе, особенно с сильными нелинейностями или анизотропиями, выбор подходящего предобусловливателя может оказать большое влияние на то, быстро или медленно сходится итерационный метод, или нет вообще. Примеры проблем, о которых известно, что они имеют быстрые и эффективные предобусловливатели, включают сильно эллиптические уравнения с частными производными, где многосеточный метод часто обеспечивает быструю сходимость. Существует ряд тестов, которые можно использовать для оценки сходимости; здесь я собираюсь использовать функциональность PETSc в качестве примера, поскольку это, возможно, самая старая и наиболее зрелая библиотека для итеративного решения разреженных систем линейных (и нелинейных уравнений).
PETSc использует объект, называемый KSPMonitor, для контроля за ходом итерационного решателя и принятия решения о том, сходится ли или расходится решатель. Монитор использует четыре различных критерия, чтобы решить, стоит ли останавливаться. Более подробную информацию об обсуждении можно найти на странице руководства для KSPGetConvergedReason () .
Икс
A x = b
Икс^р^
( P- 1( А х - б ) )
р^= P- 1( Х^- б )
(AP−1Px=b)
r^=Ax^−b
Критерии конвергенции
- atol
∥r^∥≤atol
- Относительный допуск - критерий относительного допуска выполняется, когда норма остатка меньше нормы правой части на коэффициент предварительно определенной константы : | | г | | ≤ г т о л ⋅ | | б | |rtol
∥r^∥≤rtol⋅∥b∥
- Другие критерии - итеративное решение также может сходиться из-за обнаружения небольшой длины шага или отрицательной кривизны.
Критерии расхождения
Максимум итераций - количество итераций, которые может выполнить решатель, ограничено максимальными итерациями. Если ни один из других критериев не был достигнут при достижении максимального числа итераций, монитор возвращается как отклоненный.
Остаточный NaN - если в любой точке остаток оценивается как NaN, решатель возвращается как отклоненный.
Расхождение остаточной нормы Монитор возвращается как отклоненный, если в любой точке норма остатка больше, чем норма правой части, на коэффициент предопределенной константы :
| | г | | ≥ д т о л ⋅ | | б | |dtol
∥r^∥≥dtol⋅∥b∥
Разбивка решателя Сам метод Крылова может сигнализировать о расхождении, если он обнаруживает особую матрицу или предобусловливатель.