qr
Функция вычисления QR-разложения матрицы.
Синтаксис
R = qr(A, tau);
R = qr(A, tau, Q);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| A | array2 | Входная матрица, количество строк должно быть больше или равно количеству столбцов |
| tau | array | Выходной массив нормировочных множителей для построения матрицы
Q |
| Q | array2 | Выходная ортонормированная матрица |
Описание
qr(A,
tau) – функция вычисляет QR-разложение матрицы A,
результат - верхнетреугольная матрица R и массив нормировочных множителей
tau
qr(A, tau,
Q) – функция вычисляет QR-разложение матрицы A, результат
- верхнетреугольная матрица R и ортогональная матрица Q
такие, что A = Q * R
Входная матрица A может задаваться:
- как переменная типа матрица, определенная ранее:
R = qr(A, tau); - как матрица, состоящая из переменных, определенных ранее:
R = qr([[a1, a2],[a3, a4]], tau); - как постоянный массив:
R = qr([[1, 2],[5, 7]], tau);
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| R | array2 | Верхнетреугольная матрица |
Пример
var tau: array, Q: array2;
A = [[1,2,3],
[4,6,7],
[8,9,0]];
R = qr(A,tau,Q);
// Проверка QR-преобразования
D = Q * R;
В скрипте примера производится QR-разложение матрицы A.
В результате выполнения скрипта переменным Q и R будут
присвоены значения:
R = [[-9, -10.88888889, -3.444444444];
[ 0, -1.559518761, -6.728888054];
[ 0, 0, 0.9262116498]]
Q = [[-0.1111111111, -0.5066456888, -0.8549645999];
[-0.4444444444, -0.7441358554, 0.4987293499];
[-0.8888888889, 0.4353986388, -0.1424941]]
tau = [1.111111111 , 1.54147758 , 0]
Переменной D будет присвоено значение, равное исходной матрице
A.
Сопутствующие материалы
Материалов нет.