Both SciPy and Numpy have built in functions for singular value decomposition (SVD). The commands are basically scipy.linalg.svd
and numpy.linalg.svd
. What is the difference between these two? Is any of them better than the other one?
答案 0 :(得分:2)
除错误检查外,实际工作似乎是在lapack内完成的
同时使用numpy
和scipy
。
如果没有进行任何基准测试,我认为性能应该相同。
答案 1 :(得分:0)
在FAQ page中,它说scipy.linalg
子模块为Fortran LAPACK库提供了更完整的包装,而numpy.linalg
试图能够独立于LAPACK进行构建。
我对svd
函数的不同实现做了一些benchmarks的测试,发现scipy.linalg.svd
比numpy的要快:
但是,jax包裹的numpy,也称为jax.numpy.linalg.svd
甚至更快:
提供了用于基准测试的完整笔记本电脑。here。