2014 dxdy logo

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

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




 
 Сингулярный базис
Сообщение07.12.2008, 18:03 
Имеется преобразование $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 
Фактически сингулярные числа -- это по определению неотрицательные квадратные корни из собственных чисел эрмитовой и неотрицательной матрицы $AA^*$ или, что почти эквивалентно, матрицы $A^*A$ ("почти", т.к. в неквадратном случае кратности ненулевого сингулярного числа будут различаться). Сингулярные базисы -- это попросту ортонормированные собственные базисы каждой из этих матриц. Т.е. берём наобум ортонормированный собственный базис, например, для $A^*A$ (это будет $\{x_k\}$) и пересчитываем по нему альтернативный базис $\{y_k={1\over\rho_k}Ax_k\}$. Естественно, для ненулевых $\rho_k$, а для нулевых -- берём просто любой ортогональный базис в ядре соответствующей матрицы.

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

 
 
 
 
Сообщение07.12.2008, 18:41 
Ну не т.е., читайте внимательнее.

 
 
 
 
Сообщение07.12.2008, 18:49 
Упс, то есть 2 разных сингулярных базиса - это две системы векторов, полученные делением нормированных собственных векторов каждой из матриц $A^{*}A$ и $AA^{*}$ на сингулярные числа матрицы $A$?

 
 
 
 
Сообщение07.12.2008, 18:53 
да нет же. Делить на сингулярное число надо после умножения на матрицу А. Именно потому, что такое умножение сбивает нормировку.

 
 
 
 
Сообщение07.12.2008, 19:01 
Спасибо. Таким образом требуется просто произвести указанные мной в последнем посте действия, только после нормировки векторов перед делением на сингулярные числа следует домножить результат на матрицу $A$.

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

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

 
 
 
 
Сообщение07.12.2008, 19:17 
В случае отсутствия кратных чисел применение описанного мной алгоритма допустимо?

 
 
 
 
Сообщение07.12.2008, 19:58 
Хорошо, вот конкретный алгоритм действий.

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 
ewert, спасибо, извиняюсь за дикую глупость. Перед сессией мозг начинает кипеть.

 
 
 [ Сообщений: 11 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group