From 0abb9b835ffeb020410bdf9a1e0532139ffa5cfc Mon Sep 17 00:00:00 2001 From: mzwiessele Date: Tue, 16 Aug 2016 11:13:32 +0100 Subject: [PATCH] Revert "[kern] Add kernel was swallowing parts #fix #412" This reverts commit b8867f1552c05244dcd5ba38a7a57b6f1056312c. --- GPy/kern/src/add.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/GPy/kern/src/add.py b/GPy/kern/src/add.py index ca20e5a9..99fe809b 100644 --- a/GPy/kern/src/add.py +++ b/GPy/kern/src/add.py @@ -13,21 +13,15 @@ class Add(CombinationKernel): propagates gradients through. This kernel will take over the active dims of it's subkernels passed in. - - NOTE: The subkernels will be copies of the original kernels, to prevent - unexpected behavior. """ def __init__(self, subkerns, name='sum'): - _newkerns = [] - for kern in subkerns: + for i, kern in enumerate(subkerns[:]): if isinstance(kern, Add): - for part in kern.parts: + del subkerns[i] + for part in kern.parts[::-1]: #kern.unlink_parameter(part) - _newkerns.append(part.copy()) - else: - _newkerns.append(kern.copy()) - - super(Add, self).__init__(_newkerns, name) + subkerns.insert(i, part.copy()) + super(Add, self).__init__(subkerns, name) self._exact_psicomp = self._check_exact_psicomp() def _check_exact_psicomp(self):