我试图使用numpy的SVD来计算一个大型密集matrix(10k X 10k)的SVD。 我正在使用Linux mint,并且已经构build了针对ATLAS的multithreading版本的numpy。
当我尝试使用我的用户帐户执行此操作时,代码将立即以SegFault退出。 我碰巧再次尝试使用具有root权限的shell,并且操作成功完成。
它似乎不依赖于matrix。 我试过了
A = eye(10000) [U,S,V] = svd(A)
并performance出相同的行为。
我猜这是一个真正的Linux问题,而不是一个numpy的,但我想知道是否有人经历了类似的事情或有一个想法的原因或可能的解决scheme。 我不希望以root身份运行我的代码,原因很明显。
看起来评论是答案,因此重新张贴它:
我会检查你是否使用这两个帐户相同的Python和库。 也许PATH,PYTHONPATH,LD_LIBRARY_PATH env vars是不同的,你正在使用与root帐户不同的版本。