schur
Функция вычисления разложения Шура.
Синтаксис
T = schur(A);
T = schur(A, U);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| A | array2 | Входная квадратная матрица |
| U | array2 | Выходная унитарная матрица |
Описание
schur(A) – функция
вычисляет разложение Шура матрицы A, результат - верхнетреугольная матрица
Шура T
schur(A,
U) – функция вычисляет разложение Шура матрицы A,
результат - верхнетреугольная матрица Шура T и унитарная матрица
U такие, что A = U * T * UT и U * UT = U
* UT = I
Входная матрица A может задаваться:
- как переменная типа матрица, определенная ранее:
T = schur(A); - как матрица, состоящая из переменных, определенных ранее:
T = schur([[a1, a2],[a3, a4]]); - как постоянный массив:
T = schur([[1, 2],[5, 7]]);
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| T | array2 | Выходная верхнетреугольная матрица Шура |
Пример
const A = [[-149, -50, -154],
[ 537, 180, 546],
[ -27, -9, -25]];
var U: array2;
T = schur(A, U);
//Проверка разложения
D = U * T * transp(U);
В скрипте примера производится разложение Шура матрицы A. В результате
выполнения скрипта переменным T и U будут присвоены
значения:
T = [[1, -7.11188775, 815.8705909];
[0, 2, 55.02363129];
[0, 0, 3]]
U = [[ -0.316227766, 0.6529286251, 0.6882472016];
[ 0.9486832981, 0.217642875, 0.2294157339];
[-2.674960947E-13, -0.7254762501, 0.6882472016]]
Переменной D будет присвоено значение, равное исходной матрице
A.
Сопутствующие материалы
Материалов нет.