made sympykern truly work in place

This commit is contained in:
James Hensman 2012-12-17 11:47:54 +00:00
parent aa4e1cc9c1
commit 7f8310216c

View file

@ -221,35 +221,28 @@ class spkern(kernpart):
def K(self,X,Z,target): def K(self,X,Z,target):
param = self._param param = self._param
weave.inline(self._K_code,arg_names=['target','X','Z','param'],**self.weave_kwargs) weave.inline(self._K_code,arg_names=['target','X','Z','param'],**self.weave_kwargs)
return target
def Kdiag(self,X,target): def Kdiag(self,X,target):
param = self._param param = self._param
weave.inline(self._Kdiag_code,arg_names=['target','X','param'],**self.weave_kwargs) weave.inline(self._Kdiag_code,arg_names=['target','X','param'],**self.weave_kwargs)
return target
def dK_dtheta(self,partial,X,Z,target): def dK_dtheta(self,partial,X,Z,target):
param = self._param param = self._param
weave.inline(self._dK_dtheta_code,arg_names=['target','X','Z','param','partial'],**self.weave_kwargs) weave.inline(self._dK_dtheta_code,arg_names=['target','X','Z','param','partial'],**self.weave_kwargs)
return target
def dKdiag_dtheta(self,partial,X,target): def dKdiag_dtheta(self,partial,X,target):
param = self._param param = self._param
Z = X Z = X
weave.inline(self._dKdiag_dtheta_code,arg_names=['target','X','Z','param','partial'],**self.weave_kwargs) weave.inline(self._dKdiag_dtheta_code,arg_names=['target','X','Z','param','partial'],**self.weave_kwargs)
return target
def dK_dX(self,partial,X,Z,target): def dK_dX(self,partial,X,Z,target):
target = np.zeros_like(X)
param = self._param param = self._param
weave.inline(self._dK_dX_code,arg_names=['target','X','Z','param','partial'],**self.weave_kwargs) weave.inline(self._dK_dX_code,arg_names=['target','X','Z','param','partial'],**self.weave_kwargs)
return target
def dKdiag_dX(self,partial,X,target): def dKdiag_dX(self,partial,X,target):
param = self._param param = self._param
Z = X Z = X
weave.inline(self._dKdiag_dX_code,arg_names=['target','X','Z','param','partial'],**self.weave_kwargs) weave.inline(self._dKdiag_dX_code,arg_names=['target','X','Z','param','partial'],**self.weave_kwargs)
return target
def set_param(self,param): def set_param(self,param):
#print param.flags['C_CONTIGUOUS'] #print param.flags['C_CONTIGUOUS']