lapack 简单 vs 专家驱动程序速度比较

lapack simple vs expert driver speed comparison

我想用lapack来解决Ax=b、最小二乘、cholesky分解和SVD分解等类型的问题。手册上说存在两种类型的驱动程序:简单驱动程序和专家驱动程序,其中专家驱动程序提供更多输出信息,但在更多工作空间的成本。 我想知道两个驱动程序之间的速度差异。

除了在 copying/saving 数据指向专家驱动程序模式中的指针所消耗的时间之外,两者是否相同?

这取决于驱动程序。对于线性平方求解 ?GESV 和 ?GESVX,不同之处在于还返回了条件数估计,更重要的是,解被提供给 ?GERFS 以获得改进的解决方案以减少误差。

通常专家例程会出现相对(!)相当大的减速。您可以使用相同的输入自行测试。对于 GESV/GESVX 比较,我们有一个显着的减速,现在已在 SciPy 1.0 中修复,并且将跳过解决方案精炼,同时保持条件数报告。

有关详细信息,请参阅 https://github.com/scipy/scipy/issues/7847