class_docstr: Base class for kernels derived from a combination of kernels.
  
  :param Kernel kern0: First kernel to combine.
  :param kern1: Second kernel to combine.
  :type kern1: Kernel or numbers.Number
code: def __init__(self, kern0, kern1):
      if not isinstance(kern0, Kernel):
          raise TypeError(
              "The first component of a combined kernel must be a "
              "Kernel instance."
          )
      if not (
          isinstance(kern1, Kernel) or isinstance(kern1, numbers.Number)
      ):
          raise TypeError(
              "The second component of a combined kernel must be a "
              "Kernel instance or a number."
          )
  
      active_dims = set(kern0.active_dims)
      if isinstance(kern1, Kernel):
          active_dims |= set(kern1.active_dims)
      active_dims = sorted(active_dims)
      input_dim = len(active_dims)
      super().__init__(input_dim, active_dims)
  
      self.kern0 = kern0
      self.kern1 = kern1
  
imports: import numbers
  from pyro.contrib.gp.parameterized import Parameterized
label_desc: Use image node_id 1 to create a new Combination object from inherited base classes: Kernel with example: obj = Combination(kern0, kern1)