True, I forgot this.

I made a note for myself.
http://wiki.nmr-relax.com/Epd_canopy#For_Linux

2014-08-26 14:59 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
> If you have a look at the 'sconstruct' script, specifically in the
> relax_fit() method, you will also see that you can set the
> PYTHON_INCLUDE_DIR environmental variable to where ever the
> corresponding Python.h file is.
>
> Regards,
>
> Edward
>
> On 26 August 2014 14:58, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
>> Hi,
>>
>> The problem is shown in the line:
>>
>> target_functions/relax_fit.c:21:20: error: Python.h: No such file or 
>> directory
>>
>> I.e. the Python headers cannot be found by the compiler.  How do you
>> compile this?  Do you use 'scons'?  Have you compiled the module
>> before?  Is the Python.h file in the directory
>> /sbinlab2/software/python-enthought-dis/canopy-1.4.0-full-rh5-64/Canopy_64bit/User/include/python2.7?
>>
>> Regards,
>>
>> Edward
>>
>>
>> On 26 August 2014 14:57, Troels Emtekær Linnet <tlin...@nmr-relax.com> wrote:
>>> I get this when I try to compile:
>>>
>>> gcc -o target_functions/c_chi2.os -c
>>> -I/sbinlab2/software/python-
>>> enthought-dis/canopy-1.4.0-full-rh5-64/Canopy_64bit/User/include/python2.7
>>> -fPIC target_functions/c_chi2.c
>>> gcc -o target_functions/exponential.os -c
>>> -I/sbinlab2/software/python-enthought-dis/canopy-1.4.0-full-rh5-64/Canopy_64bit/User/include/python2.7
>>> -fPIC target_functions/exponential.c
>>> gcc -o target_functions/relax_fit.os -c
>>> -I/sbinlab2/software/python-enthought-dis/canopy-1.4.0-full-rh5-64/Canopy_64bit/User/include/python2.7
>>> -fPIC target_functions/relax_fit.c
>>> target_functions/relax_fit.c:21:20: error: Python.h: No such file or 
>>> directory
>>> target_functions/relax_fit.c:31: error: expected '=', ',', ';', 'asm'
>>> or '__attribute__' before '*' token
>>> target_functions/relax_fit.c:80: error: expected '=', ',', ';', 'asm'
>>> or '__attribute__' before '*' token
>>> target_functions/relax_fit.c:118: error: expected '=', ',', ';', 'asm'
>>> or '__attribute__' before '*' token
>>> target_functions/relax_fit.c:168: error: expected '=', ',', ';', 'asm'
>>> or '__attribute__' before '*' token
>>> target_functions/relax_fit.c:179: error: expected '=', ',', ';', 'asm'
>>> or '__attribute__' before '*' token
>>> target_functions/relax_fit.c:196: error: expected '=', ',', ';', 'asm'
>>> or '__attribute__' before '*' token
>>> target_functions/relax_fit.c:244: error: expected '=', ',', ';', 'asm'
>>> or '__attribute__' before 'relax_fit_methods'
>>> target_functions/relax_fit.c: In function 'initrelax_fit':
>>> target_functions/relax_fit.c:305: error: 'relax_fit_methods'
>>> undeclared (first use in this function)
>>> target_functions/relax_fit.c:305: error: (Each undeclared identifier
>>> is reported only once
>>> target_functions/relax_fit.c:305: error: for each function it appears in.)
>>> scons: *** [target_functions/relax_fit.os] Error 1
>>> scons: building terminated because of errors.
>>>
>>> 2014-08-26 13:30 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>>> The minfx equivalent algorithms as scipy.optimize.fmin_cg() and
>>>> scipy.optimize.fmin_ncg(), as well as the other scipy.optimize
>>>> functions are now working with the exponential curve-fitting in relax
>>>> as the gradient is now implemented.  None of the Scipy algorithms
>>>> require the Hessian.  They really need to implement the Newton
>>>> optimisation technique to be taken seriously.  This is quite different
>>>> to NCG:
>>>>
>>>> http://home.gna.org/minfx/minfx.ncg-module.html
>>>> http://home.gna.org/minfx/minfx.newton-module.html
>>>>
>>>> Regards,
>>>>
>>>> Edward
>>>>
>>>>
>>>> On 26 August 2014 13:23,  <tlin...@nmr-relax.com> wrote:
>>>>> Author: tlinnet
>>>>> Date: Tue Aug 26 13:23:47 2014
>>>>> New Revision: 25287
>>>>>
>>>>> URL: http://svn.gna.org/viewcvs/relax?rev=25287&view=rev
>>>>> Log:
>>>>> Removed all code regarding scipy.optimize fmin_cg and fmin_ncg.
>>>>>
>>>>> This problem should soon be able to be solved with minfx.
>>>>>
>>>>> task #7822(https://gna.org/task/index.php?7822): Implement user function 
>>>>> to estimate R2eff and associated errors for exponential curve fitting.
>>>>>
>>>>> Modified:
>>>>>     trunk/specific_analyses/relax_disp/estimate_r2eff.py
>>>>>
>>>>> Modified: trunk/specific_analyses/relax_disp/estimate_r2eff.py
>>>>> URL: 
>>>>> http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/estimate_r2eff.py?rev=25287&r1=25286&r2=25287&view=diff
>>>>> ==============================================================================
>>>>> --- trunk/specific_analyses/relax_disp/estimate_r2eff.py        (original)
>>>>> +++ trunk/specific_analyses/relax_disp/estimate_r2eff.py        Tue Aug 
>>>>> 26 13:23:47 2014
>>>>> @@ -45,7 +45,7 @@
>>>>>  # Scipy installed.
>>>>>  if scipy_module:
>>>>>      # Import leastsq.
>>>>> -    from scipy.optimize import fmin_cg, fmin_ncg, leastsq
>>>>> +    from scipy.optimize import leastsq
>>>>>
>>>>>
>>>>>  class Exp:
>>>>> @@ -424,7 +424,6 @@
>>>>>
>>>>>  # 'minfx'
>>>>>  # 'scipy.optimize.leastsq'
>>>>> -# 'scipy.optimize.fmin_cg'
>>>>>  def estimate_r2eff(spin_id=None, ftol=1e-15, xtol=1e-15, 
>>>>> maxfev=10000000, factor=100.0, method='minfx', verbosity=1):
>>>>>      """Estimate r2eff and errors by exponential curve fitting with 
>>>>> scipy.optimize.leastsq.
>>>>>
>>>>> @@ -540,10 +539,6 @@
>>>>>                  # Acquire results.
>>>>>                  results = minimise_leastsq(E=E)
>>>>>
>>>>> -            elif method == 'scipy.optimize.fmin_cg':
>>>>> -                # Acquire results.
>>>>> -                results = minimise_fmin_cg(E=E)
>>>>> -
>>>>>              elif method == 'minfx':
>>>>>                  # Acquire results.
>>>>>                  results = minimise_minfx(E=E)
>>>>> @@ -715,46 +710,6 @@
>>>>>      return results
>>>>>
>>>>>
>>>>> -def minimise_fmin_cg(E=None):
>>>>> -    """Estimate r2eff and errors by exponential curve fitting with 
>>>>> scipy.optimize.fmin_cg.
>>>>> -
>>>>> -    Unconstrained minimization of a function using the Newton-CG method.
>>>>> -
>>>>> -    @keyword E:     The Exponential function class, which contain data 
>>>>> and functions.
>>>>> -    @type E:        class
>>>>> -    @return:        Packed list with optimised parameter, estimated 
>>>>> parameter error, chi2, iter_count, f_count, g_count, h_count, warning
>>>>> -    @rtype:         list
>>>>> -    """
>>>>> -
>>>>> -    # Check that scipy.optimize.leastsq is available.
>>>>> -    if not scipy_module:
>>>>> -        raise RelaxError("scipy module is not available.")
>>>>> -
>>>>> -    # Initial guess for minimisation. Solved by linear least squares.
>>>>> -    x0 = E.estimate_x0_exp()
>>>>> -
>>>>> -    # Define function to minimise. Use errors as weights in the 
>>>>> minimisation.
>>>>> -    use_weights = True
>>>>> -
>>>>> -    if use_weights:
>>>>> -        func = E.func_exp_weighted_general
>>>>> -        dfunc = E.func_exp_weighted_grad
>>>>> -        d2func = E.func_exp_weighted_hess
>>>>> -
>>>>> -    # There are no args to the function, since values and times are 
>>>>> stored in the class.
>>>>> -    args=()
>>>>> -
>>>>> -    gfk = dfunc(x0)
>>>>> -    deltak = numpy.dot(gfk, gfk)
>>>>> -
>>>>> -    # Cannot get this to work.
>>>>> -
>>>>> -    #xopt, fopt, fcalls, gcalls, hcalls, warnflag = fmin_ncg(f=func, 
>>>>> x0=x0, fprime=dfunc, fhess=None, args=args, avextol=1e-05, 
>>>>> epsilon=1.4901161193847656e-08, maxiter=maxfev, full_output=1, disp=1, 
>>>>> retall=0, callback=None)
>>>>> -    #test = fmin_ncg(f=func, x0=x0, fprime=dfunc, fhess=d2func, 
>>>>> args=args, avextol=1e-05, epsilon=1.4901161193847656e-08, maxiter=maxfev)
>>>>> -    #fmin_cg(f, x0, fprime=None, args=(), gtol=1e-5, norm=Inf, 
>>>>> epsilon=_epsilon, maxiter=None, full_output=0, disp=1, retall=0, 
>>>>> callback=None):
>>>>> -    #fmin_cg(f=func, x0=x0, fprime=dfunc, args=args, gtol=1e-5)
>>>>> -
>>>>> -
>>>>>  def minimise_minfx(E=None):
>>>>>      """Estimate r2eff and errors by minimising with minfx.
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> relax (http://www.nmr-relax.com)
>>>>>
>>>>> This is the relax-commits mailing list
>>>>> relax-comm...@gna.org
>>>>>
>>>>> 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
>>>>
>>>> _______________________________________________
>>>> relax (http://www.nmr-relax.com)
>>>>
>>>> This is the relax-devel mailing list
>>>> relax-devel@gna.org
>>>>
>>>> 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-devel

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel

Reply via email to