Какие рекомендации я должен использовать при поиске хороших методов предварительной обработки для конкретной проблемы?


19

Для решения больших линейных систем с использованием итерационных методов часто представляет интерес введение предобусловливания, например, вместо решения вместо решения M - 1 ( A x = b ) , где M здесь используется для предобусловливания системы влево. Как правило, мы должны иметь это M - 1 ≈ A - 1 и обеспечивать основу для (гораздо более) эффективного решения или сокращения вычислительных ресурсов (например, памяти) по сравнению с решением исходной системы (то есть, когдаAИксзнак равнобM-1(AИксзнак равноб)MM-1≈A-1Mзнак равноA). Однако, какие рекомендации мы должны использовать, чтобы выбрать предварительный кондиционер? Как практикующие делают это для своей конкретной проблемы?


1
Даже для одного конкретного класса уравнений это потребует очень длинного и подробного ответа ...
— Джек Полсон,

Должна быть возможность предложить эвристические стратегии для выбора предварительных кондиционеров. Например, учитывая проблему, что практикующие практики на практике пытаются найти хорошего предобусловливателя? Просто начните с базового диагонального предобусловливателя, основанного на извлечении диагонали из ? или? A
— Аллан П. Энгсиг-Каруп

4
Я собираюсь направить канал @MattKnepley и сказать, что соответствующее действие - поиск литературы. Если это не помогло, попробуйте все доступные варианты для решения достаточно большой проблемы. Если это не поможет, подумайте о физике и о том, как вы можете найти приблизительное решение проблемы дешево, и используйте это в качестве предварительного условия.
— Джек Полсон

@JackPoulson: Поскольку этот вопрос аналогичен тому, какой использовать разреженный линейный решатель системы? и Как выбрать масштабируемый линейный решатель , мне кажется по теме (хотя и широкий). Поскольку ваш комментарий в основном является ответом, не могли бы вы преобразовать его в ответ?
— Джефф Оксберри

Я получил награду за этот вопрос, но мне также интересно видеть больше вопросов в этом ключе, которые могут быть лучше поставлены или ограничены определенным классом проблем.
— Арон Ахмадиа

Ответы:


17

Изначально я не хотел давать ответ, потому что это заслуживает очень долгого обращения, и, надеюсь, кто-то еще даст его. Тем не менее, я могу дать очень краткий обзор рекомендуемого подхода:

  1. Выполните тщательный поиск литературы.
  2. Если это не поможет, попробуйте каждый предварительный кондиционер, который имеет смысл, что вы можете получить в свои руки. MATLAB, PETSc и Trilinos - хорошие условия для этого.
  3. Если это не помогает, вы должны тщательно продумать физику вашей проблемы и посмотреть, возможно ли найти дешевое приблизительное решение, возможно, даже слегка измененную версию вашей проблемы.

Примерами 3 являются смещенные лапласовы версии Гельмгольца и недавняя работа Цзиньчао Сюй по предварительному условию бигармонического оператора лапласианами.


Благодарность! Остальная часть этого комментария соответствует минимальному количеству символов.
— Джефф Оксберри

14

Другие уже прокомментировали проблему предобусловливания того, что я буду называть «монолитными» матрицами, то есть, например, дискретизированной формы скалярного уравнения, такого как уравнение Лапласа, уравнение Гельмгольца или, если вы хотите обобщить, вектор-значение уравнение упругости. Для этих вещей ясно, что многосетка (алгебраическая или геометрическая) является победителем, если уравнение является эллиптическим, а для других уравнений это не совсем понятно - но что-то вроде SSOR часто работает достаточно хорошо (для некоторого значения "разумный").

Для меня большое открытие было то, что делать с задачами, которые не являются монолитными, например, для оператора Стокса Когда я начал численный анализ около 15 лет назад, я думаю, что у людей была надежда, что к таким матрицам могут быть применены те же методы, что и выше, и направление исследований заключалось в том, чтобы либо попробовать многосеточный метод напрямую, либо использовать обобщения SSOR (используя " точки сглаживают "как у Ваньки" и аналогичные методы. Но это исчезло, так как это не очень хорошо работает.

(AВВT0),

То, что пришло на смену этому, было то, что первоначально называлось «основанными на физике предобработчиками», а позже просто (и, может быть, более точно) «блочными предобработчиками», такими как Сильвестр и Ватен. Они часто основаны на исключениях блоков или дополнениях Шура, и идея состоит в том, чтобы создать предварительный кондиционер таким образом, чтобы можно было повторно использовать предварительные кондиционеры для отдельных блоков, которые, как известно, работают хорошо. Например, в случае уравнения Стокса предварительный кондиционер Сильвестра / Ватена использует эту матрицу

(AВ0ВTA-1В)-1
при использовании в качестве предварительного кондиционера с GMRES приведет к сходимости ровно за две итерации. Поскольку он треугольный, инверсия также намного проще, но у нас все еще остается проблема того, что делать с диагональными блоками, и там используются аппроксимации: где тильда означает заменить точное обратное приближением. Это часто намного проще: посколькублокAявляется эллиптическим оператором, ~ A - 1
(A-1~В0(ВTA-1В)-1~)
AA-1~например, хорошо аппроксимируется многосеточным V-циклом, и получается, что здесь хорошо аппроксимируется ILU матрицы масс.(ВTA-1В)-1~

Эта идея работы с отдельными блоками, составляющими матрицу, и повторного использования предобусловливателей на отдельных, оказалась чрезвычайно мощной и полностью изменила наше представление о системах уравнений предобусловливания сегодня. Конечно, это актуально, потому что большинство актуальных проблем - это системы уравнений.


1
Человек, да, я так хотел щедрость! ;-)
— Вольфганг Бангерт

