Решите систему линейных уравнений — стабилизировал бисопряженный метод градиентов
попытки решить систему линейных уравнений x
= bicgstab(A
,b
)A*x = b
для x
использование Бисопряженных Градиентов Стабилизированный Метод. Когда попытка успешна, bicgstab
отображает сообщение, чтобы подтвердить сходимость. Если bicgstab
сбои, чтобы сходиться после максимального количества итераций или остановов по любой причине, это отображает диагностическое сообщение, которое включает относительный остаточный norm(b-A*x)/norm(b)
и номер итерации, в который остановленный метод.
[
возвращает флаг, который задает, сходился ли алгоритм успешно. Когда x
,flag
] = bicgstab(___)flag = 0
, сходимость была успешна. Можно использовать этот выходной синтаксис с любой из предыдущих комбинаций входных аргументов. Когда вы задаете flag
выведите, bicgstab
не отображает диагностических сообщений.
Сходимость большинства итерационных методов зависит от числа обусловленности матрицы коэффициентов, cond(A)
. Можно использовать equilibrate
улучшить число обусловленности A
, и самостоятельно это облегчает для большинства итеративных решателей сходиться. Однако использование equilibrate
также приводит к лучшим качественным матрицам перед формирователем, когда вы впоследствии учитываете уравновешенный матричный B = R*P*A*C
.
Можно использовать матричные функции переупорядочения, такие как dissect
и symrcm
переставить строки и столбцы матрицы коэффициентов и минимизировать количество ненулей, когда матрица коэффициентов учтена, чтобы сгенерировать предварительный формирователь. Это может уменьшать память и время, требуемое впоследствии решить предобусловленную линейную систему.
[1] Барретт, R., М. Берри, Т.Ф. Чан, и др., Шаблоны для Решения Линейных систем: Базовые блоки для Итерационных методов, SIAM, Филадельфия, 1994.
[2] ван дер Ворст, H.A. bicgstab: быстрый и гладко сходящийся вариант BI-CG для решения несимметричных линейных систем", SIAM J. Научный Закон Comput., март 1992, Издание 13, № 2, стр 631–644.