mailr26884 - in /branches/relax_fit_c_class: specific_analyses/relax_disp/ specific_analyses/relax_fit/ 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 December 01, 2014 - 19:49:
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):




Related Messages


Powered by MHonArc, Updated Mon Dec 01 20:20:01 2014