Во втором абзаце: «Но это исчезло, потому что это не очень хорошо работает». Можете ли вы дать некоторое представление о том, почему это не очень хорошо работает? Есть ли обстоятельства, при которых это может работать?
— Эндрю Т. Баркер

Причина, по которой прямая многосетка, применяемая ко всем системам, оказалась не столь успешной, заключается в том, что сглаживающий элемент должен сохранять структурные свойства уравнения, и это нетривиально для достижения. Например, если вы хотите применить мульти-сетку к уравнениям Стокса, вы должны иметь сглаживатель, который при наличии вектора без дивергенции дает вам вектор без дивергенции. Есть такие сглаживатели для Стокса, но их нетривиально построить, и это обычно сводит на нет качество сглаживателя / решателя. Сохранять свойства гораздо сложнее в более общих случаях.
— Вольфганг Бангерт

Что касается обобщения таких вещей, как Jacobi / SSOR / etc, на системы: большинство этих методов требуют, чтобы диагональные элементы матрицы были ненулевыми. Это явно не тот случай со Стоуксом. Таким образом, следующий простейший метод состоит в том, чтобы смотреть не на отдельные строки матрицы, а на блоки строк, например, на все строки для DoF, связанных с одной вершиной. Их называют «точечными сглаживателями» (точки, как в вершине), и они работают до некоторой степени, но они страдают от такого же снижения производительности, что и Jacobi / SSOR, когда проблемы становятся большими. Чтобы избежать этого, прекондиционеру необходимо глобально обмениваться информацией как мультисетка.
— Вольфганг Бангерт

Multigrid, как известно, неэффективен при решении Гельмгольца, потому что, главным образом, из-за того, что колебательные моды низкой энергии трудно сгладить или представить в грубом пространстве. Была проделана некоторая работа над многосеточными волнами, но формулировка очень техническая, и на данный момент это не зрелая методология. Обратите внимание, что несимметричные системы также могут быть решены с помощью этого вида разложения блоков. В зависимости от выбора переменных (например, примитивных или консервативных), в предварительном кондиционере может потребоваться изменение базы для раскрытия заблокированной структуры.
— Джед Браун

13

Джек дал хорошую процедуру для поиска предварительного кондиционера. Я попробую ответить на вопрос «Что делает хорошего предобусловливателя?». Оперативное определение:

AИксзнак равнобM-1A-1

однако это не дает нам никакого представления о разработке предварительного кондиционера. Большинство предварительных кондиционеров основаны на манипулировании операторским спектром. Как правило, методы Крылова сходятся быстрее, когда собственные значения кластеризованы, см. Матричные итерации или Мероморфные функции и Линейная алгебра . Иногда мы можем доказать, что результаты предобусловливания - это всего лишь несколько уникальных собственных значений, например, Замечание о предобусловливании для неопределенных линейных систем .

Примером общей стратегии является Multigrid. Релаксационные предварительные кондиционеры (здесь сглаживающие), такие как SOR, удаляют высокочастотные компоненты в ошибке. Когда остаток проецируется на грубую сетку, компоненты погрешности более низкой частоты становятся более высокой частотой и могут снова подвергаться атаке SOR. Эта базовая стратегия лежит в основе более сложных версий MG, таких как AMG. Обратите внимание, что в нижней части решатель должен точно разрешить самые низкие частоты ошибки.

Другая стратегия заключается в решении уравнения в малых подпространствах, что и делают решатели Крылова. В простейшей форме это метод Качмарца или Аддитивный метод Шварца . Продвинутая деформация теории здесь, Разложение Домена , концентрируется на спектральной аппроксимации ошибки на границе раздела, поскольку предполагается, что домены решаются довольно точно.

A


Спасибо за ваш ответ. Любой опыт, касающийся того, как далеко мы должны зайти, на самом деле служит доказательством того, что предварительная обработка работает для больших систем - и, возможно, как это можно или нужно делать на практике. По моему опыту, для многих систем мы должны полагаться на интуицию, эвристику и т. Д.
— Аллан П. Энгсиг-Каруп,

Я думаю, что интуиция заходит слишком далеко. То, что я вижу на практике, является доказательством простой системы. Тогда аргумент, что некоторая модификация должна быть нечувствительна к параметру или определенному виду вариации. Тогда численные эксперименты, показывающие, что это работает даже вне этой модели изменения.
— Мэтт Кнепли
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.