3

ウィキペディアで説明されているように、特異値分解を実行する Java ライブラリを探しています。行列 A (m X n) から A = U*S*V' を取得します。ここで、U は mxm、S は mxn、V は nx n です。

誰でも私を助けることができますか?

colt や jama の svd の定義はウィキペディアの定義とは異なるため、回答しないでください。実際、colt は A = U*S*V' を返します。ここで、U は mxn、S は nxn、V は nx n です。

別の方法として、 colt を使用してウィキペディアの svd を計算するにはどうすればよいですか?

ありがとう

4

2 に答える 2

2

jblasの特異分解メソッドのJavaDoc は、一見必要な定義に準拠しているように見えますが、確実性を得るにはテストする必要があると思います。

もう1つはUniversal Java Matrix Packageですが、JavaDocをざっと見るとかなり戸惑い、その設計(ゲッターとセッターを定義するためのインターフェース?!)に少し恐怖を感じます。

于 2011-12-01T14:31:47.053 に答える
1

返信が遅くなり申し訳ありません。しかし、遅いよりはましです。

ウィキペディアのページをよく見ると、

au:4*4 ,s:4*5,v=5*5 に分割される 4*5 行列を表します

しかし、よく見ると、s 行列には最後の行と最後の列がゼロでいっぱいなので、実質的には 4*4 行列のみです。(つまり、下位の次元は常に使用されるだけです)

私はこれがあなたの質問に答えると思います!

于 2012-02-13T06:59:15.047 に答える