qz

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

Синтаксис

[AA,BB,Q,Z] = qz(A,B)
[AA,BB,Q,Z,V,W] = qz(A,B)
qz(A,B,flag)

Описание

Функция qz предоставляет доступ к промежуточным результатам в вычислении обобщенных собственных значений.

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

[AA,BB,Q,Z,V,W] = qz(A,B) также производит матрицы V и W, столбцы которого являются обобщенными собственными векторами.

qz(A,B,flag) для действительных матриц A и B, производит одно из двух разложений в зависимости от значения flag:

'complex'

Производит возможно комплексное разложение с треугольным AA. Для совместимости с более ранними версиями 'complex' является значением по умолчанию.

'real'

Производит действительное разложение с квазитреугольным AA, содержа блоки 2 на 2 и 1 на 1 на его диагонали.

Если AA является треугольным, то диагональные элементы, a = diag(AA) и b = diag(BB) являются обобщенными собственными значениями, которые удовлетворяют

A*V*b = B*V*a
b'*W'*A = a'*W'*B

Собственные значения, произведенные lambda = eig(A,B), являются отношениями диагональных элементов a и b, такой что lambda = a./b.

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

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

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