java - 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]
。我已经手动验证了这一点,并使用Colt
,JAMA
和EJML
库。
我仔细查看了文档,发现 的输入矩阵symmetricGeneralizedEigenvalues
应该是对称的,而这个不是。但是,我找不到任何关于接受非对称方阵的方法的文档。我觉得我一定在这里做错了什么。我错过了什么?
解决方案
推荐阅读
- angular - 缓存清单——在 ASP.NET CORE 2 Angular 5.x SPA 模板中
- c# - 多线程 & 信号量 & 事件
- javascript - JQuery 或 JavaScript - 获取点击的 btn 的名称
- delphi - THTTPRIO - IOHandler 值无效
- php - 外壳内的 2 个功能
- css - 您知道如何正确实现此布局吗?
- jupyter-notebook - 如何在离线模式下更新绘图(Jupyter notebook)
- javascript - ngFor 不适用于元素
- reactjs - 带有表情符号的 ReactJS 文本输入
- batch-file - 批处理 - 删除范围/特定单词