Решающая система линейных уравнений - стабилизированный метод двухъюгатных градиентов
пытается решить систему линейных уравнений 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] Barrett, R., M. Berry, T.F. Chan, et al., Templates for the Solution of Линейные Системы: Базовые блоки for Итерационные Методы, SIAM, Philadelphia, 1994.
[2] van der Vorst, H.A., «BI-CGSTAB: Быстрый и плавно сходящийся вариант BI-CG для решения несимметричных линейных систем», SIAM J. Stat. Comput., March 1992, Vol. 13, No. 2,