Hi, Rather than downgrading, on a Linux system or Mac (with Xcode) it is probably easier to make a local install of Python. For Python, as a user run:
$ ./configure --prefix=~/python/numpy-1.6_testing $ make $ make install Then install a numpy 1.6 version with: $ ~/python/numpy-1.6_testing/bin/python setup.py install You'll probably need to get minfx and bmrblib as well (https://gna.org/projects/minfx/, https://gna.org/projects/bmrblib/). Then you'll have a testing Python version installed in ~/python/numpy-1.6_testing. I have this for multiple Python and numpy versions for testing purposes: $ ls -1 /data/python/bin/python[0-9].[0-9] /data/python/bin/python1.0* /data/python/bin/python1.2* /data/python/bin/python1.3* /data/python/bin/python1.4* /data/python/bin/python1.5* /data/python/bin/python1.6* /data/python/bin/python2.0* /data/python/bin/python2.1* /data/python/bin/python2.2* /data/python/bin/python2.3* /data/python/bin/python2.4* /data/python/bin/python2.5* /data/python/bin/python2.6* /data/python/bin/python2.7* /data/python/bin/python3.0* /data/python/bin/python3.1* /data/python/bin/python3.2* /data/python/bin/python3.3* /data/python/bin/python3.4* Regards, Edward On 25 July 2014 14:34, Troels Emtekær Linnet <[email protected]> wrote: > Hi Edward. > > I would suggest an implementation of striding through the data. > > The necessary functions for this implementation is already present in > lib/dispersion matrix_exponential.py and matrix_power.py. > > I will look into this later. > > I will try to see, if I can do a local downgrade of numpy to 1.6, to > check it is working. > > Best > Troels > > > 2014-07-25 14:09 GMT+02:00 Edward d'Auvergne <[email protected]>: >> Hi Troels, >> >> We have a major problem in trunk caused by the recent merger of the >> disp_spin_speed branch. When I run the Relax_disp system tests, the >> unit tests, or the Relax_disp GUI tests, I see many, many failures due >> to problems with the numpy.linalg.eig() function on numpy 1.6.1, >> 1.6.2, and 1.7.0. The error for one of the unit tests is: >> >> ====================================================================== >> ERROR: Test the r2eff_ns_cpmg_2site_3D() function for no exchange when dw = >> 0.0. >> ---------------------------------------------------------------------- >> Traceback (most recent call last): >> File >> "/data/relax/relax-trunk/test_suite/unit_tests/_lib/_dispersion/test_ns_cpmg_2site_3d.py", >> line 130, in test_ns_cpmg_2site_3D_no_rex1 >> self.calc_r2eff() >> File >> "/data/relax/relax-trunk/test_suite/unit_tests/_lib/_dispersion/test_ns_cpmg_2site_3d.py", >> line 79, in calc_r2eff >> r2eff_ns_cpmg_2site_3D(r180x=self.r180x, M0=self.M0, >> M0_T=self.M0_T, r20a=self.r20a*a, r20b=self.r20b*a, pA=self.pA, >> dw=dw_frq*a, dw_orig=dw_frq*a, kex=self.kex, >> inv_tcpmg=self.inv_relax_times*a, tcp=self.tau_cpmg*a, >> back_calc=self.R2eff, num_points=self.num_points*b, power=self.ncyc*a) >> File "/data/relax/relax-trunk/lib/dispersion/ns_cpmg_2site_3d.py", >> line 299, in r2eff_ns_cpmg_2site_3D >> Rexpo_mat = matrix_exponential_rank_NE_NS_NM_NO_ND_x_x(R_mat) >> File "/data/relax/relax-trunk/lib/dispersion/matrix_exponential.py", >> line 78, in matrix_exponential_rank_NE_NS_NM_NO_ND_x_x >> W, V = eig(A) >> File "/data/python/lib/python2.5/site-packages/numpy/linalg/linalg.py", >> line 1015, in eig >> _assertRank2(a) >> File "/data/python/lib/python2.5/site-packages/numpy/linalg/linalg.py", >> line 155, in _assertRank2 >> two-dimensional' % len(a.shape) >> LinAlgError: 7-dimensional array given. Array must be >> two-dimensional >> >> ---------------------------------------------------------------------- >> >> Here are the API differences between numpy versions: >> >> 1.8.1: >> http://docs.scipy.org/doc/numpy-1.8.1/reference/generated/numpy.linalg.eig.html#numpy.linalg.eig >> 1.8.0: >> http://docs.scipy.org/doc/numpy-1.8.0/reference/generated/numpy.linalg.eig.html#numpy.linalg.eig >> 1.7.0: >> http://docs.scipy.org/doc/numpy-1.7.0/reference/generated/numpy.linalg.eig.html#numpy.linalg.eig >> 1.6.0: >> http://docs.scipy.org/doc/numpy-1.6.0/reference/generated/numpy.linalg.eig.html#numpy.linalg.eig >> >> You can see that the input changes from (M, M) to (..., M, M) between >> 1.7.0 and 1.8.0. We cannot require numpy >= 1.8 as many current >> distributions have not shifted to this version yet. Most sys admins >> would kill me for even suggesting that ;) Therefore we need to come >> up with a solution and quickly. >> >> The best would be to add an eig() function to the lib.compat module. >> For numpy >= 1.8.0 it will use the numpy.linalg.eig() function. For >> the other versions, we need an alternative solution. Maybe using slow >> Python looping over the higher dimensions would be ok. >> >> I will not report this as a bug, as no released relax versions are affected. >> >> Cheers, >> >> Edward >> >> _______________________________________________ >> relax (http://www.nmr-relax.com) >> >> This is the relax-devel mailing list >> [email protected] >> >> To unsubscribe from this list, get a password >> reminder, or change your subscription options, >> visit the list information page at >> https://mail.gna.org/listinfo/relax-devel _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list [email protected] To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel

