Menu

SVN archive Commit Log


Commit Date  
[r24306] by tlinnet

Small fix for making sure that power is a integer in ns mmq 2site.

Following system tests was failing.
- Relax_disp.test_korzhnev_2005_15n_dq_data
- Relax_disp.test_korzhnev_2005_15n_sq_data
- Relax_disp.test_korzhnev_2005_15n_zq_data
- Relax_disp.test_korzhnev_2005_1h_sq_data
- Relax_disp.test_korzhnev_2005_all_data
- Relax_disp.test_korzhnev_2005_all_data_disp_speed_bug

They should already be integers, but is now solved.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 01:41:04 Tree
[r24305] by tlinnet

Triple speed in NS MMQ 2site, after using numpy.linalg.matrix_power instead of the lib version in relax.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 01:41:02 Tree
[r24304] by tlinnet

Double speed in NS CPMG 2site star, after using numpy.linalg.matrix_power instead of the lib version in relax.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 01:41:00 Tree
[r24303] by tlinnet

Changes to unit test of NS CPMG 2site 3D.

This is after the new initiated M0 matrix in init of target function.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 00:14:52 Tree
[r24302] by tlinnet

Tried to implement using lib.linear_algebra.matrix_power.square_matrix_power instead of matrix_power from numpy in NS CPMG 2site 3d.

Strangely, then systemtest:
test_hansen_cpmg_data_to_ns_cpmg_2site_3D_full

starts to fail!

This is very weird.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 00:14:50 Tree
[r24301] by tlinnet

Got rid of the inner evolution of the magnetization.

If the looping over the number of CPMG elements is given by the index l, and the initial magnetization has
been formed, then the number of times for propagation of magnetization is l = power_si_mi_di-1.
If the magnetization matrix "Mint" has the index Mint_(i,k) and the evolution matrix has the index Evol_(k,j), i=1, k=7, j=7
then the dot product is given by: Sum_{k=1}^{k} Mint_(1,k) * Evol_(k,j) = D_(1, j).
The numpy einsum formula for this would be: einsum('ik,kj -> ij', Mint, Evol)

Following evolution will be: Sum_{k=1}^{k} D_(1, j) * Evol_(k,j) = Mint_(1,k) * Evol_(k,j) * Evol_(k,j).
We can then realize, that the evolution matrix can be raised to the power l. Evol_P = Evol**l.
It will then be: einsum('ik,kj -> ij', Mint, Evol_P)

- Get which power to raise the matrix to.
l = power_si_mi_di-1

- Raise the square evolution matrix to the power l.
evolution_matrix_T_pwer_i = matrix_power(evolution_matrix_T_i, l)

Mint_T_i = dot(Mint_T_i, evolution_matrix_T_pwer_i)
or
Mint_T_i = einsum('ik,kj -> ij', Mint_T_i, evolution_matrix_T_pwer_i)

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 00:14:48 Tree
[r24300] by tlinnet

Speeded up ns cpmg 2site 3d, by preforming the magnetisation.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 00:14:46 Tree
[r24299] by tlinnet

Lowered the looping in NS CPMG 2site 3D, by preforming the inital dot product.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 00:14:45 Tree
[r24298] by tlinnet

Swapped the dot product position, when propagating the magnetisation in model NS CPMG 2site 3D.

This it to try to align to same method as in NS R1rho 2site.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 00:14:43 Tree
[r24297] by tlinnet

For model NS CPMG 2site 3d, the M0 matrix was preformed for higher dimensionality in init of target function.

The transposes/rolled axis versions was also initiated.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-25 00:14:42 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.