При решении систем линейных алгебраических уравнений вида
A x = b где A - прямоугольная матрица размера m на n, b - заданный вектор длины m, x - вектор искомых решений длины n, рассматриваются два случая: - когда m ≥ n (система называется переопределенной), - когда m < n (система называется недоопределенной).
В первом случае решается задача наименьших квадратов, т.е. задача минимизации по x евклидовой нормы вектора невязки
(1) || b - Ax || 2 .
Если предполагается, что ранг матрицы rank (A) = n (т.е. матрица A полного ранга), то решение задачи (1) является единственным.
Во втором случае ( m < n ), если ранг матрицы rank (A) = m, имеется бесконечное число решений x, которые точно удовлетворяют уравнению b - Ax = 0 . В этом случае часто бывает полезно найти единственное решение x, которое минимизирует норму || x || 2. В этом случае говорят, что ищется решение недоопределенной системы уравнений с минимальной нормой.
Подпрограммы PDGELS и PZGELS, входящие в этот подраздел, предполагают что rank (A) = min (m, n), т.е. что матрица A в любом случае имеет полный ранг.
В случае m > n ищется решение переопределенной системы уравнений как задачи наименьших квадратов, а при m < n ищется решение недоопределенной системы уравнений с минимальной нормой.
Эти подпрограммы используют QR - разложение (в первом случае) или LQ - разложение (во втором случае) матрицы A.
Кроме того, вместо матрицы A можно подать на вход этим подпрограммам AT (в вещественном случае) или AH (в комплексном случае).
В общем случае, когда у нас может быть rank(A) < min (m, n), другими словами, когда матрица A - неполного ранга, ищется решение задачи наименьших квадратов с минимальной нормой, при котором минимизируется как || x || 2, так и || b - Ax || 2.
Эти подпрограммы позволяют за одно обращение к ним решать сразу несколько систем уравнений, различающихся правыми частями, т.е. с разными векторами b. Для этого разные векторы b представляются как столбцы матрицы B, а решения x соответствующих систем уравнений представляются в виде соответствующих столбцов матрицы X.
Заметим, однако, что задача (1) решается для каждого из векторов правых частей независимо; т.е. это не то же самое, что нахождение матрицы X, которая минимизирует || B - AX || 2.