MATLAB documentation of SVD指出返回的對角矩陣具有按降序排列的奇異值。有沒有辦法找出奇異值的自然排序是什麼? 我問的原因是因爲奇異值對應於與輸入矩陣的行相關的維度。MATLAB SVD奇異值排序
0
A
回答
4
不,SVD的定義並未引入排序。如果X = U*S*V'
是SVD X
,那麼對於每permutation matrixP
,我們可以形成有效的SVD作爲X = (U*P)*(P'*S*P)*(V*P)'
。以降序呈現矩陣S
只是爲了方便:每個排列P'*S*P
都可以完成同樣的工作。
作爲附帶說明:P*X = P*U*S*V'
表示矩陣X
的行置換不改變奇異值S
,這可以被認爲是獨立於任何行(或列)的X
置換。
3
我希望能夠在回答之前瞭解一下這裏提出的問題。例如,我在文件交換中發佈的eigenshuffle工具允許您對一系列特徵問題的特徵值和特徵向量重新排序,因此它們在順序上彼此最大一致。也許你的問題是相似的,因此你可能會認爲奇異值是隨着驅動系統的某個參數而變化的函數。
但實際上,沒有從用於計算SVD的方法得到的奇異值的自然排序。事實上,唯一有意義的順序就是出現順序 - 順序遞減。奇異值的順序不依賴於矩陣行的順序,因爲這個問題似乎含糊其辭,所以我不確定這裏的含義。
隨時修改問題,以防您可以使您的需求更清晰。
相關問題
- 1. 使用LAPACK的負奇異值svd
- 2. 在二次迴歸中使用奇異值分解(svd)
- 3. 與奇異MATLAB
- 4. SVD Matlab的實現
- 5. 做奇異值分解在Matlab
- 6. Matlab - 按絕對值排序
- 7. Matlab to Python:使用SVD解決系統
- 8. Matlab在SVD中使用哪種算法?
- 9. numpy svd:有沒有辦法找到第一個奇異向量而不是完整的svd?
- 10. 奇異值分解
- 11. Matlab 2-D排序
- 12. Matlab數組排序
- 13. 解決奇異稀疏矩陣MATLAB
- 14. MATLAB計算INV錯誤(奇異矩陣)
- 15. 如何計算SVD並驗證首次到最後一個奇異值與OpenCV的比值是否合理?
- 16. 在Matlab中進行排序與排序
- 17. 截斷SVD VS偏SVD
- 18. 排序NSSet拋出異常值ForUndefinedKey
- 19. 排序陣列上價值差異
- 20. 奇異值分解實現
- 21. 奇異值分解逼近
- 22. 最大奇異值NumPy`ndarray`
- 23. Matlab中的排序列
- 24. 在Matlab中排序文件
- 25. 排序用於在MATLAB
- 26. MATLAB排序和列號
- 27. matlab中的數組排序
- 28. matlab如何進行排序?
- 29. 排序在MATLAB中矢量
- 30. 由一排MATLAB排序矩陣
奇異值沒有「自然」排序。就奇異值與輸入矩陣的行相關而言,這對於一般矩陣也沒有數學基礎。如果你有一個具有特定特徵的特定矩陣(可能是對角線?),那麼你需要解釋它們,否則你的問題是沒有意義的。 – 2012-08-12 08:54:03
@woodchips:你應該把你的評論變成一個答案 - 「這個問題沒有答案」在我的書中是完全有效的答案。 – Jonas 2012-08-12 14:32:52