Решающая система линейных уравнений - метод наименьших квадратов
пытается решить систему линейных уравнений x = lsqr(A,b)A*x = b для x использование метода наименьших квадратов. lsqr находит решение методом наименьших квадратов для x который минимизирует norm(b-A*x). Когда A является допустимым, решение методом наименьших квадратов также является решением линейной системы. Когда попытка успешна, lsqr отображение сообщения для подтверждения сходимости. Если lsqr не сходится после максимального количества итераций или остановок по какой-либо причине, оно отображает диагностическое сообщение, которое включает относительную невязку norm(b-A*x)/norm(b) и номер итерации, на котором остановился метод.
[ возвращает флаг, который определяет, успешно ли сходился алгоритм. Когда x,flag] = lsqr(___)flag = 0конвергенция прошла успешно. Можно использовать этот синтаксис выхода с любой из предыдущих комбинаций входных аргументов. Когда вы задаете flag выход, lsqr не отображает никаких диагностических сообщений.
[ также возвращает остаточную ошибку вычисляемого решения x,flag,relres] = lsqr(___)x. Если flag является 0, затем x является решением методом наименьших квадратов, которое минимизирует norm(b-A*x). Если relres является маленьким, тогда x также является последовательным решением, поскольку relres представляет norm(b-A*x)/norm(b).
Сходимость большинства итерационных методов зависит от числа обусловленности матрицы коэффициентов, 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] Пейдж, С. С. и М. А. Сондерс, «LSQR: алгоритм для разреженных линейных уравнений и разреженных наименьших квадратов», ACM Trans. Math. Soft., Vol.8, 1982, pp . 43-71.