ordschur

Переупорядочьте собственные значения в разложении Шура

Описание

[US,TS] = ordschur(U,T,select) переупорядочивает разложение Шура X = U*T*U' произведенный [U,T] = schur(X) и возвращает переупорядоченную матрицу Шура TS и ортогональный матричный US, таким образом, что X = US*TS*US'.

В этом переупорядочении выбранный кластер собственных значений появляется в ведущих (верхних левых) диагональных блоках квазитреугольной матрицы Шура TS. Ведущие столбцы US охватите соответствующее инвариантное подпространство. Логический векторный select задает выбранный кластер как e(select), где e = ordeig(T).

[US,TS] = ordschur(U,T,keyword) устанавливает выбранный кластер включать все собственные значения в область, заданную keyword.

пример

[US,TS] = ordschur(U,T,clusters) переупорядочивание несколько кластеров одновременно. ordschur сортирует заданные кластеры в порядке убывания по диагонали TS, с кластером самого высокого индекса, появляющегося в левом верхнем углу.

Примеры

свернуть все

Вычислите факторы Шура матрицы, затем переупорядочьте факторы согласно заданному упорядоченному расположению собственных значений.

Найдите разложение Шура матричного X. Разложение Шура производит верхнюю квазитреугольную матрицу T и унитарная матрица U таким образом, что X=UTU*.

X = magic(6);
[U,T] = schur(X)
U = 6×6

    0.4082   -0.2887    0.4082    0.5749    0.5000   -0.0530
    0.4082    0.5774    0.4082   -0.3333   -0.0000   -0.4714
    0.4082   -0.2887    0.4082   -0.2416   -0.5000    0.5244
    0.4082    0.2887   -0.4082    0.5749   -0.5000   -0.0530
    0.4082   -0.5774   -0.4082   -0.3333   -0.0000   -0.4714
    0.4082    0.2887   -0.4082   -0.2416    0.5000    0.5244

T = 6×6

  111.0000    0.0000   -0.0000    0.0000    0.0000   -0.0000
         0   27.0000   -0.0000  -28.3164  -15.5885  -13.0454
         0         0  -27.0000   18.0000   22.0454  -12.7279
         0         0         0    9.7980    0.0000    6.9282
         0         0         0         0   -0.0000    0.0000
         0         0         0         0         0   -9.7980

Начиная с T является треугольным, диагональ T содержит собственные значения исходного матричного X.

Переупорядочьте разложение Шура так, чтобы собственные значения были в двух кластерах с кластером отрицательных собственных значений, появляющихся первых по диагонали TS.

[US,TS] = ordschur(U,T,'lhp')
US = 6×6

    0.4082   -0.2887    0.2746    0.4082   -0.4826    0.5244
    0.4082   -0.2887    0.2990    0.4082    0.5213   -0.4714
    0.4082    0.5774   -0.5736    0.4082   -0.0386   -0.0530
   -0.4082    0.2887    0.2075    0.4082    0.5151    0.5244
   -0.4082    0.2887    0.3662    0.4082   -0.4765   -0.4714
   -0.4082   -0.5774   -0.5736    0.4082   -0.0386   -0.0530

TS = 6×6

  -27.0000  -19.0919   18.6997    0.0000   -9.7888   12.7279
         0   -0.0000   -0.3800    0.0000  -15.6493   15.5227
         0         0   -9.7980   -0.0000   -2.4773    8.7185
         0         0         0  111.0000    0.0000    0.0000
         0         0         0         0   27.0000  -26.3600
         0         0         0         0         0    9.7980

Входные параметры

свернуть все

Унитарная матрица, заданная как матричный U возвращенный [U,T] = schur(X). Матричный U удовлетворяет свойствам X = U*T*U' и U'*U = eye(size(X)).

Если U и T не формируйте допустимое разложение Шура, затем ordschur не производит ошибку и возвращает неправильные результаты.

Типы данных: single | double
Поддержка комплексного числа: Да

Матрица Шура, заданная как верхняя квазитреугольная матрица T возвращенный [U,T] = schur(X). Матричный T удовлетворяет X = U*T*U'.

Если U и T не формируйте допустимое разложение Шура, затем ordschur не производит ошибку и возвращает неправильные результаты.

Типы данных: single | double
Поддержка комплексного числа: Да

Кластерный селектор, заданный как логический вектор с длиной, равняется количеству собственных значений. Собственные значения появляются по диагонали матричного T произведенный [U,T] = schur(X).

Типы данных: логический

Ключевое слово области собственного значения, заданное как одна из опций в этой таблице.

Опция

Выбранная область

(e = ordeig(T))

'lhp'

Левая полуплоскость (real(e) < 0)

'rhp'

Правая полуплоскость (real(e) >= 0)

'udi'

Внутренняя часть единичного диска (abs(e) < 1)

'udo'

Внешний вид единичного диска (abs(e) >= 1)

Кластерные индексы, заданные как вектор положительных целых чисел с длиной, равняются количеству собственных значений. clusters присвоения каждое собственное значение, возвращенное e = ordeig(T) к различному кластеру. Все собственные значения с тем же значением индекса в clusters сформируйте один кластер.

Пример: ordschur(U,T,[1 1 2 3 3]) группы пять собственных значений в три кластера.

Типы данных: single | double

Выходные аргументы

свернуть все

Переупорядоченные матрицы, возвращенные как матрицы, которые удовлетворяют X = US*TS*US'.

US унитарная матрица и TS является квазитреугольным.

Больше о

свернуть все

Квазитреугольный

Верхняя квазитреугольная матрица может следовать из разложения Шура или обобщила Шура (QZ) разложение действительных матриц. Эти матрицы являются блоком, верхним треугольный с блоками 2 на 2 и 1 на 1 по диагонали.

Собственные значения этих диагональных блоков являются также собственными значениями матрицы. Блоки 1 на 1 соответствуют действительным собственным значениям, и блоки 2 на 2 соответствуют комплексно-сопряженным парам собственного значения.

Советы

  • Если T имеет комплексно-сопряженные пары (ненулевые элементы на поддиагонали), затем необходимо переместить пару в тот же кластер. В противном случае, ordschur действия, чтобы держать пару вместе:

    • Если select не то же самое для двух собственных значений в сопряженной паре, затем ordschur обработки оба, как выбрано.

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

Смотрите также

| |

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте