Преобразование матрицы квадратичной формы

Обратите внимание, что из-за ортогональности матрицы перехода  в спектральном разложении, обратная матрица к  совпадает с транспонированной:

.

Таким образом, в этом случае формула преобразования матрицы оператора:

может быть записана в виде:

,

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

Задание 6. Привести квадратичную форму

методом ортогональных преобразований к каноническому виду.

Решение. Запишем матрицу квадратичной формы

,

после чего нам остается найти ее спектральное разложение. Данную задачу для этой матрицы мы уже решили в предыдущем примере 5 (см. рис.3). Диагональная матрица квадратичной формы при этом получилась

,

что приводит к следующему каноническому виду квадратичной формы в новых переменных:

.

                                                                   

Сингулярное разложение матриц*

(Singular Values Decomposition, SVD)

Как мы уже отмечали выше, не все вещественные квадратные матрицы допускают спектральное разложение:

,

где  ортогональная матрица, составленная из собственных векторов матрицы , а  собственные значения матрицы .

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

.

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

В сингулярном разложении принята следующая терминология: столбцы матрицы  называют левыми сингулярными векторами, а столбцы матрицы  – правыми сингулярными векторами. Значения  называют сингулярными значениями матрицы .

    Для симметричных вещественных неотрицательных квадратных матриц спектральное и сингулярное разложения совпадают.

Замечание. Можно показать, что столбцы матрицы  являются собственными векторами матрицы , а квадраты сингулярных чисел  – ее собственными значениями. Аналогично столбцы матрицы  являются собственными векторами матрицы , а квадраты сингулярных чисел так же являются ее собственными значениями.

Задание 6. Для матрицы

найти ее спектральное разложение.

Решение. Введем матрицу A через excel-формат, найдем ее сингулярные значения d, левую и правую матрицы разложения U и V, получим диагональный вид D в сингулярном разложении и проверим истинность найденного разложения по формуле:

.

Data <- read.table("clipboard",h=FALSE,dec=",",sep = "\t") # Чтение из буфера обмена excel

A <- as.matrix.data.frame(Data); A  # Объявляем таблицу чисел Data матрицей A в R

S <- svd(A)                                   # Производим сингулярное разложение матрицы A

d <- S$d; d                                    # Вектор (массив) всех сингулярных чисел

U <- S$u; U                                  # Левая матрица U в сингулярном разложении

V <- S$v; V                                  # Правая матрица V в сингулярном разложении

D <- diag(S$d); D                         # Диагональная матрица D в сингулярном разложении

U %*% D %*% t(V)                    # A = U D V' сингулярное разложение A (проверка)

round(U %*% D %*% t(V), 8)   # то же самое, но нагляднее                               

С результатом, представленном на рисунке 4.

Рис. 4.

Обратите внимание, что полученное сингулярное разложение всегда наглядно отражает ранг матрицы . Действительно, получающаяся диагональная матрица разложения

имеет ранг 2, что по свойству сингулярного разложения совпадает с рангом исходной матрицы .

    Замечание. Сингулярное разложение оказывается определено и для неквадратных матриц. Единственное отличие состоит в том, что матрица  не будет квадратной и уж тем более ортогональной. Попробуйте получить сингулярное разложение для матрицы:

A <- matrix(1:12, 3, 4, byrow = TRUE); A

т.е. найти соответствующие матрицы ,  и . Обязательно проверьте результат – сингулярное разложение матрицы должно совпадать с самой матрицей:

.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: