Уравновесьте матрицу с большим числом обусловленности, чтобы улучшить эффективность и стабильность решения линейной системы с помощью итерационного решателя gmres
.
Загрузите west0479
матрица, которая является действительной 479 на 479 разреженной матрицей. Использование condest
для вычисления предполагаемого числа обусловленности матрицы.
Попытайтесь решить линейную систему использование gmres
с 450 итерациями и допуском 1e-11
. Задайте пять выходов так, чтобы gmres
возвращает нормы невязки решения при каждой итерации (использование ~
для подавления ненужных выходов). Постройте график норм невязки на полулогарифмический график. График показывает, что gmres
не в состоянии достичь разумной нормы невязки, и поэтому расчетное решение для не надежно.
Использование equilibrate
для транспозиции и пересмотра A
. Создайте новую матрицу B = R*P*A*C
, который имеет лучшее число обусловленности и диагональные элементы только 1 и -1.
Использование выходов, возвращенной equilibrate
, можно переформулировать задачу в , где и . В этой форме вы можете восстановить решение в исходной системе с .
Использование gmres
решить для , и затем повторите нормы невязки при каждой итерации. График показывает, что уравновешивание матрицы улучшает стабильность задачи с gmres
сходится к желаемому допуску 1e-11
менее чем за 200 итераций.
Улучшите решение с помощью Preconditioner
После того, как вы получите матрицу B
, можно улучшить стабильность задачи еще дальше путем вычисления предварительного кондиционера для использования с gmres
. Числовые свойства B
лучше, чем у исходной матрицы A
таким образом, вы должны использовать уравновешенную матрицу, чтобы вычислить предварительный кондиционер.
Вычислите два различных предварительных обусловителя с ilu
, и используйте их как входы для gmres
чтобы решить проблему снова. Постройте график норм невязки при каждой итерации на том же графике, что и уравновешенные нормы для сравнения. График показывает, что вычисление предварительных кондиционеров с уравновешенной матрицей значительно увеличивает стабильность задачи с gmres
достижение желаемого допуска менее чем за 30 итераций.