我正在尝试使用numpy的SVD计算较大的密集矩阵(10k X 10k)的SVD。我正在使用linux mint,并且已经针对ATLAS的多线程版本构建了numpy。
当我尝试使用我的用户帐户执行此操作时,该代码会立即以SegFault退出。我碰巧再次尝试使用具有root特权的shell,并且该操作成功完成。
它似乎不依赖于矩阵。我试过了
A = eye(10000)
[U,S,V] = svd(A)
并且表现出相同的行为。
我猜想这确实是一个Linux问题,而不是一个 NumPy 的问题,但我想知道是否有人经历过类似的事情或对原因或可能的解决方案有任何想法。由于明显的原因,我宁愿不必以root用户身份运行代码。
最佳答案
看起来评论就是答案,因此将其重新发布为:
我将检查两个帐户是否使用相同的python和库。也许PATH,PYTHONPATH,LD_LIBRARY_PATH环境变量不同,并且您使用的根帐户版本不同。
关于python - 以用户身份而不是以root用户身份在大型SVD上执行Numpy segfault,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18511283/