Author: bugman
Date: Mon Dec 1 19:49:34 2014
New Revision: 26884
URL: http://svn.gna.org/viewcvs/relax?rev=26884&view=rev
Log:
Updated all code that accesses the target_functions.relax_fit module.
The target_functions.relax_fit_wrapper.Relax_fit_opt class no longer exists.
Instead the
target_functions.relax_fit.Relax_fit C class is being used. The input into the
C code has been
updated to make sure that all arguments for the target functions are numpy
arrays rather than Python
lists.
Modified:
branches/relax_fit_c_class/specific_analyses/relax_disp/estimate_r2eff.py
branches/relax_fit_c_class/specific_analyses/relax_disp/optimisation.py
branches/relax_fit_c_class/specific_analyses/relax_fit/api.py
branches/relax_fit_c_class/specific_analyses/relax_fit/optimisation.py
branches/relax_fit_c_class/test_suite/system_tests/relax_disp.py
Modified:
branches/relax_fit_c_class/specific_analyses/relax_disp/estimate_r2eff.py
URL:
http://svn.gna.org/viewcvs/relax/branches/relax_fit_c_class/specific_analyses/relax_disp/estimate_r2eff.py?rev=26884&r1=26883&r2=26884&view=diff
==============================================================================
--- branches/relax_fit_c_class/specific_analyses/relax_disp/estimate_r2eff.py
(original)
+++ branches/relax_fit_c_class/specific_analyses/relax_disp/estimate_r2eff.py
Mon Dec 1 19:49:34 2014
@@ -25,7 +25,7 @@
# Python module imports.
from copy import deepcopy
-from numpy import array, asarray, diag, dot, exp, eye, log, multiply, ones,
sqrt, sum, transpose, zeros
+from numpy import array, asarray, diag, dot, exp, eye, float64, log, multiply,
ones, sqrt, sum, transpose, zeros
from minfx.generic import generic_minimise
import sys
from warnings import warn
@@ -42,7 +42,7 @@
from specific_analyses.relax_disp.data import average_intensity,
loop_exp_frq_offset_point, loop_time, return_param_key_from_data
from specific_analyses.relax_disp.parameters import disassemble_param_vector
from target_functions.chi2 import chi2_rankN, dchi2
-from target_functions.relax_fit_wrapper import Relax_fit_opt
+from target_functions.relax_fit import Relax_fit
# Scipy installed.
if scipy_module:
@@ -101,7 +101,7 @@
i0 = getattr(cur_spin, 'i0')[param_key]
# Pack data
- param_vector = [r2eff, i0]
+ param_vector = array([r2eff, i0], float64)
# The peak intensities, errors and times.
values = []
@@ -119,10 +119,10 @@
# Initialise data in C code.
scaling_list = [1.0, 1.0]
- model = Relax_fit_opt(model='exp', num_params=len(param_vector),
values=values, errors=errors, relax_times=times, scaling_matrix=scaling_list)
+ model = Relax_fit(model='exp', num_params=len(param_vector),
num_times=len(times), values=values, sd=errors, relax_times=times,
scaling_matrix=scaling_list)
# Use the direct Jacobian from function.
- jacobian_matrix_exp = transpose(asarray(
model.jacobian(param_vector) ) )
+ jacobian_matrix_exp = transpose(model.jacobian(param_vector))
weights = 1. / errors**2
# Get the co-variance
@@ -789,7 +789,7 @@
# Initialise the function to minimise.
scaling_list = [1.0, 1.0]
- model = Relax_fit_opt(model='exp', num_params=len(x0),
values=E.values, errors=E.errors, relax_times=E.times,
scaling_matrix=scaling_list)
+ model = Relax_fit(model='exp', num_params=len(x0),
num_times=len(E.times), values=E.values, sd=E.errors, relax_times=E.times,
scaling_matrix=scaling_list)
# Define function to minimise for minfx.
t_func = model.func
Modified:
branches/relax_fit_c_class/specific_analyses/relax_disp/optimisation.py
URL:
http://svn.gna.org/viewcvs/relax/branches/relax_fit_c_class/specific_analyses/relax_disp/optimisation.py?rev=26884&r1=26883&r2=26884&view=diff
==============================================================================
--- branches/relax_fit_c_class/specific_analyses/relax_disp/optimisation.py
(original)
+++ branches/relax_fit_c_class/specific_analyses/relax_disp/optimisation.py
Mon Dec 1 19:49:34 2014
@@ -46,7 +46,7 @@
from specific_analyses.relax_disp.data import average_intensity, count_spins,
find_intensity_keys, has_exponential_exp_type, has_proton_mmq_cpmg,
is_r1_optimised, loop_exp, loop_exp_frq_offset_point,
loop_exp_frq_offset_point_time, loop_frq, loop_offset, loop_time,
pack_back_calc_r2eff, return_cpmg_frqs, return_offset_data,
return_param_key_from_data, return_r1_data, return_r2eff_arrays,
return_spin_lock_nu1
from specific_analyses.relax_disp.parameters import assemble_param_vector,
disassemble_param_vector, linear_constraints, param_conversion, param_num,
r1_setup
from target_functions.relax_disp import Dispersion
-from target_functions.relax_fit_wrapper import Relax_fit_opt
+from target_functions.relax_fit import Relax_fit
def back_calc_peak_intensities(spin=None, exp_type=None, frq=None,
offset=None, point=None):
@@ -92,7 +92,7 @@
scaling_list.append(1.0)
# Initialise the relaxation fit functions.
- model = Relax_fit_opt(model='exp', num_params=len(spin.params),
values=values, errors=errors, relax_times=times, scaling_matrix=scaling_list)
+ model = Relax_fit(model='exp', num_params=len(spin.params),
num_times=len(times), values=values, sd=errors, relax_times=times,
scaling_matrix=scaling_list)
# Make a single function call. This will cause back calculation and the
data will be stored in the C module.
model.func(param_vector)
@@ -403,7 +403,7 @@
scaling_list.append(scaling_matrix[i, i])
# Initialise the function to minimise.
- model = Relax_fit_opt(model='exp', num_params=len(param_vector),
values=values, errors=errors, relax_times=times, scaling_matrix=scaling_list)
+ model = Relax_fit(model='exp', num_params=len(param_vector),
num_times=len(times), values=values, sd=errors, relax_times=times,
scaling_matrix=scaling_list)
# Grid search.
if search('^[Gg]rid', min_algor):
Modified: branches/relax_fit_c_class/specific_analyses/relax_fit/api.py
URL:
http://svn.gna.org/viewcvs/relax/branches/relax_fit_c_class/specific_analyses/relax_fit/api.py?rev=26884&r1=26883&r2=26884&view=diff
==============================================================================
--- branches/relax_fit_c_class/specific_analyses/relax_fit/api.py
(original)
+++ branches/relax_fit_c_class/specific_analyses/relax_fit/api.py Mon Dec
1 19:49:34 2014
@@ -44,7 +44,7 @@
from specific_analyses.relax_fit.optimisation import back_calc
from specific_analyses.relax_fit.parameter_object import Relax_fit_params
from specific_analyses.relax_fit.parameters import assemble_param_vector,
disassemble_param_vector, linear_constraints
-from target_functions.relax_fit_wrapper import Relax_fit_opt
+from target_functions import relax_fit
class Relax_fit(API_base, API_common):
@@ -130,7 +130,7 @@
scaling_list.append(1.0)
# Initialise data in C code.
- model = Relax_fit_opt(model=spin.model, num_params=len(param_vector),
values=values, errors=errors, relax_times=times, scaling_matrix=scaling_list)
+ model = relax_fit.Relax_fit(model=spin.model,
num_params=len(param_vector), num_times=len(times), values=values, sd=errors,
relax_times=times, scaling_matrix=scaling_list)
# Use the direct Jacobian from function.
jacobian_matrix_exp = transpose(asarray( model.jacobian(param_vector)
) )
@@ -364,7 +364,7 @@
scaling_list.append(scaling_matrix[model_index][i, i])
# Set up the target function.
- model = Relax_fit_opt(model=spin.model,
num_params=len(spin.params), values=values, errors=errors, relax_times=times,
scaling_matrix=scaling_list)
+ model = relax_fit.Relax_fit(model=spin.model,
num_params=len(spin.params), num_times=len(times), values=values, sd=errors,
relax_times=times, scaling_matrix=scaling_list)
# Setup the minimisation algorithm when constraints are present.
Modified: branches/relax_fit_c_class/specific_analyses/relax_fit/optimisation.py
URL:
http://svn.gna.org/viewcvs/relax/branches/relax_fit_c_class/specific_analyses/relax_fit/optimisation.py?rev=26884&r1=26883&r2=26884&view=diff
==============================================================================
--- branches/relax_fit_c_class/specific_analyses/relax_fit/optimisation.py
(original)
+++ branches/relax_fit_c_class/specific_analyses/relax_fit/optimisation.py
Mon Dec 1 19:49:34 2014
@@ -25,7 +25,7 @@
# relax module imports.
from specific_analyses.relax_fit.parameters import assemble_param_vector
-from target_functions.relax_fit_wrapper import Relax_fit_opt
+from target_functions.relax_fit import Relax_fit
def back_calc(spin=None, relax_time_id=None):
@@ -60,7 +60,7 @@
scaling_list.append(1.0)
# Initialise the relaxation fit functions.
- model = Relax_fit_opt(model=spin.model, num_params=len(spin.params),
values=values, errors=errors, relax_times=times, scaling_matrix=scaling_list)
+ model = Relax_fit(model=spin.model, num_params=len(spin.params),
num_times=len(times), values=values, sd=errors, relax_times=times,
scaling_matrix=scaling_list)
# Make a single function call. This will cause back calculation and the
data will be stored in the C module.
model.func(param_vector)
Modified: branches/relax_fit_c_class/test_suite/system_tests/relax_disp.py
URL:
http://svn.gna.org/viewcvs/relax/branches/relax_fit_c_class/test_suite/system_tests/relax_disp.py?rev=26884&r1=26883&r2=26884&view=diff
==============================================================================
--- branches/relax_fit_c_class/test_suite/system_tests/relax_disp.py
(original)
+++ branches/relax_fit_c_class/test_suite/system_tests/relax_disp.py Mon Dec
1 19:49:34 2014
@@ -50,7 +50,7 @@
from specific_analyses.relax_disp.model import models_info, nesting_param
from specific_analyses.relax_disp.parameters import linear_constraints
from status import Status; status = Status()
-from target_functions.relax_fit_wrapper import Relax_fit_opt
+from target_functions.relax_fit import Relax_fit
from test_suite.system_tests.base_classes import SystemTestCase
@@ -3591,7 +3591,7 @@
I_err = asarray(I_err)
x0 = [r2eff, i0]
- model = Relax_fit_opt(model='exp', num_params=len(x0),
values=I_err, errors=errors, relax_times=times, scaling_matrix=scaling_list)
+ model = Relax_fit(model='exp', num_params=len(x0),
num_times=len(times), values=I_err, sd=errors, relax_times=times,
scaling_matrix=scaling_list)
params_minfx_sim_j, chi2_minfx_sim_j, iter_count,
f_count, g_count, h_count, warning = generic_minimise(func=model.func,
dfunc=model.dfunc, d2func=model.d2func, args=(), x0=x0, min_algor=min_algor,
min_options=min_options, full_output=True, print_flag=0)
R_m_sim_j, I0_m_sim_j = params_minfx_sim_j
@@ -3730,11 +3730,11 @@
errors = array([ 9.48032653, 11.34093541, 9.35149017,
10.84867928, 12.17590736])
scaling_list = [1.0, 1.0]
- model = Relax_fit_opt(model='exp', num_params=2, values=I,
errors=errors, relax_times=times, scaling_matrix=scaling_list)
+ model = Relax_fit(model='exp', num_params=2, num_times=len(times),
values=I, sd=errors, relax_times=times, scaling_matrix=scaling_list)
R = - 500.
I0 = 1000.
- params = [R, I0]
+ params = array([R, I0])
chi2 = model.func(params)
@@ -9027,7 +9027,7 @@
I_err = asarray(I_err)
x0 = [r2eff, i0]
- model = Relax_fit_opt(num_params=len(x0), values=I_err,
errors=errors, relax_times=times, scaling_matrix=scaling_list)
+ model = Relax_fit(num_params=len(x0),
num_times=len(times), values=I_err, sd=errors, relax_times=times,
scaling_matrix=scaling_list)
# Ref input.
#def generic_minimise(func=None, dfunc=None, d2func=None,
args=(), x0=None, min_algor=None, min_options=None, func_tol=1e-25,
grad_tol=None, maxiter=1e6, A=None, b=None, l=None, u=None, c=None, dc=None,
d2c=None, print_flag=0, print_prefix="", full_output=False):
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits 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-commits