mailr23887 - in /branches/frame_order_cleanup: lib/frame_order/ target_functions/ test_suite/system_tests/


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on June 12, 2014 - 19:44:
Author: bugman
Date: Thu Jun 12 19:44:47 2014
New Revision: 23887

URL: http://svn.gna.org/viewcvs/relax?rev=23887&view=rev
Log:
Speed up and simplifications for the vector calculations used for the PCS 
numerical integration.

This has a minimal effect on the total speed as the target function 
calc_vectors() method is not the
major bottleneck - the slowest part is the quasi-random numerical 
integration.  However the changes
may be useful for speeding up the integration later on.

The 3D pivot point, average domain rotation pivot, and paramagnetic centre 
position arrays are now
converted into rank-2 arrays in __init__() where the first dimension 
corresponds to the spin.  Each
element is a copy of the 3D array.

These are then used for the calculation of the pivot to atom vectors, 
eliminating the looping over
spins.  The numpy add() and subtract() ufuncs are used together with the out 
argument for speed and
to avoid temporary data structure creation and deletion.  The end result is 
that the calculated
vector structure is transposed, so the first dimension are the spins.

The changes required minor updates to a number of system tests.  The target 
functions themselves had
to be modified so that the pivot is converted to the larger structure when 
optimised, or aliased.


Modified:
    branches/frame_order_cleanup/lib/frame_order/matrix_ops.py
    branches/frame_order_cleanup/lib/frame_order/rotor.py
    branches/frame_order_cleanup/target_functions/frame_order.py
    branches/frame_order_cleanup/test_suite/system_tests/frame_order.py

[This mail would be too long, it was shortened to contain the URLs only.]

Modified: branches/frame_order_cleanup/lib/frame_order/matrix_ops.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/lib/frame_order/matrix_ops.py?rev=23887&r1=23886&r2=23887&view=diff

Modified: branches/frame_order_cleanup/lib/frame_order/rotor.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/lib/frame_order/rotor.py?rev=23887&r1=23886&r2=23887&view=diff

Modified: branches/frame_order_cleanup/target_functions/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/target_functions/frame_order.py?rev=23887&r1=23886&r2=23887&view=diff

Modified: branches/frame_order_cleanup/test_suite/system_tests/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/system_tests/frame_order.py?rev=23887&r1=23886&r2=23887&view=diff




Related Messages


Powered by MHonArc, Updated Thu Jun 12 20:20:02 2014