ordqz

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

Синтаксис

[AAS,BBS,QS,ZS] = ordqz(AA,BB,Q,Z,select)
[AAS,BBS,QS,ZS] = ordqz(AA,BB,Q,Z,keyword)
[AAS,BBS,QS,ZS] = ordqz(AA,BB,Q,Z,clusters)

Описание

[AAS,BBS,QS,ZS] = ordqz(AA,BB,Q,Z,select) переупорядочивает QZ-разложение Q*A*Z = AA и Q*B*Z = BB, произведенный [AA,BB,Q,Z] = qz(A,B), и возвращает переупорядоченный матричный парный (AAS,BBS) наряду с ортогональными матрицами (QS,ZS), такой что QS*A*ZS = AAS и QS*B*ZS = BBS.

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

пример

[AAS,BBS,QS,ZS] = ordqz(AA,BB,Q,Z,keyword) устанавливает выбранный кластер включать все собственные значения в область, заданную keyword.

[AAS,BBS,QS,ZS] = ordqz(AA,BB,Q,Z,clusters) переупорядочивание несколько кластеров одновременно. ordqz сортирует заданные кластеры в порядке убывания по диагонали (AAS,BBS) с кластером самого высокого индекса, появляющегося в левом верхнем углу.

Примеры

свернуть все

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

Найдите QZ-разложение, или обобщил разложение Шура, пары матриц A и B. Это разложение приводит к факторам AA=QAZ и BB=QBZ.

A = magic(5);
B = hilb(5);
[AA,BB,Q,Z] = qz(A,B)
AA = 5×5

   14.5272   -2.3517    8.5757   -0.2350   -1.4432
         0  -19.7471    2.1824    4.5417    7.2059
         0         0  -17.9538    8.9292   -9.6961
         0         0         0   30.3449  -47.9191
         0         0         0         0   32.4399

BB = 5×5

    0.0000    0.0005    0.0018    0.0465    0.2304
         0    0.0008    0.0199    0.1662    0.7320
         0         0    0.0210    0.1006   -0.1341
         0         0         0    0.0623   -1.1380
         0         0         0         0    0.7434

Q = 5×5

   -0.1743   -0.1099   -0.0789   -0.4690    0.8552
   -0.7567   -0.1151   -0.0846    0.6172    0.1617
   -0.4010    0.6782    0.5478   -0.2664   -0.0901
    0.4178   -0.0297    0.6473    0.4883    0.4089
   -0.2484   -0.7168    0.5173   -0.2995   -0.2593

Z = 5×5

    0.0057   -0.0424   -0.2914   -0.5860   -0.7549
   -0.1125    0.4109    0.7635    0.1734   -0.4533
    0.4995   -0.6746    0.1486    0.4053   -0.3303
   -0.7694   -0.2140   -0.2614    0.4749   -0.2616
    0.3818    0.5731   -0.4917    0.4866   -0.2173

Поскольку AA и BB являются треугольными, используют ordeig, чтобы извлечь собственные значения от диагональных блоков AA и BB.

e = ordeig(AA,BB)
e = 5×1
106 ×

    2.8871
   -0.0257
   -0.0009
    0.0005
    0.0000

Разделите собственные значения на кластеры с действительными положительными собственными значениями (e>0) формирование ведущего кластера. Переупорядочьте матрицы AA, BB, Q и Z согласно этому упорядоченному расположению собственных значений.

[AAS,BBS,QS,ZS] = ordqz(AA,BB,Q,Z,'rhp')
AAS = 5×5

   14.5272    1.2849    1.0391    7.6821    4.4119
         0   21.7128   19.1784   -1.8380   -9.1187
         0         0   60.3083   -8.4452   -6.4304
         0         0         0  -18.2081   -3.3783
         0         0         0         0  -14.6375

BBS = 5×5

    0.0000   -0.0114    0.1908   -0.1119    0.0788
         0    0.0446   -0.0377    0.1107   -0.1978
         0         0    1.3820   -0.6325    0.2807
         0         0         0    0.0007    0.0137
         0         0         0         0    0.0171

QS = 5×5

   -0.1743   -0.1099   -0.0789   -0.4690    0.8552
    0.6353   -0.1853   -0.4099   -0.5765   -0.2483
   -0.7034   -0.4518   -0.3456   -0.2295   -0.3591
   -0.1415    0.2036    0.7054   -0.6065   -0.2703
   -0.2263    0.8414   -0.4568   -0.1647   -0.0705

ZS = 5×5

    0.0057    0.0088   -0.5288    0.3591   -0.7690
   -0.1125    0.6095   -0.3858    0.4737    0.4926
    0.4995   -0.6478   -0.2711    0.3644    0.3529
   -0.7694   -0.4176   -0.4090   -0.1750    0.1890
    0.3818    0.1855   -0.5752   -0.6952    0.0758

Исследуйте новый порядок собственного значения.

E2 = ordeig(AAS,BBS)
E2 = 5×1
106 ×

    2.8871
    0.0005
    0.0000
   -0.0257
   -0.0009

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

свернуть все

Матричные факторы, заданные как матрицы, возвращенные [AA,BB,Q,Z] = qz(A,B). Эти матрицы удовлетворяют Q*A*Z = AA и Q*B*Z = BB. Для комплексных матриц AA и BB являются треугольными.

Если AA и BB не формируют допустимое разложение QZ, то ordqz не производит ошибку и возвращает неправильные результаты.

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

Унитарные матрицы, заданные как матрицы, возвращенные [AA,BB,Q,Z] = qz(A,B). Эти матрицы удовлетворяют Q*A*Z = AA и Q*B*Z = BB.

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

Кластерный селектор, заданный как логический вектор с длиной, равняется количеству обобщенных собственных значений. Обобщенные собственные значения появляются по диагонали AA-λ*BB.

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

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

Опция

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

(e = ordeig(AA,BB))

'lhp'

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

'rhp'

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

'udi'

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

'udo'

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

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

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

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

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

свернуть все

Переупорядоченные матрицы, возвращенные как матрицы, которые удовлетворяют QS*A*ZS = AAS и QS*B*ZS = BBS.

QS и ZS унитарны, в то время как AAS является квазитреугольным, и BBS является треугольным.

Больше о

свернуть все

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

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

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

Советы

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

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

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

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

| |

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