Математические задачи в пакете MathCAD 12

       

SVD(сингулярное) разложение



8.3.5. SVD-(сингулярное) разложение



Наиболее эффективными (но и ресурсоемкими) средствами решения произвольных СЛАУ (с матрицей А размера NxM) по методу наименьших квадратов являются так называемые полные ортогональные разложения, имеющие, по определению, вид A=UKVT.

Здесь U и V — ортогональные матрицы размером NxN и MхM соответственно, а k— матрица размера NxM, имеющая следующую структуру:


причем w — матрица размера kxk, где k — ранг исходной матрицы А.

Самое известное из ортогональных, SVD- (singular value decomposition) или сингулярное разложение — разложение вида A=USVT, где S — диагональная матрица, состоящая из нулей и расположенных на диагонали сингулярных чисел матрицы А. Расчет сингулярного разложения в Mathcad осуществляется при помощи пары встроенных функций:

  • svds (A) — вектор, состоящий из сингулярных чисел;
  •  svd (A) — сингулярное разложение:

  •  А — действительная матрица.


Пример поиска сингулярного разложения сингулярной матрицы приведен в листинге 8.25, причем его последняя строка представляет собой проверку правильности найденного разложения. Подчеркнем, что вычисленные сингулярные числа находятся на главной диагонали средней матрицы разложения, а ее остальные элементы, по определению, равны нулю. Сравнивая матрицы из листинга 8.25, вы без труда разберетесь, каким образом следует выделять искомые матрицы сингулярного разложения из результата, поставляемого функцией svd.





Содержание раздела