From 4e793fe3a0c23e9e1b59b982ec7fd49b914ff927 Mon Sep 17 00:00:00 2001 From: mzwiessele Date: Mon, 28 Apr 2014 15:14:21 +0100 Subject: [PATCH] slicing: slicing now thorughs the right error --- GPy/kern/_src/add.py | 8 +++++++- GPy/kern/_src/kernel_slice_operations.py | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/GPy/kern/_src/add.py b/GPy/kern/_src/add.py index fb0e114b..88b8e40c 100644 --- a/GPy/kern/_src/add.py +++ b/GPy/kern/_src/add.py @@ -167,4 +167,10 @@ class Add(CombinationKernel): else: self.add_parameter(other) self.input_dim, self.active_dims = self.get_input_dim_active_dims(self.parts) - return self \ No newline at end of file + return self + + def input_sensitivity(self): + in_sen = np.zeros(self.input_dim) + for i, p in enumerate(self.parts): + in_sen[p.active_dims] += p.input_sensitivity() + return in_sen diff --git a/GPy/kern/_src/kernel_slice_operations.py b/GPy/kern/_src/kernel_slice_operations.py index 10dbacee..0a50fcc3 100644 --- a/GPy/kern/_src/kernel_slice_operations.py +++ b/GPy/kern/_src/kernel_slice_operations.py @@ -42,6 +42,7 @@ class _Slice_wrap(object): self.X2 = self.k._slice_X(X2) if X2 is not None else X2 self.ret = True else: + assert X.shape[1] == self.k.input_dim, "You did not specify active_dims and X has wrong shape: X_dim={} -- input_dim={}".format(X.shape[1], self.input_dim) self.X = X self.X2 = X2 self.ret = False