ordqz

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

Описание

[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.

Типы данных: logical

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

Опция

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

(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) действительных матриц. Эти матрицы являются блочными верхними треугольными, с блоками 1 на 1 и 2 на 2 вдоль диагонали.

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

Совет

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

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

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

См. также

| |

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