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

 
 
> Вычисление собственных векторов
mihalevski
сообщение Aug 1 2013, 03:49
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 100
Регистрация: 20-05-10
Из: Omsk
Пользователь №: 57 391



Имеется матрица комплексных значений размером 4 на 4.
Необходим код на Си решающий задачу определения собственных векторов указанной матрицы.
Дополнительные сведения:
1. Собственные числа матрицы уже определены с помощью алгоритма QR.
2. Система построена на сигнальном процессоре Аналог девайс DSP TigerSHARC.

Помогите ссылкой на удобный в реализации на процессоре алгоритм или готовый код программы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Aug 1 2013, 11:47
Сообщение #2


Гуру
******

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



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

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

Не знаю, как сейчас, но традиционно для последней цели использовались обратные итерации с последующей реортогонализацией полученного набора собвекторов. Процедура гадкая по части объема вычислений, т.к. матрицу векторов приходится очень много раз вращать. А в случае комплексных чисел и вовсе ужасная по числу операций.

Из собственного опыта (правда он у меня касается только действительных матриц) могу посоветовать повторить QR-алгоритм в варианте с собственными векторами. Однако ускорив его тем, что "подсказывать" этой процедуре готовые величины собзначений (в точности в том же порядке, в котором они были найдены и никаком другом!), а не находить их методом итераций. Тогда, несмотря на итерационную реализацию алгоритма, он сходится за один проход на каждое собственное значение. Об этом еще Парлетт писал в своей книжке "Симметричная проблема собственных значений". И, кажется, именно он это свойство впервые обнаружил.

Но это я пишу лишь с очень слабой надеждой, что реализация алгоритма вам интересна. Но если нужен просто чужой готовый код, чтоб свои мозги не утруждать, то тогда я пас.
Go to the top of the page
 
+Quote Post
AndrewN
сообщение Sep 16 2013, 01:30
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



QUOTE (mihalevski @ Aug 1 2013, 06:49) *
Имеется матрица комплексных значений размером 4 на 4.
Необходим код на Си решающий задачу определения собственных векторов
Удалось?
QUOTE (Xenia @ Aug 1 2013, 14:47) *
Об этом еще Парлетт писал
Ай да Бересфорд... А за пол-итерации можно?

Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:27
Рейтинг@Mail.ru


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