问题描述
我发现 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]
。我已经手动并使用 Colt
、JAMA
和 EJML
库验证了这一点。
我仔细观察了 docs,发现 symmetricGeneralizedEigenvalues
的输入矩阵应该是对称的,而这个不是。但是,我找不到接受非对称方阵的方法的任何文档。我觉得我一定在这里做错了什么。我错过了什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)