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.

Сопутствующие материалы

Материалов нет.