SciPy 和 Numpy 都内置了奇异值分解 (SVD) 函数。命令基本上是 scipy.linalg.svd
和 numpy.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/