exponenta event banner

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