def dp(self, y, f, var, z): yz, fz = np.broadcast_arrays(y[z], f[:, z]) dp = np.zeros_like(f) dp[:, z] = self.gaus.dp(yz, fz, var) return dp