Menu

SVN archive Commit Log


Commit Date  
[r24308] by tlinnet

Triple speed in NS MMQ 3site, 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:07 Tree
[r24307] by tlinnet

Comment and spell fixing in NS CPMG 2site 3d.

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

2014-06-25 01:41:05 Tree
[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
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.