Решите систему линейных уравнений — метод наименьших квадратов
попытки решить систему линейных уравнений x = lsqr(A,b)A*x = b для x использование Метода наименьших квадратов. lsqr находит решение методом наименьших квадратов для x это минимизирует norm(b-A*x). Когда A сопоставимо, решение методом наименьших квадратов является также решением линейной системы. Когда попытка успешна, lsqr отображает сообщение, чтобы подтвердить сходимость. Если lsqr сбои, чтобы сходиться после максимального количества итераций или остановов по любой причине, это отображает диагностическое сообщение, которое включает относительный остаточный norm(b-A*x)/norm(b) и номер итерации, в который остановленный метод.
Сходимость большинства итерационных методов зависит от числа обусловленности матрицы коэффициентов, cond(A). Можно использовать equilibrate улучшить число обусловленности A, и самостоятельно это облегчает для большинства итеративных решателей сходиться. Однако использование equilibrate также приводит к лучшим качественным матрицам перед формирователем, когда вы впоследствии учитываете уравновешенный матричный B = R*P*A*C.
Можно использовать матричные функции переупорядочения, такие как dissect и symrcm переставить строки и столбцы матрицы коэффициентов и минимизировать количество ненулей, когда матрица коэффициентов учтена, чтобы сгенерировать предварительный формирователь. Это может уменьшать память и время, требуемое впоследствии решить предобусловленную линейную систему.
[1] Барретт, R., М. Берри, Т. Ф. Чан, и др., Шаблоны для Решения Линейных систем: Базовые блоки для Итерационных методов, SIAM, Филадельфия, 1994.
[2] Пэйдж, C. C. и М. А. Сондерс, "LSQR: Алгоритм для Разреженных Линейных уравнений И Разреженных Наименьших квадратов", Математика Сделки ACM. Мягкий., Vol.8, 1982, стр 43-71.