Почему закрепление точки для удаления пустого места плохо?

13

Уравнение Пуассона со всеми граничными условиями Неймана имеет одно постоянное размерное нулевое пространство. При решении методом Крылова нулевое пространство может быть удалено либо путем вычитания среднего значения решения на каждой итерации, либо путем закрепления значения одной вершины.

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

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

(1): Как модификации низкого ранга влияют на сходимость метода Крылова?

Джеффри Ирвинг
источник

Ответы:

9

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

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

  1. Если закрепление достигается путем «обнуления строки» (установки строки равной масштабированной строке тождества), она вводит асимметрию, которая ограничивает выбор метода Крылова и может сбить предварительные условия (например, заставить алгебраическую многосетку выбирать плохую совокупность).
  2. Если соответствующий столбец также обнуляется (с вкладом, «поднятым» в правую часть), эффект довольно мягкий.

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

Джед браун
источник