Сингулярное разложение в NumPy
svd из linalg представляет
таблицу как две ортогональные
таблицы и диагональ сингулярных
чисел между ними.
Параметр full_matrices=False
оставляет множители компактными.
Средний массив одномерный: сингулярные
числа по убыванию. Выведем их
и формы боковых множителей:
import numpy as np
a = np.array([[3., 0.], [0., 4.]])
u, s, vh = np.linalg.svd(a, full_matrices=False)
print(s) # выведет [4. 3.]
print(u.shape, vh.shape) # выведет (2, 2) (2, 2)
Для таблицы
[[1., 2.], [0., 3.]] выведите
одномерный массив сингулярных
чисел при компактном разложении.
Для той же таблицы выведите формы двух ортогональных множителей при компактном разложении.