реклама на сайте
подробности

 
 
> Эрмитовые Матрицы, выразыть в параметрах собственный вектор соответствующий...
reginil_y
сообщение Apr 3 2012, 09:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 4-03-12
Пользователь №: 70 608




Привет уважаемые форумчане,

У меня есть такой вопрос: Есть некая комплексная матрица V размером (Nx3). Я создаю Эрмитовую матрицу G=V^H*V (размер NxN). H обозначает conjugate transpose. Мне нужно выразить собственный вектор матрицы G соответствующий максимальному собственному значению. Может кто знает книгу где выведено уже готовое выражение для соответствующей задачи или может это есть в какой нибудь статье на IEE.

с уважением
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Apr 3 2012, 10:36
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(reginil_y @ Apr 3 2012, 13:42) *
У меня есть такой вопрос: Есть некая комплексная матрица V размером (Nx3). Я создаю Эрмитовую матрицу G=V^H*V (размер NxN). H обозначает conjugate transpose. Мне нужно выразить собственный вектор матрицы G соответствующий максимальному собственному значению. Может кто знает книгу где выведено уже готовое выражение для соответствующей задачи или может это есть в какой нибудь статье на IEEE.

А что вам мешает решать задачу в лоб? Вычислите G, а потом найдите у нее главный собственный вектор. Благо алгоримы для нахождения собственных векторов и значений эрмитовых матриц можно найти в любом справочнике по матричным вычислениям.

Хотя, если бы я решала эту задачу, то скорее всего получила другую эрмитову матрицу, F=V*VH размером 3x3, нашла у нее главный собственный вектор, а потом умножила его на исходную матрицу V, получив в результате то, что вам надо sm.gif. Этот путь вычислительно эффективен, благодаря малой размерности F. А из короткого собственного вектора всегда можно получить длинный, умножением на саму матрицу.
Go to the top of the page
 
+Quote Post
reginil_y
сообщение Apr 3 2012, 11:58
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 4-03-12
Пользователь №: 70 608



Цитата(Xenia @ Apr 3 2012, 13:36) *
Хотя, если бы я решала эту задачу, то скорее всего получила другую эрмитову матрицу, F=V*VH размером 3x3, нашла у нее главный собственный вектор, а потом умножила его на исходную матрицу V, получив в результате то, что вам надо sm.gif. Этот путь вычислительно эффективен, благодаря малой размерности F. А из короткого собственного вектора всегда можно получить длинный, умножением на саму матрицу.


100 балов!!!
Дело в том, что в лоб решать было бы не то что бы сложно... просто невозможно. Так как все в параметрах и для каждого собственного значения пришлось бы искать детерминанту матрицы размером NxN. Да еще и в добавок нужно подставить этот вектор в выражение, которое совсем не маленькое а потом еще и делать производную по параметрам которые будут присутствовать в данном векторе .А вот сделать как вы сказали это намного элегантней. Большое спасибо!

P.S. Для того чтоб воспользоваться вашим решением необходимо знать что собственные значения отличные от нуля матриц V*V^(H) и V^(H)*V одинаковы. Это к счастью я знал. А вот как потом удлиннить вектор, догадаться не смог

Сообщение отредактировал reginil_y - Apr 3 2012, 12:05
Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 3 2012, 15:11
Сообщение #4


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(reginil_y @ Apr 3 2012, 15:58) *
Дело в том, что в лоб решать было бы не то что бы сложно... просто невозможно. Так как все в параметрах и для каждого собственного значения пришлось бы искать детерминанту матрицы размером NxN.

По нынешним временам никто через детеминанты эту задачу не решает - QL метод рулит.

Цитата(reginil_y @ Apr 3 2012, 15:58) *
А вот как потом удлиннить вектор, догадаться не смог.

Уточнение. Умножением короткого СВ на исходную матрицу получается не совсем длинный СВ, а его произведение на соответствующее ему собственное значение. Формально это не мешает ему называться собственным вектором, но все-таки желательно нормировать его на единицу, тем самым, избавляясь от сомножителя.
Go to the top of the page
 
+Quote Post
reginil_y
сообщение Apr 3 2012, 23:24
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 4-03-12
Пользователь №: 70 608



Цитата(Xenia @ Apr 3 2012, 19:11) *
По нынешним временам никто через детеминанты эту задачу не решает - QL метод рулит.


Уточнение. Умножением короткого СВ на исходную матрицу получается не совсем длинный СВ, а его произведение на соответствующее ему собственное значение. Формально это не мешает ему называться собственным вектором, но все-таки желательно нормировать его на единицу, тем самым, избавляясь от сомножителя.


Может я действительно что то пропустил,но...
Допустим F=V^H*V - матрица 3на3
Тогда должно выполнаться: (V^H*V)*h=lam*h, где h СВ, а lam СЗ матрицы F соответственно
Обозначим y=V*h
отсюда V^H*y=lam*h
Умножим обе части на V: (V*V^H)*y=lam*(V*h)
Отсюда получаем: G*y=lam*y.
Тоесть y и есть искомый СВ. Хотя интуиция подсказывает что нормировать было бы не лишним.

А что такое QL? Потому что даже для матрицы 3на3 мне расчеты показываются слишком длинными.

Go to the top of the page
 
+Quote Post
Xenia
сообщение Apr 3 2012, 23:51
Сообщение #6


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(reginil_y @ Apr 4 2012, 03:24) *
А что такое QL? Потому что даже для матрицы 3на3 мне расчеты показываются слишком длинными.

А они и не могут быть короткими sm.gif.

QL - это итерационный метод, основанный на разложении тридиагональной матрицы на произведение ортогональной Q и нижней трегольной L. На самом же деле эти сомножители не вычисляются, а имеет место хитрая последовательность однообразных процедур, когда с тридиагональной матрицы "сдирают кожу" sm.gif, при этом ее поддиагональ с верхнего края "обтёсывается" после каждого прохода преобразований по цепочке сверху вниз. Итерации сходятся замечательно - в среднем требуется не более 2-х итераций на каждое собственное значение. Но сам процесс вычислений муторный и малопонятный sm.gif.

Да, еще позабыла сказать, что первой стадией является приведение матрицы к тридиагональному виду, а дальше алгоритм работает лишь с парой диагоналей - главной диагональю и ее соседкой (поддиагональю). Соседка с другой стороны в вычислениях не участвует, т.к. триагональная матрица, получаемая из эрмитовой всегда симметрична, а QL-алгоритм тем и хорош, что своими итерациями эту симметричность не нарушает.

Например, посмотрите здесь: http://num-anal.srcc.msu.ru/lib_na/cat/ae/aeh1c.htm
Go to the top of the page
 
+Quote Post
reginil_y
сообщение Apr 4 2012, 11:20
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 4-03-12
Пользователь №: 70 608



Цитата(Xenia @ Apr 4 2012, 02:51) *
Например, посмотрите здесь: http://num-anal.srcc.msu.ru/lib_na/cat/ae/aeh1c.htm


Спасибо за ресурс,
Дело все в том что у меня есть два варианта. Или прийти к конкретному математическому выражению или же использовать программу и прийти к численному результату. Для численного я обычно использую Матлаб.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th September 2025 - 01:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.19079 секунд с 7
ELECTRONIX ©2004-2016