Я знаю, что для симметричной матрицы сингулярные значения равны модулям собственных значений. Если матрица также является положительно полуопределенной, собственное разложение и разложение по сингулярным значениям идентичны. Мой вопрос касается симметричных матриц, которые не являются положительно полуопределенными, т. е. имеют хотя бы одно отрицательное собственное значение.
Я экспериментировал со случайно сгенерированными симметричными матрицами и обнаружил, что для положительного собственного значения собственный вектор после соответствующего выбора знака идентичен как левому, так и правому сингулярным векторам. Для отрицательного собственного значения собственный вектор равен левому или правому сингулярному вектору и равен оставшемуся сингулярному вектору, умноженному на -1. Я не смог привести контрпример.
Если это наблюдение верно для всех симметричных матриц, разложение по собственным значениям может быть легко получено из сингулярного векторного разложения для таких матриц путем замены знаков сингулярного значения и одного из сингулярных векторов, когда сингулярные векторы различаются знаками.
Я сначала предположил, что это общеизвестный факт. Однако я не нашел четкого изложения этого в соответствующих статьях Википедии или на других веб-сайтах. Более того, я нигде не видел, чтобы SVD был указан как алгоритм собственных значений, в то время как другие алгоритмы, ограниченные симметричными матрицами, есть.
Ниже я привожу пример, сгенерированный написанной мной программой, которая использует циклический метод Якоби из научной библиотеки GNU для вычисления собственных значений и собственных векторов, а также функцию из mymathlib.com для вычисления SVD. Собственные значения и сингулярные значения были отсортированы по убыванию абсолютного значения. Знаки выбирались так, чтобы первая компонента собственных векторов и левых сингулярных векторов была положительной.
Мои вопросы: является ли мой предложенный алгоритм вычисления собственных значений и собственных векторов действительным для всех симметричных матриц? Если да, то есть ли причина предпочесть для таких вычислений другие методы, такие как циклический метод Якоби, а не SVD?
Matrix
------
69 47 -1 512
47 1 32 43
-1 32 27 40
512 43 40 88
Eigenvalues
-----------
599.067
-435.442
43.6227
-22.2481
Eigenvectors
------------
0.694513 0.711505 0.105479 0.0169263
0.10848 -0.0122921 -0.492832 -0.863248
0.0544405 0.0629158 -0.862857 0.498554
0.709169 -0.699751 0.0383271 0.0772006
Singular values
---------------
599.067
435.442
43.6227
22.2481
Left singular vectors
---------------------
0.694513 0.711505 0.105479 0.0169263
0.10848 -0.0122921 -0.492832 -0.863248
0.0544405 0.0629158 -0.862857 0.498554
0.709169 -0.699751 0.0383271 0.0772006
Right singular vectors
----------------------
0.694513 -0.711505 0.105479 -0.0169263
0.10848 0.0122921 -0.492832 0.863248
0.0544405 -0.0629158 -0.862857 -0.498554
0.709169 0.699751 0.0383271 -0.0772006
Цяочу Юань ответил, что для симметричной матрицы с различными сингулярными значениями мое наблюдение верно, т. е. что собственные значения и собственные векторы могут быть выведены из разложения по сингулярным числам. Однако в случае симметричной матрицы с повторяющимися сингулярными значениями алгоритм SVD не может гарантировать получение правильного решения, потому что svd может иметь кратности, соответствующие собственным значениям, которые различны (разные по знаку).
Мне потребовалось некоторое время, чтобы полностью понять ответ (сначала нужно было узнать, что собственные векторы — и сингулярные векторы — не уникальны в матрицах с повторяющимися собственными значениями). Затем я провел численные эксперименты и обнаружил, что контрпримеры к моему наблюдению могут быть легко сгенерированы как QDQ T , где Q — ортогональная матрица, сгенерированная QR-разложением случайной матрицы, а D — подходящая диагональная матрица с парой элементов отличающиеся только знаком.
Когда все сингулярные значения различны (что верно для случайных матриц с высокой вероятностью), это верно и легко доказывается. Писать . Затем . В случае различных сингулярных значений сингулярные векторы уникальны в масштабе; следует, что если матрица симметричен, то его левый и правый сингулярные векторы равны раз друг друга. в случае они являются собственными векторами с собственным значением сингулярного значения, а в случае они являются собственными векторами с собственным значением, отрицательным от сингулярного значения.
Когда сингулярные значения не отличаются друг от друга, возникает большая неясность в выборе SVD. Что верно в этом случае, так это то, что всегда можно найти SVD, где сингулярные векторы являются собственными векторами, но нет никаких причин, по которым алгоритм SVD гарантированно выдаст такой SVD. Проблема в том, что сингулярные значения могут иметь более высокие кратности, чем собственные значения, например, собственные значения могут быть и тогда все сингулярные значения .
вибро
вибро
Цяочу Юань
вибро