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

Reply via email to