python - SciPy SVD 与 Numpy SVD

标签 python numpy scipy svd

SciPy 和 Numpy 都内置了奇异值分解 (SVD) 函数。命令基本上是 scipy.linalg.svdnumpy.linalg.svd。这两者有什么区别?它们中的任何一个都比另一个更好吗?

最佳答案

来自FAQ page ,它说 scipy.linalg 子模块为 Fortran LAPACK 库提供了一个更完整的包装器,而 numpy.linalg 试图能够独立于 LAPACK 进行构建。

我做了一些 benchmarks对于 svd 函数的不同实现,发现 scipy.linalg.svd 比对应的 numpy 更快:

然而,jax包裹的 numpy,又名 jax.numpy.linalg.svd 甚至更快:

基准测试的完整笔记本可用here .

关于python - SciPy SVD 与 Numpy SVD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32569188/

相关文章:

python - 使用 python 求解非方阵 A 的 Ax =b

python - 在 ubuntu 14.04 中安装 Caffe

python - 迁移到 numpy api 1.7

python - 如何从 Pandas DataFrame 的每一行中选择特定列?

python - 有效检测大图像中的形状

python - 创建一个根据概率更改列表中的值的函数

python - 我可以采取什么措施来保护我的 django 站点的源代码不被他人看到?

python - 如何反转未知维度的numpy数组?

python - 同时从压缩列表和元组中提取值

python - Scipy odeint 以负时间值求值