/usr/share/pyshared/openopt/solvers/scipy_optim/scipy_ncg_oo.py is in python-openopt 0.38+svn1589-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from scipy.optimize import fmin_ncg
from openopt.kernel.ooMisc import isSolved
from openopt.kernel.baseSolver import baseSolver
class scipy_ncg(baseSolver):
__name__ = 'scipy_ncg'
__license__ = "BSD"
#__authors__ =
__alg__ = "Newton-CG"
__info__ = 'unconstrained NLP solver, can handle 2nd derivatives'
iterfcnConnected = True
def __init__(self):pass
def __solver__(self, p):
def iterfcn(x):
p.xk, p.fk = x, p.f(x)
p.iterfcn()
if p.istop: raise isSolved
if p.userProvided.d2f: fhess = p.d2f
else: fhess = None
xf = fmin_ncg(p.f, p.x0, p.df, fhess = fhess, maxiter = p.maxIter+15, disp = 0, callback=iterfcn)
ff = p.f(xf)
p.istop = 1000
p.xk = p.xf = xf
p.fk = p.ff = ff
|