私は分類のためにJahmm java libを使用しています。私はいくつかのランダムなデータセットを生成するようにいくつかのテストをしたいです。私のマトリックスが「明確ではない」と間違っていますか?
私はこの形式でデータセットを作成します。
[val_1.1 val_1.2 val_1.3];[val_2.1 val_2.2 val_2.3]; [val_3.1 val_3.2 val_3.3] etc...
val_1.1 == val_1.2 == val_1.3
と
val_2.1 == val_2.2 == val_2.3
ことなど私はランダム関数を使用します。
私はこのデータセットでは、次の関数を呼び出すと、それは
static double[][] decomposeCholesky(double[][] m)
{
if (!isSquare(m))
throw new IllegalArgumentException("Matrix is not square");
double[][] l = matrix(nbRows(m), nbColumns(m));
for (int j = 0; j < nbRows(m); j++)
{
double[] lj = l[j];
double d = 0.;
for (int k = 0; k < j; k++) {
double[] lk = l[k];
double s = 0.;
for (int i = 0; i < k; i++)
s += lk[i] * lj[i];
lj[k] = s = (m[j][k] - s)/l[k][k];
d = d + s * s;
}
if ((d = m[j][j] - d) <= 0.)
throw new IllegalArgumentException("Matrix is not positive " +
"defined");
l[j][j] = Math.sqrt(d);
for (int k = j+1; k < nbRows(m); k++)
l[j][k] = 0.;
}
return l;
}
はIllegalArgumentException
をスローしますので、私のシーケンス・マトリックスは、「正定義された」ではありませんが、それは何を意味するのでしょうか?それを避けるために私のデータセットに何をすべきですか?私は数学では良くありません!事前に感謝
http://en.wikipedia.org/wiki/Positive-definite_matrix – Luciano
自由時間がある場合は線形代数、それはあなたに役立つだろう、それは "正義のスカラーから行列への類推の説明のための"楽しい " – Luciano