Least Squares

Раздел Least Squares предоставляет набор универсальных функций для решения переопределенных и недоопределенных линейных систем уравнений вида A * X ≈ B методом наименьших квадратов. Эти функции ориентированы на матрицы различных типов (float, double, complex, complexf) и реализуют несколько численно устойчивых алгоритмов, основанных на стандартных процедурах из библиотеки LAPACK.

Поддерживаемые методы:

  • QR / LQ факторизация (LeastSquaresSolution) — основной способ решения систем с матрицами полного ранга.
  • QR с компактным представлением WY (LeastSquaresSolutionWY) — более эффективный метод для блочной обработки.
  • SVD (особенно для вырожденных матриц):
    • LeastSquaresSolutionDC — с использованием divide-and-conquer подхода,
    • LeastSquaresSolutionSVD — с использованием классического SVD.
  • QR с перестановкой столбцов (QR с pivoting) (LeastSquaresSolutionQRPivot) — используется для устойчивого решения вырожденных систем и определения эффективного ранга.
  • Tall-Skinny QR / Short-Wide LQ (LeastSquaresSolutionQRTallSkinny) — оптимизирован для узких или широких матриц.

 

Общие возможности:

  • Поддержка решения систем в различных формах: с матрицей A, ее транспонированной (At) или эрмитово-сопряжённой (AH).
  • Возвращение векторов остатков (residuals) и сингулярных значений (для SVD).
  • Оценка эффективного ранга матрицы.
  • Обработка как одиночных правых частей (векторов), так и множественных (матриц правых частей).

Функция

Выполняемое действие

LeastSquaresSolution

Решает переопределенные или недоопределенные вещественные / комплексные системы линейных уравнений, содержащие матрицу A размером m на n или ее транспонированную / сопряженно-транспонированную версию, с использованием QR- или LQ- разложения матрицы A. Предполагается, что A — это матрица полного ранга. LAPACK-функция GELS.

LeastSquaresSolutionDC

Вычисляет решение задачи наименьших квадратов с минимальной нормой для вещественной или комплексной системы minimize 2-norm(| b - A*x |) с использованием сингулярного разложения (SVD) матрицы A. Матрица A имеет размер m на n и может быть вырожденной по рангу. Алгоритм разделяй и властвуй (divide and conquer) предъявляет минимальные требования к точности арифметики с плавающей запятой. Функция LAPACK GELSD.

LeastSquaresSolutionSVD

Вычисляет решение задачи наименьших квадратов с минимальной нормой для вещественной или комплексной системы minimize 2-norm(| b - A*x |) с использованием сингулярного разложения (SVD) матрицы A. Матрица A имеет размер m на n и может быть вырожденной по рангу. Lapack function GELSS.

LeastSquaresSolutionWY

Решает переопределенные или недоопределенные вещественные / комплексные системы линейных уравнений, содержащие матрицу A размером m на n или ее транспонированную / сопряженно-транспонированную версию, с использованием QR- или LQ- разложения матрицы A с компактным WY-представлением матрицы Q. Предполагается, что A — это матрица полного ранга. LAPACK-функция GELST.

LeastSquaresSolutionsQRPivot

Вычисляет решение задачи наименьших квадратов с минимальной нормой для вещественной или комплексной системы minimize 2-norm(| b - A*x |) с использованием полного ортогонального разложения матрицы A. Матрица A имеет размер m на n и может быть вырожденной по рангу. LAPACK-функция GELSY.

LeastSquaresSolutionQRTallSkinny

Решает переопределенные или недоопределенные вещественные или комплексные системы линейных уравнений, включающие матрицу A размером m на n или ее транспонированную / сопряженно-транспонированную версию, используя высокое узкое QR-разложение (tall skinny QR) или короткое широкое LQ-разложение (short wide LQ) матрицы A. Предполагается, что A — это матрица полного ранга. LAPACK-функция GETSLS.