Есть ли численные преимущества в решении симметричной матрицы по сравнению с матрицами без симметрии?

9

Я применяю метод конечных разностей к системе из трех связанных уравнений. Два уравнения не связаны, однако третье уравнение связано с обоими двумя другими. Я заметил, что, изменяя порядок уравнений, скажем, из(x,y,z) в (x,z,y) что матрица коэффициентов становится симметричной.

Есть ли преимущество в этом? Например, с точки зрения стабильности или эффективности / скорости решения. Матрицы очень разрежены, если это важно, ненулевые члены расположены вдоль центральных диагоналей.

boyfarrell
источник
Да, для решения симметричной системы требуется гораздо меньше усилий, чем для несимметричной. Если, кроме того, вы можете показать, что ваша матрица коэффициентов положительно определена, то вы находитесь в хорошем месте.
JM

Ответы:

10

Абсолютно!

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

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

Типичная вещь, о которой многие подумают, это подпространственные методы Крылова для решения систем уравнений Ax=bЕсли ваша проблема симметрична, вы знаете, что вам не нужны методы для несимметричной задачи, такие как GMRES, и вы можете располагать чем-то менее интенсивным, например, MINRES, или, если ваша матрица также положительно определена, CG. Однако на поведение сходимости методов Крылова не влияют перестановки, так что вы даже можете использовать симметричные методы для вашей непереставленной системы.

Другим примером является факторизация вашей матрицы A=LU в нижней треугольной части L и верхняя треугольная часть U, ЕслиA симметрично, то A=LLT, и вы должны хранить только один фактор ( разложение Холецкого ).

Нико Шлёмер
источник
3
«... и метод решения может использовать этот факт, например, обрезая ошибки округления в мнимой части во время вычисления». - больше похоже на то, что вычислительная среда использует метод, который использует симметрию и гарантированно дает реальные результаты.
JM