如何在一定程度上测试 ojalgo 中两个 MatrixStore 的相等性?

How do I test the equality of two MatrixStore in ojalgo up until a certain degree?

ojalgo 是否提供了一种有效的方法来测试两个矩阵是否相等?

例如,我想知道 MatrixStore A 是否等于 MatrixStore B 直到某个容忍度。

我可以使用嵌套的 for 循环实现一个简单的测试,但是我想知道是否有一种计算效率更高的方法可以在更大的矩阵上执行此操作。

我想要实现的是类似于 Python numpy 的 allclose 方法,用户可以指定两个输入 numpy 数组和一个公差值来检查两个数组是否等于该范围。

假设我有 2 个随机填充的 MatrixStores

storeA = storeFactory.makeFilled(5,5,new Weibull(5.0,2.0));
storeB = storeFactory.makeFilled(5,1,new Weibull(5.0,2.0));

然后我解方程 Ax=B

SolverTask linsolv = SolverTask.PRIMITIVE.make(storeA, storeB);
storeX = linsolv.solve(storeA,storeB);

我知道 storeX 在一定程度上应该等于 storeB,但我如何验证它?

我期待以下,或一些允许比较 2 个矩阵的函数

storeB.equals( storeA.multiply(storeX) );

至 return 正确。

NumberContext accuracy = ...
storeB.equals(storeA.multiply(storeX), accuracy);