русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Приведение матриц к форме Шура и Хессенберга


Дата добавления: 2015-07-23; просмотров: 889; Нарушение авторских прав


Ниже приводятся функции, обеспечивающие приведение матриц к специальным формам Шура и Хессенберга:

· cdf2rdf — преобразование комплексной формы Шура в действительную. Если система [V,D]=eig(X) имеет комплексные собственные значения, объединенные в комплексно-сопряженные пары, то функция cdf2rdf преобразует систему таким образом, что матрица D принимает вещественный диагональный вид с 2x2 вещественными блоками, заменяющими первоначальные комплексные пары.

Конкретные столбцы матрицы V больше не являются собственными векторами, но каждая пара векторов связана с блоком размера 2x2 в матрице D. Пример:

» А-[2 3 6;-4 0 3:1 5 -2]

А =

2 3 6

-4 0 3

1 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  
    3.1351 - 4.06031  
    -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    
    -4.0603 3.1351    
    0 0 -6.2702    
           

Функция qz обеспечивает приведение пары матриц к обобщенной форме Шура:



· [AA.8B.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)

Пример:

» А=[1 2 3:6 3 0;4 7 0];В=[1 1 1:0 7 4:9 4 1];

» [aa.bb.f,g.h]=qz(A.B)

аа =

-2.9395 0.4775 0.8751

0 9.5462 3.5985

0 0 3.2073

bb=

  5.5356 3.5345 -2.2935  
  8.4826 6.7128  
  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.0989

0.6867 -0.6343 -0.3552

-0.1877 0.3174 -0.9295

h =

-1.0000 -0.4874 -0.0561

0.9778 -1.0000 0.6238

-0.2673 0.4340 -1.0000

Функция qz(A,B,' real') при заданных матрицах А и В возвращает действительные треугольную матрицу ВВ и квазитреугольную матрицу АА с 2x2 диагональными блоками, соответствующими парам сопряженных комплексных значений. Так как матрица АА квазитреугольная, то необходимо решить проблемы обобщения 2x2 для получения подлинных собственных значений.

Пример:

» А=[1 2 3:6 3 0:4 7 0];В=[1 1 1:0 7 4;9 4 1];

» [aa.bb.f,g.h]=qz(A.B,'real')

аа =

-2.9395 0.4775 0.8751

0 9.5462 3.5985

0 0 3.2073

bb =

5.5356 3.5345 -2.2935

0 8.4826 6.7128

0 0 0.7667

f =

-0.0367 0.7327 -0.6796

-0.1052 -0.6791 -0.7265

-0.9938 0.0448 0.1020

g=

-0.7023 -0.7050 -0.0989

0.6867 -0.6343 -0.3552

-0.1877 0.3174 -0.9295

h =

-1.0000 -0.4874 -0.0561

0.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 13

5 11 10 8

9 7 6 12

4 14 15 1

» hess(f)

ans=

16.0000 -8.0577 8.8958 6.1595

-11.0454 24.2131 -8.1984 2.1241

0 -13.5058 -4.3894 -7.8918

0 0 3.2744 -1.8237



<== предыдущая лекция | следующая лекция ==>
Вычисление собственных значений и сингулярных чисел | Функции разреженных матриц


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.054 сек.