@Cache_this(limit=<NUM_LIT:3>, force_kwargs=['<STR_LIT>'])<EOL><INDENT>def K(self, X, X2=None, which_parts=None):<DEDENT>
if which_parts is None:<EOL><INDENT>which_parts = self.parts<EOL><DEDENT>elif not isinstance(which_parts, (list, tuple)):<EOL><INDENT>which_parts = [which_parts]<EOL><DEDENT>return reduce(np.add, (p.K(X, X2) for p in which_parts))<EOL>
Add all kernels together.
If a list of parts (of this kernel!) `which_parts` is given, only
the parts of the list are taken to compute the covariance.