Приведение матриц к форме Шура и Хессенберга
Функция qz(A,B,' real') при заданных матрицах А и В возвращает действительные треугольную матрицу ВВ и квазитреугольную матрицу АА с 2x2 диагональными блоками, соответствующими парам сопряженных комплексных значений. Так как матрица АА квазитреугольная, то необходимо решить проблемы обобщения 2x2 для получения подлинных собственных значений.
Пример:
>> 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,'real') aa =-2.9395 0.4775 0.87510 9.5462 3.59850 0 3.2073bb =5.5356 3.5345-2.29350 8.4826 6.71280 0 0.7667f =-0.0367 0.7327-0.6796-0.1052-0.6791-0.7265-0.9938 0.0448 0.1020g=-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- Т = schur(A) – возвращает матрицу Шура Т.
- [U.T] = schur(A) – возвращает матрицу Шура Т и унитарную матрицу U, такие что A=U Т U и U' и=еуе(51ге(А))(единичная матрица размера А);
- [U,T] = rsf2csf(u.t) [В MATLAB 6 в функции schur, если ее входной аргумент – действительная матрица, может использоваться новый параметр 'complex' (schur,'complex'), позволяющий получить комплексную форму Шура без использования функции преобразования rsf2csf. – Примеч. ред.] – преобразование результатов предыдущей функции (действительной формы Шура) в комплексную форму Шура может использоваться только после вызова [u,t] = schur(A) Комплексная форма Шура – это верхняя треугольная матрица со всеми собственными значениями на диагонали. Действительная форма Шура имеет действительные собственные значения на диагонали, а комплексные собственные значения содержатся в 2x2 блоках, расположенных вдоль диагонали. И входные, и выходные матрицы U, u и Т, t представляют собой соответственно унитарные матрицы и матрицы Шура исходной матрицы А, которая удовлетворяет условиям A=UTU' и U' U=eye(si ze(A));
- Н = hess(A) – находит Н, верхнюю форму Хессенберга для матрицы А;
- [Р.Н] = hess(A) – возвращает матрицу Хессенберга Н и унитарную матрицу преобразований Р, такую что А=Р*Н*Р' и P'*P=eye(s1ze(A)).
Элементы матрицы Хессенберга, расположенные ниже первой поддиагонали, равны нулю. Если матрица симметричная или эрмитова, то матрица Хессенберга вырождается в трехдиагональную. Эта матрица имеет те же собственные значения, что и оригинал, но для их вычисления необходимо меньшее количество операций. Пример:
>> f=magic(4) f =16 2 3 135 11 10 89 7 6 124 14 15 1>> hess(f) ans=16.0000-8.0577 8.8958 6.1595-11.0454 24.2131-8.1984 2.12410-13.5058-4.3894-7.89180 0 3.2744-1.8237Что нового мы узнали?
В этом уроке мы научились:
- Находить числа обусловленности матриц, их определитель, след и ранг.
- Находить векторную и матричную нормы и различать их.
- Определять ортонормальный базис матриц.
- Приводить матрицы к треугольной форме.
- Определять угол между двумя подпространствами.
- Осуществлять разложение Холецкого, LU- и QR-разложения матриц.
- Вычислять обратные матрицы.
- Находить собственные значения и сингулярные числа матриц.
- Приводить матрицы к формам Шура и Хессенберга.
