URL: <http://gna.org/bugs/?13495> Summary: Global optimisation (diffusion tensor + model-free models) failures. Project: relax Submitted by: bugman Submitted on: Thursday 05/07/2009 at 14:51 Category: relax's source code Severity: 2 - Minor Priority: 1 - Later Status: Postponed Privacy: Public Assigned to: None Originator Name: Originator Email: Open/Closed: Open Discussion Lock: Any Release: Repository: 1.3 line Operating System: All systems _______________________________________________________ Details: This problem may be related to relax, or maybe minfx (https://gna.org/projects/minfx/). It appears when using low quality data, but the exact cause is unknown. Using the full_analysis.py script at the 1st round for ellipsoidal diffusion, the global optimisation (diffusion tensor + model-free models) fails. The number of iterations of the Method of Multipliers was high, at k = 84, and the following traceback was produced: Traceback (most recent call last): File "/home/prakti1/bin/relax", line 418, in <module> Relax() File "/home/prakti1/bin/relax", line 127, in __init__ self.interpreter.run(self.script_file) File "/home/nfs_home/prakti1/relax-1.3/prompt/interpreter.py", line 273, in run return run_script(intro=self.__intro_string, local=self.local, script_file=script_file, quit=self.__quit_flag, show_script=self.__show_script, raise_relax_error=self.__raise_relax_error) File "/home/nfs_home/prakti1/relax-1.3/prompt/interpreter.py", line 534, in run_script return console.interact(intro, local, script_file, quit, show_script=show_script, raise_relax_error=raise_relax_error) File "/home/nfs_home/prakti1/relax-1.3/prompt/interpreter.py", line 430, in interact_script execfile(script_file, local) File "full_analysis_ellipsoid.py", line 648, in <module> Main(self.relax) File "full_analysis_ellipsoid.py", line 281, in __init__ minimise(MIN_ALGOR) File "/home/nfs_home/prakti1/relax-1.3/prompt/minimisation.py", line 362, in minimise minimise.minimise(min_algor=min_algor, min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iterations, constraints=constraints, scaling=scaling, verbosity=verbosity) File "/home/nfs_home/prakti1/relax-1.3/generic_fns/minimise.py", line 239, in minimise minimise(min_algor=min_algor, min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iterations, constraints=constraints, scaling=scaling, verbosity=verbosity) File "/home/nfs_home/prakti1/relax-1.3/specific_fns/model_free/mf_minimise.py", line 987, in minimise results = generic_minimise(func=self.mf.func, dfunc=self.mf.dfunc, d2func=self.mf.d2func, 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=1, print_flag=verbosity) File "/usr/lib/python2.5/site-packages/minfx/generic.py", line 412, in generic_minimise results = method_of_multipliers(func=func, dfunc=dfunc, d2func=d2func, args=args, x0=x0, min_options=min_options, A=A, b=b, l=l, u=u, c=c, dc=dc, d2c=d2c, func_tol=func_tol, grad_tol=grad_tol, maxiter=maxiter, full_output=full_output, print_flag=print_flag) File "/usr/lib/python2.5/site-packages/minfx/method_of_multipliers.py", line 143, in method_of_multipliers results = min.minimise() File "/usr/lib/python2.5/site-packages/minfx/method_of_multipliers.py", line 403, in minimise results = self.generic_minimise(func=self.func_LA, dfunc=self.func_dLA, d2func=self.func_d2LA, args=self.args, x0=self.xk, min_algor=self.min_algor, min_options=self.min_options, func_tol=None, grad_tol=self.tk, maxiter=maxiter, full_output=1, print_flag=sub_print_flag, print_prefix="\t") File "/usr/lib/python2.5/site-packages/minfx/generic.py", line 343, in generic_minimise results = newton(func=func, dfunc=dfunc, d2func=d2func, args=args, x0=x0, min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, maxiter=maxiter, full_output=full_output, print_flag=print_flag, print_prefix=print_prefix) File "/usr/lib/python2.5/site-packages/minfx/newton.py", line 44, in newton results = min.minimise() File "/usr/lib/python2.5/site-packages/minfx/base_classes.py", line 233, in minimise self.new_param_func() File "/usr/lib/python2.5/site-packages/minfx/newton.py", line 166, in new_param_func self.line_search() File "/usr/lib/python2.5/site-packages/minfx/base_classes.py", line 339, in backline self.alpha, fc = backtrack(self.func, self.args, self.xk, self.fk, self.dfk, self.pk, a_init=self.a0) TypeError: 'NoneType' object is not iterable This can also be manifested as in another calculation: Entering sub-algorithm. Newton minimisation ~~~~~~~~~~~~~~~~~~~ Line search: Backtracking line search. Hessian modification: The Gill, Murray, and Wright modified Cholesky algorithm. k: 0 xk: array([ 2.17662440e+003, 1.44710895e+001, 1.65376556e+000, 2.41233697e+000, 2.24669487e+000, 1.31986242e+000, 1.46930548e+000, 6.56681102e+002, 5.62750293e+000, -2.63968527e-003, 9.54183249e-002, 9.74136389e+000, 1.02472797e+001, 1.04623403e+001, 4.24968647e+000, 1.06635164e+001, 1.09780711e+000, 5.13404062e+002, 1.22515943e+001, 1.08250923e+001, 1.11921181e+001, 1.13681012e+001, 1.15991176e+001, 1.18902213e+001, -4.13005850e-010, 1.72190205e-008, 1.41995273e+001, 1.00041549e+000, 1.04448474e+001, 1.50481160e-001, -5.82101417e-004, 9.93905068e+000, 1.13403676e+000, 2.63071040e+002, 1.02361083e+001, 1.17166354e+000, 9.77679448e+000, 1.20233012e+000, 1.71947013e+001, 1.09310769e+001, 1.46729878e+000, 9.12608861e+002, 9.71411844e+000, -1.64656184e-004, 4.74870623e-003, 1.22081302e+001, 2.38866662e-012, -7.28214745e-011, 1.09673544e+001, -1.43808068e-009, 4.46753417e-008, 1.26703772e+001, 1.13255151e+001, 3.09984216e-112, 3.38022725e-101, 1.24265254e+001, 1.58315372e-010, -4.94381770e-009, 1.13298546e+001, 1.15163864e+001, 1.24152516e+001, -3.05188515e-003, 9.47591667e-002, 1.30407519e+001, 1.67146472e+000, 3.64187130e+002, 1.05675919e+001, 1.00779933e+000, 1.08434130e+000, 1.25774726e+003, 1.14850359e+001, -2.70021149e-003, 9.96735643e-002, 9.58491767e+000, -3.69317123e-003, 9.96394244e-002, 1.03383006e+001, 1.09375786e+001, 9.39265520e-001, 6.98318292e-002, 1.17717420e+001, -2.98638984e-003, 9.41663821e-002, 1.18660304e+001, 1.77508218e+000, 6.46394179e+002, 1.00332947e+001, 1.05528779e+000, 1.13637717e+001, 1.06109867e+000, 7.04690167e+001, 1.03393653e+001, 1.00712482e+000, 6.96349273e+000, 1.24050750e+000, 2.90261670e+002, 9.88367615e+000, 9.78610846e+000, 9.62294469e-001, 9.64463484e-001, 4.06203017e+003, 1.05269760e+001, 1.02184195e+000, 8.03371056e+000, 1.06931727e+001, 1.13996521e+000, 1.38220523e+002, 1.01874731e+001, -2.93093611e-003, 9.55837219e-002, 1.27028606e+001, 1.00793663e+000, 2.90233390e+000, 1.17931595e+001, 1.72244901e-004, -4.34977469e-003, 1.50281761e+001, 1.03383291e+000, 1.60879995e+002, 9.71691317e-001, 2.32822107e+002, 1.28558569e+001, -8.06776351e-006, 2.33527949e-004, 1.18279883e+001]) fk: 3.92671786027e+32 k: 100 xk: array([ NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN]) fk: nan _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?13495> _______________________________________________ Message sent via/by Gna! http://gna.org/