Orthogonal Factorizations

 

OpenBLAS предоставляет ряд процедур для разложения общей прямоугольной матрицы A размера m на n в произведение ортогональной (в комплексном случае — унитарной) и треугольной (или, возможно, трапециевидной) матриц.  

Реальная матрица Q называется ортогональной, если QT Q = I ; комплексная матрица Q называется унитарной, если QH Q = I . Ортогональные и унитарные матрицы обладают важным свойством — они сохраняют евклидову норму вектора:

||x||2 = ||Qx||2, если Q ортогональна или унитарна

Благодаря этому такие матрицы способствуют численной устойчивости, поскольку не усиливают ошибки округления.

Ортогональные разложения широко применяются при решении задач наименьших квадратов. Их также можно использовать для выполнения предварительных шагов при решении задач на собственные значения или сингулярные значения.

Функция

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

FactorizationQR

Вычисляет QR-разложение общей матрицы размера m на n: A = Q * R. LAPACK-функция GEQRF.

FactorizationQRNonNeg

Вычисляет QR-разложение общей матрицы размера m на n: A = Q * R, где R — верхнетреугольная матрица с неотрицательными элементами на диагонали. LATPACK-функция GEQRFP.

FactorizationQRPivot

Вычисляет QR-разложение общей матрицы размера m на n с перестановкой столбцов: A * P = Q * R. LAPACK-функция GEQP3.

FactorizationLQ

Выполняет LQ-разложение общей матрицы размером m на n: A = L * Q. Функция LAPACK GELQF.

FactorizationQL

Выполняет QL-разложение общей матрицы размером m на n: A = Q * L. Функция LAPACK GEQLF.

FactorizationRQ

Выполняет RQ-разложение общей матрицы размером m на n: A = R * Q. Функция LAPACK GERQF.