rbf psi 2

This commit is contained in:
Max Zwiessele 2014-02-21 08:03:44 +00:00
parent e03b828466
commit 8ea40a4a13
2 changed files with 2 additions and 2 deletions

View file

@ -85,7 +85,7 @@ class Param(ObservableArray, Constrainable, Gradcheckable, Indexable, Parentable
def gradient(self): def gradient(self):
if self._gradient_ is None: if self._gradient_ is None:
self._gradient_ = numpy.zeros(self._realshape_) self._gradient_ = numpy.zeros(self._realshape_)
return self._gradient_ return self._gradient_[self._current_slice_]
@gradient.setter @gradient.setter
def gradient(self, val): def gradient(self, val):
self.gradient[:] = val self.gradient[:] = val

View file

@ -177,7 +177,7 @@ class RBF(Kern):
tmp = self._psi1[:, :, None] / self.lengthscale2 / self._psi1_denom tmp = self._psi1[:, :, None] / self.lengthscale2 / self._psi1_denom
grad_mu = np.sum(dL_dpsi1[:, :, None] * tmp * self._psi1_dist, 1) grad_mu = np.sum(dL_dpsi1[:, :, None] * tmp * self._psi1_dist, 1)
grad_S = np.sum(dL_dpsi1[:, :, None] * 0.5 * tmp * (self._psi1_dist_sq - 1), 1) grad_S = np.sum(dL_dpsi1[:, :, None] * 0.5 * tmp * (self._psi1_dist_sq - 1), 1)
#psi2
tmp = self._psi2[:, :, :, None] / self.lengthscale2 / self._psi2_denom tmp = self._psi2[:, :, :, None] / self.lengthscale2 / self._psi2_denom
grad_mu += -2.*(dL_dpsi2[:, :, :, None] * tmp * self._psi2_mudist).sum(1).sum(1) grad_mu += -2.*(dL_dpsi2[:, :, :, None] * tmp * self._psi2_mudist).sum(1).sum(1)
grad_S += (dL_dpsi2[:, :, :, None] * tmp * (2.*self._psi2_mudist_sq - 1)).sum(1).sum(1) grad_S += (dL_dpsi2[:, :, :, None] * tmp * (2.*self._psi2_mudist_sq - 1)).sum(1).sum(1)