linalg::factorQR

QR-разложение матрицы

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

linalg::factorQR(A)

Описание

linalg::factorQR(A) вычисляет QR-разложение m ×n матричный A, т.е. разложение A в m ×m унитарная матрица Q и m ×n верхняя треугольная матрица R, таким образом что QR = A.

linalg::factorQR ортонормализация Грамма-Schmidt использования, чтобы вычислить разложение.

Для сингулярной или неквадратной матрицы A QR-разложение A не уникально.

Столбцы Q формируют ортонормированный базис относительно скалярного произведения двух векторов, заданных linalg::scalarProduct, и 2-норма двух векторов (см. метод "norm" из доменного конструктора Dom::Matrix).

Если звонок компонента A не задает метод "conjugate", затем факторный Q является ортогональным вместо унитарного.

Если столбцы A не может быть ортонормирован затем FAIL возвращен.

Если A матрица по доменному Dom::Float и расчеты основаны на стандартном скалярном произведении, затем использовании соответствующей функции от числовой библиотеки (numeric::factorQR) рекомендуется.

Даже если A задан по действительному или комплексным числам вызов numeric::factorQR с опцией Symbolic рекомендуется для лучшего КПД.

Звонок компонента матричного A должно быть поле, т.е. область категории Cat::Field.

Примеры

Пример 1

Мы вычисляем QR-разложение действительной матрицы:

A := Dom::Matrix(Dom::Real)(
  [[2, -3, -1], [1, 1, -1], [0, 1, -1]]
)

QR := linalg::factorQR(A)

Ортогональный матричный Q является первым элементом und верхняя треугольная матрица, R является вторым элементом списка QR. Продукт этих двух матриц равен входной матрице A:

QR[1] * QR[2]

Пример 2

QR-разложение 3×2 матрица:

B := Dom::Matrix(Dom::Real)(
  [[2, -3], [1, 2], [2, 3]]
)

уступает 3×3 ортогональная матрица и 3×2 верхняя треугольная матрица:

QR := linalg::factorQR(B)

QR[1] * QR[2]

Для этого примера мы можем вызвать numeric::factorQR(B, Symbolic) вместо этого, который в целом быстрее, чем linalg::factorQR:

QR := numeric::factorQR(B, Symbolic)

Параметры

A

Матрица A области категории Cat::Matrix

Возвращаемые значения

Перечислите [Q, R] из этих двух матриц Q и R (того же доменного типа как A), или значение FAIL.

Алгоритмы

QR-разложение может использоваться, чтобы сгенерировать решение для наименьшего квадрата сверхрешительной системы линейных уравнений. Если, то может быть решен через обратную подстановку.