давайте рассмотрим следующую матрицу
2 4
1 3
0 0
0 0
создание этой матрицы в python и соответствующее разложение по сингулярным значениям может быть выполнено в python простым способом
A =np.array([[2,4],[1,3],[0,0],[0,0]])
u,s,v =np.linalg.svd(A)
, когда я набрал размерысоответствующей матрицы, я получил следующее
print(u)
print(np.diag(s))
print(v)
[-0.57604844 0.81741556 0. 0. ]
[ 0. 0. 1. 0. ]
[ 0. 0. 0. 1. ]]
[[5.4649857 0. ]
[0. 0.36596619]]
[[-0.40455358 -0.9145143 ]
[-0.9145143 0.40455358]]
, поэтому следующий код для восстановления исходной матрицы не работает
print(u.dot(np.dot(np.diag(s),v)))
как я могу решить эту проблему?заранее спасибо