2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 QR-Разложение (II). Нахождение собственных векторов.
Сообщение27.03.2016, 18:20 


27/03/16
4
Тема QR - алгоритма уже обсуждалась здесь http://dxdy.ru/topic78209.html, но боюсь что за давностью лет мой вопрос никто не увидит.

Объясните пожалуйста такой ход в QR алгоритме (этот текст отсюда http://old.math.tsu.ru/EEResources/cm/text/6_2_4.htm):

"Если требуется определить не только собственные значения матрицы $A$, но и её собственные векторы, то в процессе построения последовательности матриц $A_{k}$ следует запоминать ортогональные матрицы
$P_{k}=Q_{1}\cdot ....\cdot Q_{k}$, вычисляемые по рекуррентной формуле:$P_{k+1}=P_{k}\cdot Q_{k+1}$"

Я раскладываю матрицу размерностью 10x10 метод Грэма-Шмидта (хотя какая разница). Собственные числа я получил.
Чтобы не решать систему из 10-ти линейных уравнений, как выше описанный приём реализовать "на лету".

Как я понял из текста, я собираю найденные на каждой итерации значения $Q_k$ и потом на следующей иттерации умножаю их на найденные в следующей (т.е. $Q_k \cdot Q_{k+1}$) и т.д.

Дело в том, что в итоге я получаю матрицу $P_{k}$ (как в тексте выше), со значениями лишь на главной диагонали.

MatLab (да и онлайн-сервисы) дают совсем другие результаты.

 Профиль  
                  
 
 Posted automatically
Сообщение27.03.2016, 19:13 


20/03/14
12041
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
по следующим причинам:

- неправильно набраны формулы (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы);

Cм. выше.

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 Профиль  
                  
 
 Posted automatically
Сообщение27.03.2016, 22:20 


20/03/14
12041
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»

 Профиль  
                  
 
 Re: QR-Разложение (II). Нахождение собственных векторов.
Сообщение28.03.2016, 00:40 
Заслуженный участник
Аватара пользователя


23/07/08
10908
Crna Gora
Последовательность матриц $A_k$ к чему у Вас стремится? Обозначим эту матрицу $A_{\infty}$, а предел $P_k$$P_{\infty}$ (можете предложить свои обозначения). Судя по тексту, у вас равенство $A=P_{\infty}A_{\infty}P_{\infty}^T$ не выполняется (хотя обязано, так как $A_{\infty}=P_{\infty}^T A P_{\infty}$). Проверьте, пожалуйста, выполнение этих равенств.

 Профиль  
                  
 
 Re: QR-Разложение (II). Нахождение собственных векторов.
Сообщение28.03.2016, 21:46 


27/03/16
4
svv, равенство $A = P_{\infty} \cdot A_{\infty} \cdot P_{\infty}^T$ у меня выполняется. Ту формулу, что вы написали даёт собственные числа на главной диагонали матрицы $A$ за N-ое количество итераций
Цитата:
Собственные числа я получил .
(цитирую сам себя).

Вопрос задам снова: Как получить собственные векторы в QR - алгоритме "на лету", т.е. считая параллельно собственные значения.

Может кто-нибудь этот момент объяснить, расписать ?

Задам может быть глупый вопрос: Как эти "$Q$" перемножать ?

Немного позднее, если тема не "уедет" вниз, придётся привести простенький пример моих "УСИЛИЙ" :shock: :facepalm:

 Профиль  
                  
 
 Re: QR-Разложение (II). Нахождение собственных векторов.
Сообщение29.03.2016, 02:19 
Заслуженный участник
Аватара пользователя


23/07/08
10908
Crna Gora
Amateur_3D в сообщении #1109977 писал(а):
Как получить собственные векторы в QR - алгоритме "на лету", т.е. считая параллельно собственные значения.
Не знаю.

Более того.
Amateur_3D в сообщении #1109597 писал(а):
"Если требуется определить не только собственные значения матрицы $A$, но и её собственные векторы, то в процессе построения последовательности матриц $A_{k}$ следует запоминать ортогональные матрицы
$P_{k}=Q_{1}\cdot ....\cdot Q_{k}$, вычисляемые по рекуррентной формуле:$P_{k+1}=P_{k}\cdot Q_{k+1}$"
Похоже, здесь подразумевается, что матрица $P_\infty$ при завершении итерационного процесса будет всегда содержать собственные векторы.

Это справедливо в случае, если $A$ — нормальная матрица ($AA^*=A^*A$). В частности, если $A$ симметрична. В этом случае $A_\infty$ должна быть диагональной матрицей, и легко видеть, что тогда $P_\infty$ действительно состоит из собственных векторов.

С другой стороны, это неверно в общем случае. Возьмём в качестве исходной $A$ правую треугольную матрицу. Тогда $QR$-алгоритму «нечего делать»: разложение $A=EAE$ является искомым. Но столбцы $E$ вовсе не являются собственными векторами.

 Профиль  
                  
 
 Re: QR-Разложение (II). Нахождение собственных векторов.
Сообщение29.03.2016, 21:48 


27/03/16
4
Всё Я разобрался. Ошибка банальная: перемножал скалярно, а надо матрица на матрицу.

svv, Вы пишите ерунду. Много "умной воды". Не знаете - не отвечайте.

Спасибо всем, кто прочёл !

Тема ЗАКРЫТА.

 Профиль  
                  
 
 Re: QR-Разложение (II). Нахождение собственных векторов.
Сообщение29.03.2016, 22:27 
Заслуженный участник
Аватара пользователя


23/07/08
10908
Crna Gora
Ну, почему же ерунду? У Вас не получались собственные векторы. В материальчике, которым Вы руководствовались, написано: «Пусть $A$ – произвольная вещественная матрица», а для вычисления собственных векторов без всяких оговорок предлагается вычислять произведение преобразующих матриц $Q_1...Q_k$, как Вы и поступали. Но в общем случае это произведение не даёт собственные векторы, только в специальном. Вы с этим не согласны?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group