Итерационные методы для неопределенных систем без блочной структуры

9

Неопределенные системы матриц появляются, например, при дискретизации задач седловой точки смешанными конечными элементами. Системная матрица может быть представлена ​​в виде

(ABtBC)

где A является отрицательным (полу) -определенным, C является положительным (полу) определенным и Bпроизвольно. Конечно, в зависимости от соглашения вы можете использовать условия определенности, но это в значительной степени структура этих матриц.

Для этих методов можно использовать метод Узавы, который на самом деле является просто «уловкой» для преобразования системы в эквивалентную полуопределенную систему, которая может быть решена с помощью градиентного сопряжения, градиентного спуска и тому подобного.

Я сталкиваюсь с неопределенной системой, у которой нет такой блочной структуры. Методы типа Узава в этом случае не применяются. Мне известно о методе минимального остатка (MINRES), который был введен Paige & Saunders, который представляет собой всего лишь трехчленную рекурсию и, кажется, ее легко реализовать.

Вопрос: Является ли MINRES вообще хорошим выбором, скажем, для прототипирования? Это имеет какое-либо практическое значение? Предварительная подготовка не является центральной проблемой в данный момент.

shuhalo
источник
Не могли бы вы рассказать немного больше о том, что делает ваши матрицы особенными? Например, с какой это проблемой? Есть ли какая-то другая структура? И т.д. И т.д.
Билл Барт,
Я оставил это намеренно пустым, чтобы получить самый общий ответ (честно говоря, это подразумевает, что есть общий удовлетворительный ответ). Но пример с приведенным ниже уравнением Гельмгольца - это то, что я имел в виду.
Шухало

Ответы:

7

Если вас не интересует предварительная обработка, то MINRES является стандартным выбором. Однако следует помнить, что MINRES требует симметричного положительно определенного предварительного кондиционера.

Если вас интересует предварительное кондиционирование, важно учитывать структурные различия между большинством проблем седловой точки и общими неопределенными проблемами. Большинство проблем седловой точки возникает при решении эллиптических задач с ограничениями, налагаемыми множителями Лагранжа. Несжимаемость и контактные ограничения являются общими примерами. Для таких задач оператор является коэрцитивным на подпространстве, в котором выполняется ограничение, причем функции Грина быстро затухают. Такие проблемы могут быть эффективно решены с помощью блочных предобработчиков (предварительно подготовленный Uzawa является членом этого семейства), многосеточных с совместимыми сглаживателями (например, Vanka или на основе разложения блоков) или многоуровневого разложения доменов с соответствующими локальными и грубыми проблемами.

Прототипом неопределенной задачи, которая не является проблемой седловой точки, является уравнение Гельмгольца

(au)k2u=f

где a(x)равномерно ограничен сверху и снизу положительными константами. ЗаkВ общем, функции Грина сильно колеблются, что затрудняет предварительную обработку (и дискретизацию). Два разумных подхода - это широкие предварительные кондиционеры, основанные на идеально подобранных слоях и «многосетке с волновыми лучами», как описано в ответах на этот вопрос . К сожалению, эти методы довольно специфичны для конкретного уравнения и являются техническими для реализации.

Джед браун
источник
1
Чтобы быть справедливым, хотя радикальные предварительные кондиционеры, безусловно, технически эффективны для параллельной реализации, идея не является специфической для Гельмгольца; Основным требованием является поглощающее граничное условие (например, идеально подобранные слои).
Джек Поулсон
3

Смежный вопрос, который может представлять интерес: какие рекомендации следует соблюдать при выборе разреженного линейного решателя системы? , хотя в этом случае вас заинтересуют только итерационные методы. Мое понимание итерационных методов заключается в том, что сходимость для любого данного метода сильно зависит от спектра вашей матрицы. Даже если вы не можете использовать метод Узавы, вы все равно можете попробовать GMRES, Biconjugate стабилизированный градиент, MINRES, метод квазимнимального невязки и другие итерационные методы, которые применяются к неопределенным матрицам.

Если кодирование различных методов является проблемой, вы можете вызывать решатели в вашем алгоритме, используя библиотеку, такую ​​как PETSc , которая реализует множество итерационных линейных решателей.

Джефф Оксберри
источник
1

МИНРЕС - лучший выбор для этого типа проблемы.

Кеес Вуик
источник
1
Пожалуйста, не связывайте свой личный сайт таким образом. Не стесняйтесь связывать определенные ресурсы, которые имеют отношение к вашему ответу, но не связывайте свой личный сайт таким образом. Я удалил это из этого ответа. Такие ссылки принадлежат вашему профилю пользователя.
Джед Браун
Не могли бы вы пояснить, почему MINRES является лучшим выбором для такого рода проблем? Добавление более подробной информации поможет сделать ваш ответ более полезным для сообщества и поможет вам набрать больше голосов.
Джефф Оксберри