我正在寻找一些三角形求解器,而我遇到了两个求解器。 BLAS中的一个:dtrsm,LAPACK中的另一个:dtrtrs。从外观上看,两者似乎都具有共同的功能,而dtrsm具有更多的功能(在解决系统之前扩展右侧)。
我想知道
1)这些功能还有什么不同?
2)当执行相同的操作时,哪个更快?
3)如果对(2)的答案不明显,则何时在dtrtrs上建议使用dtrsm,反之亦然?
最佳答案
除了缩放外,dtrsm
还可以求解将三角矩阵右乘为未知矩阵的系统(即可以求解XA = B和AX = B)。另一方面,如果A为奇数,则dtrsm
可以静默失败,而dtrtrs
会检查这种情况并报告错误。
在“典型” LAPACK分发中,dtrtrs
只是一个包装,该包装检查奇异性然后调用dtrsm
。因此,dtrsm
稍快一些,但是对于任何合理大小的矩阵而言,该差异并不明显。
关于linear-algebra - dtrtrs和dtrsm之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6514402/