我正在寻找一些三角形求解器,我遇到了两个求解器。一个在BLAS中:dtrsm,另一个在LAPACK中:dtrtrs。从它的外观来看,它们似乎都有共同的功能,dtrsm具有更多的功能(在解决系统之前缩放右侧)。
我想知道
1)这些功能有何不同?
2)执行相同操作时哪个更快?
3)如果(2)的答案不明显,dtrsm何时建议超过dtrtrs,反之亦然?
答案 0 :(得分:8)
除了缩放之外,dtrsm
还可以解决三角矩阵右对乘未知矩阵的系统(即,它可以求解XA = B以及AX = B)。另一方面,如果A是单数,dtrsm
可以无声地失败,而dtrtrs
检查这种情况并报告错误。
在“典型”LAPACK发行版中,dtrtrs
只是一个检查奇点的包装器,然后调用dtrsm
。因此,dtrsm
稍微更快,但对于任何合理大小的矩阵而言,这种差异都是微不足道的。