我試圖遵循documentation中np.linalg.svd
中提供的一些示例代碼,以比較TDM矩陣上的SVD之後的術語和文檔相似性。下面是我得到了什麼:無法將形狀(1285)中的輸入數組廣播成形(1285,5344)
results_t = np.linalg.svd(tdm_t)
results_t[1].shape
產生
(1285,)
而且
results_t[2].shape
(5334, 5334)
所以後來試圖播放這些結果來創建每個經典的SVD投影方式真正S
矩陣,我得到了:
S = np.zeros((results_t[0].shape[0], results_t[2].shape[0]), dtype = float)
S[:results_t[2].shape[0], :results_t[2].shape[0]] = results_t[1]
最後一行產生錯誤:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-329-16e79bc97c4b> in <module>()
----> 1 S[:results_t[2].shape[0], :results_t[2].shape[0]] = results_t[1]
ValueError: could not broadcast input array from shape (1285) into shape (1285,5334)
我在做什麼錯在這裏?
嘗試'results_t [1] [:,無]' – Joel
如果下面的答案沒有幫助,您能否明確說明錯誤行將被執行? – Joel
你想分配一個塊還是對角線? – hpaulj