def lbfgsb(self, **kws): """ use l-bfgs-b minimization """ self.prepare_fit() lb_kws = dict(factr=1000.0, approx_grad=True, m=20, maxfun=2000 * (self.nvarys + 1), # bounds = zip(self.vmin, self.vmax), ) lb_kws.update(self.kws) lb_kws.update(kws) xout, fout, info = scipy_lbfgsb(self.penalty, self.vars, **lb_kws) self.nfev = info['funcalls'] self.message = info['task'] self.chisqr = self.residual = self.__residual(xout) self.ndata = 1 self.nfree = 1 if isinstance(self.residual, ndarray): self.chisqr = (self.chisqr**2).sum() self.ndata = len(self.residual) self.nfree = self.ndata - self.nvarys self.redchi = self.chisqr/self.nfree self.unprepare_fit() return
def lbfgsb(self, **kws): """ Use l-bfgs-b minimization Parameters ---------- kws : dict Minimizer options to pass to the scipy.optimize.lbfgsb.fmin_l_bfgs_b function. """ self.prepare_fit() lb_kws = dict( factr=1000.0, approx_grad=True, m=20, maxfun=2000 * (self.nvarys + 1), ) lb_kws.update(self.kws) lb_kws.update(kws) xout, fout, info = scipy_lbfgsb(self.penalty, self.vars, **lb_kws) self.nfev = info['funcalls'] self.message = info['task'] self.chisqr = self.residual = self.__residual(xout) self.ndata = 1 self.nfree = 1 if isinstance(self.residual, ndarray): self.chisqr = (self.chisqr**2).sum() self.ndata = len(self.residual) self.nfree = self.ndata - self.nvarys self.redchi = self.chisqr / self.nfree self.unprepare_fit() return
def lbfgsb(self, **kws): """ Use l-bfgs-b minimization Parameters ---------- kws : dict Minimizer options to pass to the scipy.optimize.lbfgsb.fmin_l_bfgs_b function. """ self.prepare_fit() lb_kws = dict(factr=1000.0, approx_grad=True, m=20, maxfun=2000 * (self.nvarys + 1), ) lb_kws.update(self.kws) lb_kws.update(kws) xout, fout, info = scipy_lbfgsb(self.penalty, self.vars, **lb_kws) self.nfev = info['funcalls'] self.message = info['task'] self.chisqr = self.residual = self.__residual(xout) self.ndata = 1 self.nfree = 1 if isinstance(self.residual, ndarray): self.chisqr = (self.chisqr**2).sum() self.ndata = len(self.residual) self.nfree = self.ndata - self.nvarys self.redchi = self.chisqr/self.nfree self.unprepare_fit() return
def lbfgsb(self, **kws): """ use l-bfgs-b minimization """ self.prepare_fit() lb_kws = dict( factr=1000.0, approx_grad=True, m=20, maxfun=2000 * (self.nvarys + 1), # bounds = zip(self.vmin, self.vmax), ) lb_kws.update(self.kws) lb_kws.update(kws) xout, fout, info = scipy_lbfgsb(self.penalty, self.vars, **lb_kws) self.nfev = info['funcalls'] self.message = info['task'] self.chisqr = self.residual = self.__residual(xout) self.ndata = 1 self.nfree = 1 if isinstance(self.residual, ndarray): self.chisqr = (self.chisqr**2).sum() self.ndata = len(self.residual) self.nfree = self.ndata - self.nvarys self.redchi = self.chisqr / self.nfree self.unprepare_fit() return
def lbfgsb(self, **kws): """ use l-bfgs-b minimization """ self.prepare_fit() lb_kws = dict(factr=1000.0, approx_grad=True, m=20, maxfun = 2000 * (self.nvarys + 1), # bounds = zip(self.vmin, self.vmax), ) lb_kws.update(self.kws) lb_kws.update(kws) xout, fout, info = scipy_lbfgsb(self.penalty, self.vars, **lb_kws) self.nfev = info['funcalls'] self.message = info['task'] self.chisqr = (self.penalty(xout)**2).sum()