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.

FactorizationQRTallSkinny

Вычисляет блочное QR-разложение высокой узкой матрицы размера m на n (m>n): A = Q * R. Функция LAPACK LATSQR.

FactorizationLQ

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

FactorizationLQShortWide

Вычисляет блочное LQ-разложение низкой широкой матрицы размера m на n (m<n): A = L * Q. Функция LAPACK LASWLQ.

FactorizationQL

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

FactorizationRQ

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

FactorizationRZ

Приводит действительную или комплексную верхнетрапециевидную матрицу A размера M на N (M<=N) к верхнетреугольному виду с помощью ортогональных преобразований. Функция LAPACK TZRZF.

FactorizationQR2

Вычисляет обобщенное QR-разложение двух матриц: A размера n на m и B размера n на p: A = Q * R, B = Q * T * Z. Функция LAPACK GGQRF.

FactorizationRQ2

Вычисляет обобщенное RQ-разложение матрицы A размера m на n и матрицы B размера p на n: A = R * Q, B = Z * T * Q. Функция LAPACK GGRQF.