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) );
返回True。
NumberContext accuracy = ...
storeB.equals(storeA.multiply(storeX), accuracy);