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