1

我使用 EJML 来求解线性方程组。

EJML 使用双打。我的输入(和预期输出)是整数。我将省略 toString() 中的 .000。

我的矩阵 A 看起来像这样(虽然它是 ~1000x1000):

1  0  0  0  0
1 -1  1  0  0
0  1 -1  1  0
0  0  1 -1  1
0  0  0  0  1

我的 b 只是一个向量,在第一个和最后一个索引中都有一个值,其余的都是 0。

{-10 0 0 0 10}'

对于 5x5 尺寸,我可以使用 EJML,但对于我的 1000x1000 矩阵,我得到一个 -Error Solution contains uncountable numbers

结果如下所示:

{NaN NaN NaN ... NaN -Infinity -Infinity 1}'

我的代码看起来像这样(矩阵是正确的,我通过 Sysout 和 Debugger 进行了检查):

// Setup A
// Setup b
SimpleMatrix x = A.solve(b);

现在我假设我的系统以某种方式表现不佳。可悲的是,我不太喜欢矩阵,所以我认为我可能使用错误的方法来解决这个特定问题。我能想到的另一件事是双精度妨碍了我。

有什么我可以做的吗,或者 EJML 根本不是这里的正确工具?

4

0 回答 0