mailr19362 - /branches/relax_disp/specific_analyses/relax_disp.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on April 04, 2013 - 16:19:
Author: bugman
Date: Thu Apr  4 16:19:05 2013
New Revision: 19362

URL: http://svn.gna.org/viewcvs/relax?rev=19362&view=rev
Log:
The specific_analyses.relax_disp module is now using minfx correctly.

The minfx grid search is no longer part of generic_minimise() and must be 
called separately.


Modified:
    branches/relax_disp/specific_analyses/relax_disp.py

Modified: branches/relax_disp/specific_analyses/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp.py?rev=19362&r1=19361&r2=19362&view=diff
==============================================================================
--- branches/relax_disp/specific_analyses/relax_disp.py (original)
+++ branches/relax_disp/specific_analyses/relax_disp.py Thu Apr  4 16:19:05 
2013
@@ -24,6 +24,8 @@
 """The relaxation dispersion curve fitting specific code."""
 
 # Python module imports.
+from minfx.generic import generic_minimise
+from minfx.grid import grid
 from numpy import array, average, dot, float64, identity, log, zeros
 from numpy.linalg import inv
 from re import match, search
@@ -32,7 +34,6 @@
 # relax module imports.
 from lib.errors import RelaxError, RelaxFuncSetupError, RelaxLenError, 
RelaxNoModelError, RelaxNoSequenceError, RelaxNoSpectraError
 from lib.text.sectioning import subsection
-from minfx.generic import generic_minimise
 from pipe_control import pipes
 from pipe_control.mol_res_spin import exists_mol_res_spin_data, return_spin, 
spin_loop
 from specific_analyses.api_base import API_base
@@ -1087,17 +1088,24 @@
             # Initialise the function to minimise.
             model = Dispersion(model=cdp.model, 
num_params=self._param_num(spins=spins), num_spins=spin_num, 
num_exp_curves=cdp.curve_count, num_times=cdp.num_time_pts, values=values, 
errors=errors, cpmg_frqs=cdp.cpmg_frqs_list, 
spin_lock_nu1=cdp.spin_lock_nu1_list, relax_times=cdp.relax_time_list, 
scaling_matrix=scaling_matrix)
 
-            # Setup the minimisation algorithm when constraints are present.
-            if constraints and not match('^[Gg]rid', min_algor):
-                algor = min_options[0]
+            # Grid search.
+            if search('^[Gg]rid', min_algor):
+                results = grid(func=model.func, args=(), num_incs=inc, 
lower=lower, upper=upper, A=A, b=b, verbosity=verbosity)
+
+                # Unpack the results.
+                param_vector, chi2, iter_count, warning = results
+                f_count = iter_count
+                g_count = 0.0
+                h_count = 0.0
+
+            # Minimisation.
             else:
-                algor = min_algor
-
-            # Minimisation.
-            results = generic_minimise(func=model.func, args=(), 
x0=param_vector, min_algor=min_algor, min_options=min_options, 
func_tol=func_tol, grad_tol=grad_tol, maxiter=max_iterations, A=A, b=b, 
full_output=True, print_flag=verbosity)
-            if results == None:
-                return
-            param_vector, chi2, iter_count, f_count, g_count, h_count, 
warning = results
+                results = generic_minimise(func=model.func, args=(), 
x0=param_vector, min_algor=min_algor, min_options=min_options, 
func_tol=func_tol, grad_tol=grad_tol, maxiter=max_iterations, A=A, b=b, 
full_output=True, print_flag=verbosity)
+
+                # Unpack the results.
+                if results == None:
+                    return
+                param_vector, chi2, iter_count, f_count, g_count, h_count, 
warning = results
 
             # Scaling.
             if scaling:




Related Messages


Powered by MHonArc, Updated Thu Apr 04 16:40:01 2013