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。
答案 0 :(得分:0)
NumberContext accuracy = ...
storeB.equals(storeA.multiply(storeX), accuracy);