В линейной алгебре разложение по сингулярным значениям ( SVD ) представляет собой факторизацию вещественной или комплексной матрицы в вращение с последующим изменением масштаба и последующим вращением. Он обобщает собственное разложение квадратной нормальной матрицы с ортонормированным собственным базисом на любую матрицу. Это связано с полярным разложением .
В частности, разложение по сингулярным значениям комплексной матрицы M представляет собой факторизацию формы , где U — комплексная унитарная матрица , — прямоугольная диагональная матрица с неотрицательными действительными числами на диагонали, V — комплексная унитарная матрица, и — сопряженное транспонирование V . Такое разложение всегда существует для любой комплексной матрицы. Если M вещественное, то можно гарантировать, что U и V будут вещественными ортогональными матрицами; в таких контекстах часто обозначается СВД .
Диагональные элементы однозначно определяются M и известны как сингулярные значения M . Количество ненулевых сингулярных значений равно рангу M . Столбцы U и столбцы V называются левосингулярными векторами и правосингулярными векторами M соответственно. Они образуют два набора ортонормированных базисов u 1 , ..., um и v 1 , ..., v n , и если они отсортированы так, что сингулярные значения с нулевым значением все находятся в столбцах с наибольшим номером (или строки), разложение по сингулярным значениям можно записать как где - ранг M .
СВД не уникальна. Всегда можно выбрать разложение так, чтобы сингулярные значения располагались в порядке убывания. В этом случае (но не U и V ) однозначно определяется M.
Этот термин иногда относится к компактному SVD , аналогичному разложению , в котором есть квадратная диагональ размера , где - ранг M , и имеет только ненулевые сингулярные значения. В этом варианте U — полуунитарная матрица и — полуунитарная матрица такая, что
Математические приложения SVD включают вычисление псевдообратной матрицы , аппроксимацию и определение ранга, диапазона и нулевого пространства матрицы. SVD также чрезвычайно полезен во всех областях науки, техники и статистики , таких как обработка сигналов , аппроксимация данных методом наименьших квадратов и управление процессами .
В особом случае, когда M представляет собой вещественную квадратную матрицу размера m × m , матрицы U и V также могут быть выбраны действительными матрицами размера m × m . В этом случае «унитарный» — это то же самое, что « ортогональный ». Затем, интерпретируя обе унитарные матрицы , а также диагональную матрицу, обозначенную здесь как A , как линейное преобразование x ↦ Ax пространства R m , матрицы U и V ⁎ представляют собой вращения или отражение пространства, а представляют масштабирование каждую координату x i на коэффициент σ i . Таким образом, разложение SVD разбивает любое линейное преобразование R m на композицию трех геометрических преобразований : поворот или отражение ( V ⁎ ), за которым следует покоординатное масштабирование ( ), за которым следует еще одно вращение или отражение ( U ). .
В частности, если M имеет положительный определитель, то U и V ⁎ могут быть выбраны как оба вращения с отражениями, или как оба вращения без отражений. [ нужна цитата ] Если определитель отрицательный, ровно один из них будет иметь отражение. Если определитель равен нулю, каждый из них может быть независимо выбран как любой тип.
Если матрица M вещественная, но не квадратная, а именно m × n с m ≠ n , ее можно интерпретировать как линейное преобразование из R n в R m . Тогда U и V ⁎ можно выбрать в качестве вращений/отражений R m и R n соответственно; и , помимо масштабирования первых координат, также расширяет вектор нулями, т.е. удаляет конечные координаты, чтобы превратить R n в R m .
Как показано на рисунке, сингулярные значения можно интерпретировать как величину полуосей эллипса в 2D. Эту концепцию можно обобщить на n -мерное евклидово пространство , при этом сингулярные значения любой квадратной матрицы размера n × n рассматриваются как величина полуоси n -мерного эллипсоида . Аналогично, сингулярные значения любой матрицы размера m × n можно рассматривать как величину полуоси n -мерного эллипсоида в m -мерном пространстве, например, как эллипс в (наклоненной) двумерной плоскости в трехмерном пространстве. Сингулярные значения кодируют величину полуоси, а сингулярные векторы кодируют направление. Более подробную информацию смотрите ниже.
Поскольку U и V ⁎ унитарны, столбцы каждого из них образуют набор ортонормированных векторов , которые можно рассматривать как базисные векторы . Матрица M отображает базисный вектор V i в растянутый единичный вектор σ i U i . По определению унитарной матрицы то же самое верно для их сопряженных транспонирований U ⁎ и V , за исключением того, что теряется геометрическая интерпретация сингулярных значений как растяжений. Короче говоря, столбцы U , U ⁎ , V и V ⁎ являются ортонормированными базисами . Когда положительно -полуопределенная эрмитова матрица , U и V оба равны унитарной матрице, используемой для диагонализации . Однако, когда он не является положительно-полуопределенным и эрмитовым, но все же диагонализируем , его собственное разложение и разложение по сингулярным значениям различны.
Поскольку U и V унитарны, мы знаем, что столбцы U 1 , ..., U m из U дают ортонормированный базис K m , а столбцы V 1 , ..., V n из V дают ортонормированный базис K n (относительно стандартных скалярных произведений на этих пространствах).
Линейное преобразование
имеет особенно простое описание относительно этих ортонормированных базисов: мы имеем
где σ i i -я диагональная запись , и T ( V i ) = 0 для i > min( m , n ) .
Таким образом , геометрическое содержание теоремы SVD можно резюмировать следующим образом: для любого линейного отображения T : Kn → Km можно найти ортонормированные базисы Kn и Km такие, что T отображает i - й базисный вектор Kn в неотрицательное кратное i -го базисного вектора K m и переводит оставшиеся базисные векторы в ноль. Таким образом , относительно этих базисов карта T представляется диагональной матрицей с неотрицательными действительными диагональными элементами.
Чтобы получить более наглядное представление о сингулярных значениях и факторизации SVD – по крайней мере, при работе с реальными векторными пространствами – рассмотрим сферу S радиуса один в R n . Линейное отображение T отображает эту сферу на эллипсоид в Rm . Ненулевые сингулярные значения — это просто длины полуосей этого эллипсоида. Особенно когда n = m и все сингулярные значения различны и ненулевые, SVD линейного отображения T можно легко проанализировать как последовательность трех последовательных ходов: рассмотрим эллипсоид T ( S ) и, в частности, его оси; затем рассмотрим направления в R n , посланные T на эти оси. Эти направления оказываются взаимно ортогональными. Сначала примените изометрию V ⁎ , отправив эти направления к осям координат R n . На втором ходу примените эндоморфизм D , диагонализованный вдоль координатных осей и растягивающий или сжимающий в каждом направлении, используя длины полуосей T ( S ) в качестве коэффициентов растяжения. Затем композиция D ∘ V ⁎ отправляет единичную сферу на эллипсоид, изометричный T ( S ) . Чтобы определить третий и последний ход, примените изометрию U к этому эллипсоиду, чтобы получить T ( S ) . Как легко проверить, композиция U ∘ D ∘ V ⁎ совпадает с T .
Рассмотрим матрицу 4 × 5
Разложение этой матрицы по сингулярным значениям имеет вид UΣV ⁎
Матрица масштабирования равна нулю за пределами диагонали (серый курсив), а один диагональный элемент равен нулю (красный жирный шрифт, светло-синий жирный шрифт в темном режиме). Кроме того, поскольку матрицы U и V ⁎ унитарны , умножение на соответствующие им сопряженные транспонирования дает единичные матрицы , как показано ниже. В этом случае, поскольку U и V ⁎ имеют действительные значения, каждая из них является ортогональной матрицей .
Это конкретное разложение по сингулярным значениям не уникально. Выбирая такое, что
также является допустимым разложением по сингулярным значениям.
Неотрицательное действительное число σ является сингулярным значением для M тогда и только тогда, когда существуют векторы единичной длины в K m и в K n такие, что
В любом разложении по сингулярным значениям
Сингулярное значение, для которого можно найти два левых (или правых) сингулярных вектора, линейно независимых, называется вырожденным . Если и - два левосингулярных вектора, которые оба соответствуют сингулярному значению σ, то любая нормализованная линейная комбинация этих двух векторов также является левосингулярным вектором, соответствующим сингулярному значению σ. Аналогичное утверждение справедливо и для правосингулярных векторов. Число независимых левых и правых сингулярных векторов совпадает, и эти сингулярные векторы появляются в одних и тех же столбцах U и V , соответствующих диагональным элементам всех с одинаковым значением σ .
В качестве исключения, левый и правый сингулярные векторы сингулярного значения 0 содержат все единичные векторы в коядре и ядре соответственно M , которые по теореме о ранге-нулевости не могут быть одинаковой размерности, если m ≠ n . Даже если все сингулярные значения отличны от нуля, если m > n , то коядро нетривиально, и в этом случае U дополняется m - n ортогональными векторами из коядра. И наоборот, если m < n , то V дополняется n - m ортогональными векторами из ядра. Однако если сингулярное значение 0 существует, дополнительные столбцы U или V уже появляются как левые или право-сингулярные векторы.
Невырожденные сингулярные значения всегда имеют единственные лево- и право-сингулярные векторы с точностью до умножения на единичный фазовый множитель e i φ (для реального случая с точностью до знака). Следовательно, если все сингулярные значения квадратной матрицы M невырождены и ненулевые, то ее сингулярное разложение однозначно, вплоть до умножения столбца U на единичный фазовый множитель и одновременного умножения соответствующего столбца матрицы M. V на тот же единичный фазовый коэффициент. В общем, SVD уникален с точностью до произвольных унитарных преобразований, равномерно применяемых к векторам-столбцам U и V , охватывающим подпространства каждого сингулярного значения, а также с точностью до произвольных унитарных преобразований векторов U и V , охватывающих ядро и коядро соответственно. , М. _
Разложение по сингулярным значениям является очень общим в том смысле, что его можно применять к любой матрице размера m × n , тогда как разложение по собственным значениям можно применять только к квадратам диагонализируемых матриц . Тем не менее, эти два разложения связаны.
Если M имеет SVD , выполняются следующие два соотношения:
В частном случае, когда M является нормальной матрицей и, следовательно, также находится в квадрате, спектральная теорема гарантирует, что ее можно унитарно диагонализировать с использованием базиса собственных векторов и, таким образом, разложить, как для некоторой унитарной матрицы U и диагональной матрицы D с комплексными элементами σ i по диагонали. Когда M является положительно полуопределенным , σ i будет неотрицательным действительным числом, так что разложение M = UDU ⁎ также является разложением по сингулярным значениям. В противном случае его можно преобразовать в SVD, переместив фазу e iφ каждого σ i либо в соответствующий ему Vi , либо в U i . Естественная связь SVD с ненормальными матрицами осуществляется через теорему полярного разложения : M = SR , где S = UΣU ⁎ положительно полуопределенный и нормальный, а R = UV ⁎ унитарный.
Таким образом, за исключением положительных полуопределенных матриц, разложение по собственным значениям и SVD M , хотя и связаны, различаются: разложение по собственным значениям равно M = UDU −1 , где U не обязательно унитарно, а D не обязательно положительно полуопределенно, а SVD - это M = UΣV ⁎ , где диагональная и положительно полуопределенная, а U и V - унитарные матрицы, которые не обязательно связаны, кроме как через матрицу M . В то время как только недефектные квадратные матрицы имеют разложение по собственным значениям, любая матрица имеет SVD.
Разложение по сингулярным значениям можно использовать для вычисления псевдообратной матрицы. Псевдообратная матрица с разложением по сингулярным значениям :
Набор однородных линейных уравнений можно записать как Ax = 0 для матрицы A и вектора x . Типичная ситуация заключается в том, что A известно и необходимо определить ненулевое значение x , удовлетворяющее уравнению. Такой x принадлежит нулевому пространству A и иногда называется (правым) нулевым вектором A . Вектор x можно охарактеризовать как правосингулярный вектор, соответствующий сингулярному значению A , равному нулю. Это наблюдение означает, что если A является квадратной матрицей и не имеет исчезающего сингулярного значения, уравнение не имеет ненулевого x в качестве решения. Это также означает, что если существует несколько исчезающих сингулярных значений, любая линейная комбинация соответствующих правосингулярных векторов является допустимым решением. Аналогично определению (правого) нулевого вектора, ненулевой x, удовлетворяющий x ⁎ A = 0 , где x ⁎ обозначает сопряженное транспонирование x , называется левым нулевым вектором A .
Задача полного наименьших квадратов ищет вектор x , который минимизирует 2-норму вектора Ax при ограничении || х || = 1 . Решением оказывается правосингулярный вектор A , соответствующий наименьшему сингулярному значению.
Другое применение SVD состоит в том, что он обеспечивает явное представление диапазона и нулевого пространства матрицы M. Правые сингулярные векторы, соответствующие исчезающим сингулярным значениям M , охватывают нулевое пространство M , а левые сингулярные векторы, соответствующие ненулевым сингулярным значениям M , охватывают диапазон M . Например, в приведенном выше примере нулевое пространство охватывает последние две строки V ⁎ , а диапазон — первые три столбца U .
Как следствие, ранг M равен количеству ненулевых сингулярных значений, которое совпадает с количеством ненулевых диагональных элементов в . В числовой линейной алгебре сингулярные значения могут использоваться для определения эффективного ранга матрицы, поскольку ошибка округления может привести к небольшим, но ненулевым сингулярным значениям в матрице с недостаточным рангом. Предполагается, что сингулярные значения за пределами значительного разрыва численно эквивалентны нулю.
В некоторых практических приложениях необходимо решить проблему аппроксимации матрицы M другой матрицей , называемой усеченной, которая имеет определенный ранг r . В случае, когда аппроксимация основана на минимизации нормы Фробениуса разности между M и при ограничении , оказывается, что решение дается SVD M , а именно
SVD можно рассматривать как разложение матрицы на взвешенную упорядоченную сумму разделимых матриц. Под сепарабельностью мы подразумеваем, что матрица A может быть записана как внешнее произведение двух векторов A = u ⊗ v или, в координатах, . В частности, матрицу M можно разложить как:
которая представляет собой долю мощности в матрице M, которая учитывается первой сепарабельной матрицей в разложении. [2]
Можно использовать SVD квадратной матрицы A для определения ортогональной матрицы O , ближайшей к A. Близость соответствия измеряется нормой Фробениуса O − A . Решением является произведение UV ⁎ . [3] Это интуитивно имеет смысл, поскольку ортогональная матрица будет иметь разложение UIV ⁎ , где I - единичная матрица, так что если A = UΣV ⁎ , то произведение A = UV ⁎ представляет собой замену сингулярных значений единицами. Эквивалентно, решением является унитарная матрица R = UV ⁎ полярного разложения M = RP = P ' R в любом порядке растяжения и вращения, как описано выше.
Похожая проблема, имеющая интересные применения в анализе форм , — это ортогональная задача Прокруста , которая состоит в поиске ортогональной матрицы O , которая наиболее точно отображает A в B. Конкретно,
где обозначает норму Фробениуса.
Эта проблема эквивалентна поиску ближайшей ортогональной матрицы к данной матрице .
Алгоритм Кабша (в других областях называемый проблемой Вахбы ) использует SVD для вычисления оптимального вращения (относительно минимизации по методу наименьших квадратов), которое выравнивает набор точек с соответствующим набором точек. Он используется, среди прочего, для сравнения структур молекул.
SVD и псевдоинверсия успешно применяются для обработки сигналов , [4] обработки изображений [5] и больших данных (например, при обработке геномных сигналов). [6] [7] [8] [9]
В астродинамике СВД и ее варианты используются как опция для определения подходящих направлений маневра для проектирования траектории перехода [10] и удержания орбитальной станции . [11]
SVD также широко применяется для изучения линейных обратных задач и полезен при анализе методов регуляризации, таких как метод Тихонова . Он широко используется в статистике, где он связан с анализом главных компонент и анализом соответствий , а также в обработке сигналов и распознавании образов . Он также используется в модальном анализе только для выходных данных , где немасштабированные формы мод могут быть определены по сингулярным векторам. Еще одно использование — это скрытая семантическая индексация при обработке текста на естественном языке.
В общих численных вычислениях с участием линейных или линеаризованных систем существует универсальная константа, которая характеризует регулярность или сингулярность проблемы, которая является «числом обусловленности» системы . Он часто контролирует частоту ошибок или скорость сходимости данной вычислительной схемы в таких системах. [12] [13]
SVD также играет решающую роль в области квантовой информации в форме, часто называемой разложением Шмидта . Посредством него естественным образом разлагаются состояния двух квантовых систем, обеспечивая необходимое и достаточное условие для их запутанности : если ранг матрицы больше единицы.
Одним из применений SVD к довольно большим матрицам является численный прогноз погоды , где методы Ланцоша используются для оценки наиболее линейно быстро растущих возмущений в центральном численном прогнозе погоды в течение заданного начального периода вперед; т. е. сингулярные векторы, соответствующие наибольшим сингулярным значениям линеаризованного пропагатора глобальной погоды за этот интервал времени. Выходными сингулярными векторами в этом случае являются целые погодные системы. Эти возмущения затем прогоняются через полную нелинейную модель для создания ансамблевого прогноза , что дает возможность справиться с некоторой неопределенностью, которую следует учитывать в отношении текущего центрального прогноза.
SVD также применяется для моделирования уменьшенного порядка. Целью моделирования пониженного порядка является уменьшение количества степеней свободы в сложной системе, которую необходимо моделировать. SVD сочетался с радиальными базисными функциями для интерполяции решений трехмерных задач нестационарного течения. [14]
Интересно, что SVD использовался для улучшения моделирования гравитационных волн с помощью наземного гравитационно-волнового интерферометра aLIGO. [15] SVD может помочь повысить точность и скорость генерации сигналов для поддержки поиска гравитационных волн и обновления двух различных моделей сигналов.
Разложение по сингулярным значениям используется в рекомендательных системах для прогнозирования оценок людей. [16] С целью расчета СВД на кластерах товарных машин были разработаны распределенные алгоритмы. [17]
SVD низкого ранга применялся для обнаружения горячих точек на основе пространственно-временных данных с применением для обнаружения вспышек заболеваний . [18] Комбинация SVD и SVD более высокого порядка также применялась для обнаружения событий в реальном времени из сложных потоков данных (многомерные данные с пространственными и временными измерениями) при эпиднадзоре за заболеваниями . [19]
Собственное значение λ матрицы M характеризуется алгебраическим соотношением Mu = λ u . Когда M является эрмитовым , также доступна вариационная характеристика. Пусть M — вещественная симметричная матрица размера n × n . Определять
Сингулярные значения схожи тем, что их можно описать алгебраически или с помощью вариационных принципов. Хотя, в отличие от случая собственных значений, эрмитичность или симметрия M больше не требуется.
В этом разделе приводятся эти два аргумента в пользу существования разложения по сингулярным значениям.
Пусть — комплексная матрица размера m × n . Поскольку положительно полуопределена и эрмитова, по спектральной теореме существует унитарная матрица размера n × n такая, что
где диагональная и положительно определенная, размерности с числом ненулевых собственных значений (что можно показать, чтобы проверить ). Обратите внимание, что здесь по определению матрица, -й столбец которой является -м собственным вектором матрицы , соответствующим собственному значению . Более того, -й столбец , для , является собственным вектором с собственным значением . Это можно выразить, записав как , где столбцы и, следовательно, содержат собственные векторы, соответствующие ненулевым и нулевым собственным значениям соответственно. При таком переписании уравнение принимает вид:
Это означает, что
Более того, из второго уравнения следует . [20] Наконец, унитарность переводится с точки зрения и в следующие условия:
где индексы у единичных матриц используются для обозначения того, что они имеют разные размерности.
Давайте теперь определим
Затем,
т.к. это можно рассматривать и как непосредственное следствие того, что . Это эквивалентно наблюдению, что если — набор собственных векторов, соответствующих ненулевым собственным значениям , то это набор ортогональных векторов и (обычно не полный) набор ортонормированных векторов. Это соответствует использованному выше матричному формализму, обозначающему матрицу, столбцы которой равны , матрице, столбцы которой являются собственными векторами матрицы с исчезающим собственным значением, и матрице, столбцы которой являются векторами .
Мы видим, что это почти желаемый результат, за исключением того, что и в целом не унитарны, поскольку могут не быть квадратными. Однако мы знаем, что количество строк не меньше количества столбцов, поскольку размерности не больше и . Кроме того, поскольку
столбцы в них ортонормированы и могут быть расширены до ортонормированного базиса. Это означает, что мы можем выбрать такое, которое унитарно.
Для V 1 у нас уже есть V 2 , чтобы сделать его унитарным. Теперь определите
где дополнительные нулевые строки добавляются или удаляются , чтобы количество нулевых строк равнялось количеству столбцов U 2 , а следовательно, и общим размерам, равным . Затем
какой желаемый результат:
Обратите внимание, что аргумент может начаться с диагонализации MM ⁎, а не M ⁎ M (это непосредственно показывает, что MM ⁎ и M ⁎ M имеют одинаковые ненулевые собственные значения).
Сингулярные значения также можно охарактеризовать как максимумы u T Mv , рассматриваемые как функция u и v , в определенных подпространствах. Сингулярные векторы — это значения u и v , при которых достигаются эти максимумы.
Пусть M обозначает матрицу размера m × n с вещественными элементами. Пусть S k −1 – единичная -сфера в , и определим
Рассмотрим функцию σ , ограниченную S m −1 × S n −1 . Поскольку и S m −1 , и Sn −1 являются компактными множествами, их произведение также компактно. Более того, поскольку σ непрерывна, она достигает максимального значения хотя бы для одной пары векторов u ∈ Sm − 1 и v ∈ Sn − 1 . Это наибольшее значение обозначается σ 1 , а соответствующие векторы обозначаются u 1 и v 1 . Поскольку σ 1 является наибольшим значением σ ( u , v ), оно должно быть неотрицательным. Если бы оно было отрицательным, изменение знака u 1 или v 1 сделало бы его положительным и, следовательно, больше.
Заявление. u 1 , v 1 — левые и право-сингулярные векторы M с соответствующим сингулярным значением σ 1 .
Доказательство. Как и в случае с собственными значениями, по предположению, два вектора удовлетворяют уравнению множителя Лагранжа:
После некоторой алгебры это становится
Умножив первое уравнение слева на и второе уравнение слева на и взяв || ты || = || в || = 1 учет дает
Подставив это в пару приведенных выше уравнений, мы имеем
Это доказывает утверждение.
Больше сингулярных векторов и сингулярных значений можно найти путем максимизации σ ( u , v ) по нормализованным u , v , которые ортогональны u 1 и v 1 соответственно.
Переход от вещественного к комплексному аналогичен случаю собственных значений.
Разложение по сингулярным значениям можно вычислить, используя следующие наблюдения:
SVD матрицы M обычно вычисляется с помощью двухэтапной процедуры. На первом этапе матрица сводится к двудиагональной матрице . Для этого требуется O ( mn 2 ) операций с плавающей запятой (флоп), предполагая, что m ≥ n . Второй шаг — вычислить SVD двудиагональной матрицы. Этот шаг можно выполнить только итеративным методом (как в случае с алгоритмами собственных значений ). Однако на практике достаточно вычислить СВД с определенной точностью, как машинный эпсилон . Если эту точность считать постоянной, то второй шаг занимает O( n ) итераций, каждая из которых стоит O( n ) флопов. Таким образом, первый шаг обходится дороже, а общая стоимость составляет O( mn 2 ) флопов (Trefethen & Bau III 1997, лекция 31).
Первый шаг можно сделать с помощью отражений Хаусхолдера за 4 миллиона 2 - 4 n 3/3 флопа, предполагая, что нужны только сингулярные значения, а не сингулярные векторы. Если m намного больше n , то выгодно сначала привести матрицу M к треугольной матрице с помощью QR-разложения , а затем использовать отражения Хаусхолдера для дальнейшего приведения матрицы к двудиагональной форме; общая стоимость равна 2 млн 2 + 2 n 3 флопа (Trethethen & Bau III, 1997, лекция 31).
Второй шаг можно выполнить с помощью варианта QR-алгоритма для вычисления собственных значений, который впервые был описан Голубом и Каханом (1965). Подпрограмма LAPACK DBDSQR [21] реализует этот итерационный метод с некоторыми модификациями, позволяющими охватить случай, когда сингулярные значения очень малы (Demmel & Kahan 1990). Вместе с первым шагом, использующим отражения Хаусхолдера и, при необходимости, QR-разложение, это образует процедуру DGESVD [22] для вычисления сингулярного разложения.
Тот же алгоритм реализован в Научной библиотеке GNU (GSL). GSL также предлагает альтернативный метод, который использует одностороннюю ортогонализацию Якоби на этапе 2 (GSL Team 2007). Этот метод вычисляет SVD двудиагональной матрицы путем решения последовательности задач SVD 2 × 2, аналогично тому, как алгоритм собственных значений Якоби решает последовательность методов собственных значений 2 × 2 (Golub & Van Loan 1996, §8.6.3). Еще один метод для шага 2 использует идею алгоритма собственных значений «разделяй и властвуй» (Trefethen & Bau III 1997, лекция 31).
Существует альтернативный способ, который явно не использует разложение по собственным значениям. [23] Обычно сингулярную задачу матрицы M преобразуют в эквивалентную симметричную задачу собственных значений, такую как MM ⁎ , M ⁎ M или
Подходы, использующие разложение по собственным значениям, основаны на алгоритме QR , который хорошо разработан, чтобы быть стабильным и быстрым. Обратите внимание, что сингулярные значения являются действительными, а право- и левосингулярные векторы не требуются для формирования преобразований подобия. Можно итеративно чередовать QR-разложение и LQ-разложение , чтобы найти действительные диагональные эрмитовы матрицы . QR -разложение дает M ⇒ QR , а LQ - разложение R дает R ⇒ LP ⁎ . Таким образом, на каждой итерации мы имеем M ⇒ QLP ⁎ , обновляем M ⇐ L и повторяем ортогонализации. В конце концов, [ необходимы пояснения ] эта итерация между QR-разложением и LQ-разложением дает левые и правые унитарные сингулярные матрицы. Этот подход нельзя легко ускорить, как это можно сделать с помощью алгоритма QR с помощью спектральных сдвигов или дефляции. Это связано с тем, что метод сдвига нелегко определить без использования преобразований подобия. Однако этот итеративный подход очень прост в реализации, поэтому он является хорошим выбором, когда скорость не имеет значения. Этот метод также дает представление о том, как чисто ортогональные/унитарные преобразования могут получить SVD.
Сингулярные значения матрицы 2 × 2 можно найти аналитически. Пусть матрица будет
где – комплексные числа, параметризующие матрицу, I – единичная матрица и обозначают матрицы Паули . Тогда два его сингулярных значения определяются выражением
В приложениях довольно редко требуется полное SVD, включая полное унитарное разложение нулевого пространства матрицы. Вместо этого часто бывает достаточно (а также быстрее и экономичнее с точки зрения хранения) вычислить уменьшенную версию SVD. Для матрицы M размера m × n ранга r можно выделить следующее :
Тонкий или экономичный SVD матрицы M определяется выражением [24]
где
матрицы U k и V k содержат только первые k столбцов U и V , а Σ k содержит только первые k сингулярных значений из Σ. Таким образом, матрица U k имеет размер m × k , Σ k — диагональ k × k , а V k * — k × n .
Тонкий SVD использует значительно меньше места и времени вычислений, если k ≪ max( m , n ). Первым этапом расчета обычно будет QR-разложение M , что в этом случае может значительно ускорить расчет.
Вычисляются только r векторов-столбцов U и r векторов-строк V* , соответствующих ненулевым сингулярным значениям Σ r . Остальные векторы U и V* не рассчитываются. Это быстрее и экономичнее, чем тонкий СВД, если r ≪ min( m , n ). Таким образом, матрица U r имеет размер m × r , Σ r — диагональ r × r , а V r * — это r × n .
Во многих приложениях число r ненулевых сингулярных значений велико, что делает невозможным вычисление даже Compact SVD. В таких случаях наименьшие сингулярные значения, возможно, придется усечь, чтобы вычислить только t ≪ r ненулевых сингулярных значений. Усеченный SVD больше не является точным разложением исходной матрицы M , а скорее обеспечивает оптимальную аппроксимацию матрицы низкого ранга любой матрицей фиксированного ранга t.
где матрица U t равна m × t , Σ t — диагональ t × t , а V t * — t × n . Вычисляются только t векторов-столбцов U и t векторов-строк V* , соответствующих t наибольшим сингулярным значениям Σ t . Это может быть намного быстрее и экономичнее, чем компактный SVD, если t ≪ r , но требует совершенно другого набора инструментов числовых решателей.
В приложениях, требующих приближения к обратной матрице Мура-Пенроуза M , интерес представляют наименьшие сингулярные значения M , вычислить которые сложнее, чем самые большие.
Усеченный SVD используется при скрытой семантической индексации . [25]
Сумма k крупнейших сингулярных значений M является матричной нормой , k -нормой Ky Fan M. [26]
Первая из норм Кай Фана, 1-норма Кай Фана, совпадает с операторной нормой M как линейного оператора относительно евклидовых норм K m и K n . Другими словами, 1-норма Кай Фана — это норма оператора, индуцированная стандартным ℓ 2 евклидовым скалярным произведением. По этой причине его еще называют оператором 2-нормы. Легко проверить связь между 1-нормой Кай Фана и сингулярными значениями. В общем случае это верно для ограниченного оператора M в (возможно, бесконечномерном) гильбертовом пространстве.
Но в матричном случае ( M* M ) 1/2 является нормальной матрицей , поэтому || М* М || 1/2 является наибольшим собственным значением ( M* M ) 1/2 , т.е. наибольшим сингулярным значением M .
Последняя из норм Кай Фана, сумма всех сингулярных значений, является нормой следа (также известной как «ядерная норма»), определяемой || М || = Tr[( M* M ) 1/2 ] (собственные значения M* M представляют собой квадраты сингулярных значений).
Сингулярные значения связаны с другой нормой в пространстве операторов. Рассмотрим скалярное произведение Гильберта–Шмидта на матрицах размера n × n , определяемое формулой
Таким образом, индуцированная норма равна
Поскольку след инвариантен относительно унитарной эквивалентности, это показывает
где σi — сингулярные значения M. Это называется нормой Фробениуса , 2-нормой Шаттена или нормой Гильберта– Шмидта M. Непосредственный расчет показывает, что норма Фробениуса M = ( m ij ) совпадает с:
Кроме того, норма Фробениуса и норма следа (ядерная норма) являются частными случаями нормы Шаттена .
Сингулярные значения матрицы A однозначно определены и инвариантны относительно левых и/или правых унитарных преобразований A . Другими словами, сингулярные значения UAV для унитарных U и V равны сингулярным значениям A. Это важное свойство для приложений, в которых необходимо сохранить евклидовы расстояния и инвариантность относительно вращений.
Масштабно-инвариантный SVD, или SI-SVD, [27] аналогичен обычному SVD, за исключением того, что его однозначно определенные сингулярные значения инвариантны относительно диагональных преобразований A . Другими словами, сингулярные значения DAE для обратимых диагональных матриц D и E равны сингулярным значениям A. Это важное свойство для приложений, для которых необходима инвариантность к выбору единиц измерения переменных (например, метрических или имперских единиц).
Факторизация M = UΣV ⁎ может быть расширена до ограниченного оператора M в сепарабельном гильбертовом пространстве H . А именно, для любого ограниченного оператора M существуют частичная изометрия U , унитарное V , пространство с мерой ( X , µ ) и неотрицательное измеримое f такие, что
где – умножение на f на L 2 ( X , µ ).
Это можно показать, подражая линейному алгебраическому аргументу для матричного случая, приведенного выше. VT f V * — это уникальный положительный квадратный корень из M*M , заданный борелевским функциональным исчислением для самосопряженных операторов . Причина, по которой U не обязательно должна быть унитарной, заключается в том, что, в отличие от конечномерного случая, при заданной изометрии U 1 с нетривиальным ядром не может быть найдено подходящее U 2 такое, что
является унитарным оператором.
Что касается матриц, то факторизация сингулярных значений эквивалентна полярному разложению операторов: мы можем просто написать
и обратите внимание, что UV* по-прежнему является частичной изометрией, тогда как VT f V * положителен.
Понятие сингулярных значений и лево/правосингулярных векторов можно расширить до компактного оператора в гильбертовом пространстве, поскольку они имеют дискретный спектр. Если T компактно, каждое ненулевое λ в его спектре является собственным значением. Более того, компактный самосопряженный оператор можно диагонализовать по собственным векторам. Если M компактно, компактно и M ⁎ M . Применяя результат диагонализации, унитарный образ своего положительного квадратного корня T f имеет набор ортонормированных собственных векторов { e i } , соответствующих строго положительным собственным значениям { σ i } . Для любого ψ ∈ H
где ряд сходится в топологии нормы на H . Обратите внимание, как это похоже на выражение из конечномерного случая. σ i называются сингулярными значениями M . { U e i } (соответственно { V e i } ) можно считать лево-сингулярными (соответственно право-сингулярными) векторами M .
Компактные операторы в гильбертовом пространстве являются замыканием операторов конечного ранга в равномерной операторной топологии. Приведенное выше выражение ряда дает явное такое представление. Непосредственным следствием этого является:
Разложение по сингулярным значениям первоначально было разработано дифференциальными геометрами , которые хотели определить, можно ли сделать действительную билинейную форму равной другой путем независимых ортогональных преобразований двух пространств, на которые она действует. Эухенио Бельтрами и Камилла Джордан независимо открыли в 1873 и 1874 годах соответственно, что сингулярные значения билинейных форм, представленные в виде матрицы, образуют полный набор инвариантов для билинейных форм при ортогональных заменах. Джеймс Джозеф Сильвестр также пришел к разложению по сингулярным значениям для действительных квадратных матриц в 1889 году, по-видимому, независимо от Бельтрами и Джордана. Сильвестр назвал сингулярные значения каноническими множителями матрицы A. Четвертым математиком, независимо открывшим разложение по сингулярным числам, является Отонн в 1915 году, который пришел к нему с помощью полярного разложения . Первое доказательство разложения по сингулярным значениям для прямоугольных и комплексных матриц было сделано Карлом Эккартом и Гейлом Дж. Янгом в 1936 году; В [28] они рассматривали это как обобщение преобразования главной оси для эрмитовых матриц .
В 1907 году Эрхард Шмидт определил аналог сингулярных значений для интегральных операторов (которые компактны при некоторых слабых технических предположениях); похоже, он не знал о параллельных работах по сингулярным значениям конечных матриц. Эта теория была далее развита Эмилем Пикаром в 1910 году, который первым назвал числа сингулярными значениями (или по-французски valeurs Singleières ).
Практические методы вычисления SVD восходят к Когбетлянцу в 1954–1955 годах и Хестенесу в 1958 году [29] и очень напоминают алгоритм собственных значений Якоби , который использует вращения плоскости или вращения Гивенса . Однако они были заменены методом Джина Голуба и Уильяма Кахана , опубликованным в 1965 году [30] , который использует преобразования или отражения Хаусхолдера . В 1970 году Голуб и Кристиан Рейнш [31] опубликовали вариант алгоритма Голуба/Кахана, который до сих пор является наиболее используемым.
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь )