Commit 4af36f5f authored by Viktor Reshniak's avatar Viktor Reshniak
Browse files

fix hessian

parent c28436f2
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1179,10 +1179,10 @@ class Histogram(object):

					self.dloss_dfit = 1 - fit_data/self.fit

					dloss_dbkgr = [2*params[0]*self.dloss_dfit.sum()] #,0,0,0]
					dloss_dpeak = gaussian_peak.gradient(params[nbkgr:], fit_points, dloss_dfit=self.dloss_dfit)
					self.dloss_dbkgr = np.array([2*params[0]*self.dloss_dfit.sum()]) #,0,0,0]
					self.dloss_dpeak = gaussian_peak.gradient(params[nbkgr:], fit_points, dloss_dfit=self.dloss_dfit)

					return np.concatenate((dloss_dbkgr,dloss_dpeak))
					return np.concatenate((self.dloss_dbkgr,self.dloss_dpeak))

				def hessian(self, params, *args, **kwargs):
					self.hess_calls += 1
@@ -1198,6 +1198,9 @@ class Histogram(object):
					d2loss = np.zeros((len(params),len(params)))
					d2loss[:nbkgr,:nbkgr] = d2loss_dbkgr2
					d2loss[nbkgr:,nbkgr:] = d2loss_dpeak2
					d2loss[:nbkgr,nbkgr:] = 2*params[0] * (d2loss_dfit2.reshape((-1,1)) * gaussian_peak.dg).sum(axis=0)
					d2loss[nbkgr:,:nbkgr] = d2loss[:nbkgr,nbkgr:].T


					return d2loss
			# @MemoizeJacHess