Для решения больших линейных систем с использованием итерационных методов часто представляет интерес введение предобусловливания, например, вместо решения вместо решения M - 1 ( A x = b ) , где M здесь используется для предобусловливания системы влево. Как правило, мы должны иметь это M - 1 ≈ A - 1 и обеспечивать основу для (гораздо более) эффективного решения или сокращения вычислительных ресурсов (например, памяти) по сравнению с решением исходной системы (то есть, когда). Однако, какие рекомендации мы должны использовать, чтобы выбрать предварительный кондиционер? Как практикующие делают это для своей конкретной проблемы?
linear-algebra
iterative-method
preconditioning
Аллан П. Энгсиг-Каруп
источник
источник
Ответы:
Изначально я не хотел давать ответ, потому что это заслуживает очень долгого обращения, и, надеюсь, кто-то еще даст его. Тем не менее, я могу дать очень краткий обзор рекомендуемого подхода:
Примерами 3 являются смещенные лапласовы версии Гельмгольца и недавняя работа Цзиньчао Сюй по предварительному условию бигармонического оператора лапласианами.
источник
Другие уже прокомментировали проблему предобусловливания того, что я буду называть «монолитными» матрицами, то есть, например, дискретизированной формы скалярного уравнения, такого как уравнение Лапласа, уравнение Гельмгольца или, если вы хотите обобщить, вектор-значение уравнение упругости. Для этих вещей ясно, что многосетка (алгебраическая или геометрическая) является победителем, если уравнение является эллиптическим, а для других уравнений это не совсем понятно - но что-то вроде SSOR часто работает достаточно хорошо (для некоторого значения "разумный").
Для меня большое открытие было то, что делать с задачами, которые не являются монолитными, например, для оператора Стокса Когда я начал численный анализ около 15 лет назад, я думаю, что у людей была надежда, что к таким матрицам могут быть применены те же методы, что и выше, и направление исследований заключалось в том, чтобы либо попробовать многосеточный метод напрямую, либо использовать обобщения SSOR (используя " точки сглаживают "как у Ваньки" и аналогичные методы. Но это исчезло, так как это не очень хорошо работает.
То, что пришло на смену этому, было то, что первоначально называлось «основанными на физике предобработчиками», а позже просто (и, может быть, более точно) «блочными предобработчиками», такими как Сильвестр и Ватен. Они часто основаны на исключениях блоков или дополнениях Шура, и идея состоит в том, чтобы создать предварительный кондиционер таким образом, чтобы можно было повторно использовать предварительные кондиционеры для отдельных блоков, которые, как известно, работают хорошо. Например, в случае уравнения Стокса предварительный кондиционер Сильвестра / Ватена использует эту матрицу
Эта идея работы с отдельными блоками, составляющими матрицу, и повторного использования предобусловливателей на отдельных, оказалась чрезвычайно мощной и полностью изменила наше представление о системах уравнений предобусловливания сегодня. Конечно, это актуально, потому что большинство актуальных проблем - это системы уравнений.
источник
Джек дал хорошую процедуру для поиска предварительного кондиционера. Я попробую ответить на вопрос «Что делает хорошего предобусловливателя?». Оперативное определение:
однако это не дает нам никакого представления о разработке предварительного кондиционера. Большинство предварительных кондиционеров основаны на манипулировании операторским спектром. Как правило, методы Крылова сходятся быстрее, когда собственные значения кластеризованы, см. Матричные итерации или Мероморфные функции и Линейная алгебра . Иногда мы можем доказать, что результаты предобусловливания - это всего лишь несколько уникальных собственных значений, например, Замечание о предобусловливании для неопределенных линейных систем .
Примером общей стратегии является Multigrid. Релаксационные предварительные кондиционеры (здесь сглаживающие), такие как SOR, удаляют высокочастотные компоненты в ошибке. Когда остаток проецируется на грубую сетку, компоненты погрешности более низкой частоты становятся более высокой частотой и могут снова подвергаться атаке SOR. Эта базовая стратегия лежит в основе более сложных версий MG, таких как AMG. Обратите внимание, что в нижней части решатель должен точно разрешить самые низкие частоты ошибки.
Другая стратегия заключается в решении уравнения в малых подпространствах, что и делают решатели Крылова. В простейшей форме это метод Качмарца или Аддитивный метод Шварца . Продвинутая деформация теории здесь, Разложение Домена , концентрируется на спектральной аппроксимации ошибки на границе раздела, поскольку предполагается, что домены решаются довольно точно.
источник