diff --git a/GPy/kern/_src/add.py b/GPy/kern/_src/add.py index cb73087e..7e707d30 100644 --- a/GPy/kern/_src/add.py +++ b/GPy/kern/_src/add.py @@ -172,7 +172,7 @@ class Add(CombinationKernel): def add(self, other, name='sum'): if isinstance(other, Add): - other_params = other._parameters_.copy() + other_params = other._parameters_[:] for p in other_params: other.remove_parameter(p) self.add_parameters(*other_params) diff --git a/GPy/testing/kernel_tests.py b/GPy/testing/kernel_tests.py index 3eef6768..2b98183e 100644 --- a/GPy/testing/kernel_tests.py +++ b/GPy/testing/kernel_tests.py @@ -240,6 +240,7 @@ class KernelGradientTestsContinuous(unittest.TestCase): def test_Add(self): k = GPy.kern.Matern32(2, active_dims=[2,3]) + GPy.kern.RBF(2, active_dims=[0,4]) + GPy.kern.Linear(self.D) + k += GPy.kern.Matern32(2, active_dims=[2,3]) + GPy.kern.RBF(2, active_dims=[0,4]) + GPy.kern.Linear(self.D) k.randomize() self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))