Приведение матриц к форме Шура и Хессенберга
Ниже приводятся функции, обеспечивающие приведение матриц к специальным формам Шура и Хессенберга:
- cdf2rdf – преобразование комплексной формы Шура в действительную. Если система [V,D]=eig(X) имеет комплексные собственные значения, объединенные в комплексно-сопряженные пары, то функция cdf2rdf преобразует систему таким образом, что матрица D принимает вещественный диагональный вид с 2x2 вещественными блоками, заменяющими первоначальные комплексные пары.
Конкретные столбцы матрицы V больше не являются собственными векторами, но каждая пара векторов связана с блоком размера 2x2 в матрице D. Пример:
>> A-[2 3 6;-4 0 3:1 5-2] A =2 3 6-4 0 31 5-2>> [S.D]=eig(A) S = 0.7081 + 0.32961 0.7081-0.32961 -0.3355 -0.3456 + 0.36881 -0.3456-0.36881 -0.5721 0.0837 + 0.35711 0.0837-0.35711 0.7484 D = 3.1351 + 4.06031 0 0 0 3.1351-4.06031 0 0 0 -6.2702 >> [S.D]=cdf2rdf(S.D) S = 0.7081 0.3296 -0.3355 -0.3456 0.3688 -0.5721 0.0837 0.3571 0.7484 D = 3.1351 4.0603 0 -4.0603 3.1351 0 0 0 -6.2702Функция qz обеспечивает приведение пары матриц к обобщенной форме Шура:
- [AA.BB.Q.Z.V] = qz(A.B) – возвращает, возможно, комплексные верхние треугольные матрицы АА и ВВ и соответствующие матрицы приведения Q и I, такие что Q*A*Z=AA и Q*B*Z=BB. Функция также возвращает матрицу обобщенных собственных векторов V.
Обобщенные собственные значения могут быть найдены из следующего условия:
A*V*diag(BB) = B*V*diag(AA)Пример:
>> A=[1 2 3:6 3 0;4 7 0];B=[1 1 1:0 7 4:9 4 1]; >> [aa.bb.f,g.h]=qz(A.B) aa =-2.9395 0.4775 0.87510 9.5462 3.59850 0 3.2073bb=5.5356 3.5345 -2.2935 0 8.4826 6.7128 0 0 0.7667 -0.0367 0.7327 -0.6796 -0.1052 -0.6791 -0.7265 -0.9938 0.0448 0.1020 -0.7023-0.7050-0.09890.6867-0.6343-0.3552-0.1877 0.3174-0.9295h =-1.0000-0.4874-0.05610.9778-1.0000 0.6238-0.2673 0.4340-1.0000