[SciPy-User] scipy.test() causes segmentation fault for test_lobpcg

Ryota Tomioka ryotat@gmx...
Sat Dec 25 20:51:46 CST 2010

Dear Scipy users,

I have recently installed numpy 1.5.1rc1 and
scipy 0.8.0 on a CentOS 5.5 server. ATLAS was
compiled with gfortran and I also specified gfortran
for the installation of both numpy and scipy.

numpy.test() ran without trouble, but scipy.test()
crashed due to segmentation fault and this was in

In order to reproduce the result I copied /usr/local/lib/python2.6/site-packages/scipy/sparse/linalg/eigen/lobpcg/tests/test_lobpcg.py
to my home directory and did the following.

[ryotat@cyprus ~]$ python
Python 2.6.6 (r266:84292, Nov 19 2010, 22:23:00) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from test_lobpcg import *
>>> A,B=ElasticRod(100)
>>> compare_solutions(A,B,100)
>>> compare_solutions(A,B,80)
>>> compare_solutions(A,B,40)
>>> compare_solutions(A,B,30)
>>> compare_solutions(A,B,22)
>>> compare_solutions(A,B,21)
>>> compare_solutions(A,B,20)
Segmentation fault

So it seems to happen only around m=20. m=10 did not cause
segmentation fault but resulted in 

Arrays are not almost equal

To see it in more detail, I tried

>>> A,B=ElasticRod(100)
>>> m=20
>>> n=A.shape[0]
>>> numpy.random.seed(0)
>>> V=rand(n,m)
>>> X=linalg.orth(V)
>>> eigs,vecs=lobpcg(A,X,B=B,tol=1e-5,maxiter=30,verbosityLevel=10)
Solving generalized eigenvalue problem with preconditioning

matrix size 100
block size 20

No constraints

iteration 0
[ True  True  True  True  True  True  True  True  True  True  True  True  True  True  True
  True  True  True  True  True]
current block size: 20
eigenvalue: [  1.785e+12   1.586e+12   1.356e+12   1.330e+12   1.212e+12   1.155e+12   1.080e+12
   9.149e+11   8.272e+11   8.229e+11   7.664e+11   6.941e+11   6.769e+11   5.848e+11
   5.553e+11   4.994e+11   4.283e+11   3.813e+11   3.537e+11   1.058e+10]
residual norms: [  7.223e+10   6.780e+10   7.145e+10   7.305e+10   6.290e+10   7.085e+10   6.539e+10
   5.466e+10   6.137e+10   5.374e+10   5.809e+10   5.725e+10   5.375e+10   5.334e+10
   5.052e+10   4.746e+10   4.176e+10   3.650e+10   3.283e+10   6.905e+09]
Segmentation fault

Does anyone experienced something similar? Or could anyone suggest
where I should look into?


Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 100,- Euro! https://freundschaftswerbung.gmx.de

More information about the SciPy-User mailing list