既に作成した用語文書マトリックスに SVD を適用しています。マトリックスは次の形式の double 配列です。
public static double[][] tdidf;
tdidf = new double[listOfFiles.length][keywordList.size()];
しかし、私がsvdをアップルするとき:
public void computeSVD()
{
マトリックス A = 新しいマトリックス(tdidf); SingularValueDecomposition svd = A.svd();
マトリックス U = svd.getU();
行列 S = svd.getS();
}
私はエラーが発生しています:
スレッド「メイン」での例外 java.lang.ArrayIndexOutOfBoundsException: 53
at Jama.SingularValueDecomposition.getS(SingularValueDecomposition.java:511)
at TDIDF_Matrix.computeSVD(TDIDF_Matrix.java:119)
at Jama.main(Jama.java:191)
SVD を計算する前に A を転置する必要がありますか?