【问题标题】:Java SVD as defined by wikipedia维基百科定义的 Java SVD
【发布时间】:2012-02-13 14:59:15
【问题描述】:

我正在寻找一个执行奇异值分解的 java 库,如 wikipedia 中所述:从矩阵 A (m X n) 得到 A = U*S*V' 其中 U 是 m x m,S 是 m x n,V 是n x n。

谁能帮帮我?

请不要回答 colt 或 jama,因为他们对 svd 的定义与维基百科的不同。事实上,colt 返回 A = U*S*V',其中 U 是 m x n,S 是 n x n,V 是 n x n。

Alternativley 如何使用 colt 计算维基百科的 svd?

谢谢

【问题讨论】:

    标签: java svd


    【解决方案1】:

    jblas 中的 JavaDoc for singular decomposition methods 似乎符合您乍一看需要的定义,但我认为您必须进行测试才能确定。

    另一个是Universal Java Matrix Package,但是翻阅JavaDoc 非常令人困惑,让我有点担心它的设计(用于定义getter 和setter 的接口?!)

    【讨论】:

      【解决方案2】:

      抱歉,回复晚了。但迟到总比没有好。

      如果你仔细查看维基百科页面,

      它描绘了一个 4*5 矩阵,该矩阵被拆分为 u:4*4 ,s:4*5,v=5*5

      但如果你仔细观察,s 矩阵的最后一行和最后一列全是零,因此它实际上只是一个 4*4 矩阵。 (即始终只使用低维)

      我想这回答了你的问题!

      【讨论】:

        猜你喜欢
        • 2013-10-21
        • 2020-07-27
        • 1970-01-01
        • 2019-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-16
        相关资源
        最近更新 更多