0

コードをMATLABからJavaに移植したところ、行列の固有分解が必要です。具体的にkは、完全な分解ではなく、最初の値のみが必要です。

ただし、JAMAでは、固有分解クラスが完全な固有分解を計算します。変更しようとしましたが、エラーが発生します。別の同様のライブラリはありますか?

MATLABでは、問題の関数はeigs(k,A)

4

3 に答える 3

0

したがって、すべての固有値の配列を返すだけです。配列の最初の k 個の値だけを含む配列を返したいとします。Java でこれを行う方法はたくさんあります。1 つは、配列を ArrayList に変換し、そのリストの subList を取得して、変換して配列に戻すことです。

double[] mySubArray = new double[k];
for (int i=0; i < k; i++) {
        subArray[i] = myFullArray[i];
    }

ちなみに、これは彼が参照しているライブラリです: http://math.nist.gov/javanumerics/jama/doc/

于 2012-05-31T16:03:14.787 に答える
0

既存のコードが見つからない場合は、この論文またはおそらくこの論文を参照する必要があると思います。

于 2012-05-31T19:35:13.033 に答える
0

http://commons.apache.org/proper/commons-math/javadocs/api-3.6/org/apache/commons/math3/linear/EigenDecomposition.htmlでEigenDecomposition という名前の別のパッケージを試すことができるかもしれません。 、これにより - 番目getImagEigenvalue(int i)の固有値を取得できます。i

于 2019-04-01T10:24:26.347 に答える