来自 ND4J 分解的不正确特征值

问题描述

我发现 ND4J 返回了不正确的特征值:

 double[][] array = new double[][]{{1,2,1},{6,-1,0},{-1,-2,-1}};
 Indarray matrix = Nd4j.create(array);

 Indarray values = Eigen.symmetricGeneralizedEigenvalues(matrix);
 System.out.println(values);

 [-6.2408,-1.3996,6.6403]

我也尝试过,结果相同:

Indarray values = Eigen.symmetricGeneralizedEigenvalues(matrix,Nd4j.eye(matrix.rows()));

实际值为 [-4.0,0.0,3.0]。我已经手动并使用 ColtJAMAEJML 库验证了这一点。

我仔细观察了 docs,发现 symmetricGeneralizedEigenvalues 的输入矩阵应该是对称的,而这个不是。但是,我找不到接受非对称方阵的方法的任何文档。我觉得我一定在这里做错了什么。我错过了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)