2014 dxdy logo

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

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


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


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

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



Начать новую тему Ответить на тему
 
 Сингулярный базис
Сообщение07.12.2008, 18:03 


21/12/06
88
Имеется преобразование $A$ евклидова пространства $E_4$, которое задано в некотором базисе своей матрицей (коэффициенты матрицы известны, сама матрица вырождена). Требуется построить 1й и 2й сингулярные базисы данного преобразования.
Погуглил, нашел лишь нечто похожее лишь в книге Воеводина "Энциклопедия линейной алгебры", там говорится:

Пусть $A$ - прямоугольная матрица размера $m\times n$ (в моем случае $m=n=4$). Всегда существуют ортонормированные системы векторов $x_1,...,x_n$ и $y_1,...,y_m$ такие, что
$ Ax_k = \rho_k y_k, k\leqslant t$,
$ A^{*}y_k = \rho_k y_k, k\leqslant t$
При $k>t$ выполняются равенства $Ax_k$ и $A^{*}y_k = 0 $.
Здесь $\rho_i$ - сингулярные числа матрицы $A$, занумерованные в порядке убывания. Данные ортонормированные системы $x_i$ и $y_i$ и называются сингулярными базисами.

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

 Профиль  
                  
 
 
Сообщение07.12.2008, 18:28 
Заслуженный участник


11/05/08
32166
Фактически сингулярные числа -- это по определению неотрицательные квадратные корни из собственных чисел эрмитовой и неотрицательной матрицы $AA^*$ или, что почти эквивалентно, матрицы $A^*A$ ("почти", т.к. в неквадратном случае кратности ненулевого сингулярного числа будут различаться). Сингулярные базисы -- это попросту ортонормированные собственные базисы каждой из этих матриц. Т.е. берём наобум ортонормированный собственный базис, например, для $A^*A$ (это будет $\{x_k\}$) и пересчитываем по нему альтернативный базис $\{y_k={1\over\rho_k}Ax_k\}$. Естественно, для ненулевых $\rho_k$, а для нулевых -- берём просто любой ортогональный базис в ядре соответствующей матрицы.

 Профиль  
                  
 
 
Сообщение07.12.2008, 18:36 


21/12/06
88
Т.е. фактически я просто беру набор из собственных векторов $A^{*}A$, произвожу его нормировку в евклидовой норме, а потом делю каждый полученный в результате этого вектор на соответствующее его собственному значению сингулярное число? Система, полученная после нормировки и будет первым сингулярным базисом, а полученная после деления на соответствующие сингулярные числа - вторым?

 Профиль  
                  
 
 
Сообщение07.12.2008, 18:41 
Заслуженный участник


11/05/08
32166
Ну не т.е., читайте внимательнее.

 Профиль  
                  
 
 
Сообщение07.12.2008, 18:49 


21/12/06
88
Упс, то есть 2 разных сингулярных базиса - это две системы векторов, полученные делением нормированных собственных векторов каждой из матриц $A^{*}A$ и $AA^{*}$ на сингулярные числа матрицы $A$?

 Профиль  
                  
 
 
Сообщение07.12.2008, 18:53 
Заслуженный участник


11/05/08
32166
да нет же. Делить на сингулярное число надо после умножения на матрицу А. Именно потому, что такое умножение сбивает нормировку.

 Профиль  
                  
 
 
Сообщение07.12.2008, 19:01 


21/12/06
88
Спасибо. Таким образом требуется просто произвести указанные мной в последнем посте действия, только после нормировки векторов перед делением на сингулярные числа следует домножить результат на матрицу $A$.

 Профиль  
                  
 
 
Сообщение07.12.2008, 19:05 
Заслуженный участник


11/05/08
32166
Lister в сообщении #165398 писал(а):
просто произвести указанные мной в последнем посте действия,

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

 Профиль  
                  
 
 
Сообщение07.12.2008, 19:17 


21/12/06
88
В случае отсутствия кратных чисел применение описанного мной алгоритма допустимо?

 Профиль  
                  
 
 
Сообщение07.12.2008, 19:58 
Заслуженный участник


11/05/08
32166
Хорошо, вот конкретный алгоритм действий.

1). Находим матрицу $A^*A$.
2). Находим её собственные числа и собственный базис. Для приличия упорядочиваем базис в порядке убывания собственных чисел.
3). Ортонормируем базис -- полученный набор $\{x_k}\}$ и будет первый из сингулярных базисов.
4). Для каждого $\rho_k\ne0$ находим $y_k={1\over\rho_k}Ax_k$. Эти векторы (и именно в указанной нумерации) образуют часть второго сингулярного базиса.
5). Остальная часть второго базиса получается как ортонормированный набор независимых решений однородной системы $A^*y=0$.

Если все ненулевые сингулярные числа просты, то вместо п.4 можно найти просто собственные векторы матрицы $AA^*$, отвечающие ненулевым сингулярным числам. Только это технически невыгодно.

 Профиль  
                  
 
 
Сообщение07.12.2008, 20:08 


21/12/06
88
ewert, спасибо, извиняюсь за дикую глупость. Перед сессией мозг начинает кипеть.

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

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



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

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


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

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