class_docstr: An MFGP for Euclidean spaces. 
class_docstr_tok: ["An","MFGP","for","Euclidean","spaces","."]
docstr: Constructor. ZZ, XX, YY are the fidelity points, domain points and labels
  respectively.
code: def __init__(
      self,
      ZZ,
      XX,
      YY,
      mf_kernel,
      kernel_scale,
      fidel_kernel,
      domain_kernel,
      mean_func,
      noise_var,
      *args,
      **kwargs,
  ):
      """Constructor. ZZ, XX, YY are the fidelity points, domain points and labels
      respectively.
      """
      if len(ZZ) != 0:
          self.fidel_dim = len(ZZ[0])
          self.domain_dim = len(XX[0])
      if fidel_kernel is not None and domain_kernel is not None:
          self.fidel_kernel = fidel_kernel
          self.domain_kernel = domain_kernel
          self.fidel_dim = fidel_kernel.dim
          self.domain_dim = domain_kernel.dim
      elif "fidel_dim" in kwargs and "domain_dim" in kwargs:
          self.fidel_dim = kwargs["fidel_dim"]
          self.domain_dim = kwargs["domain_dim"]
      else:
          raise Exception("Specify fidel_dim and domain_dim.")
      self.fidel_coords = list(range(self.fidel_dim))
      self.domain_coords = list(
          range(self.fidel_dim, self.fidel_dim + self.domain_dim)
      )
      if mf_kernel is None:
          mf_kernel = gp_kernel.CoordinateProductKernel(
              self.fidel_dim + self.domain_dim,
              kernel_scale,
              [fidel_kernel, domain_kernel],
              [self.fidel_coords, self.domain_coords],
          )
          # Otherwise, we assume mf_kernel is already an appropriate kernel
      super(EuclideanMFGP, self).__init__(
          ZZ, XX, YY, mf_kernel, mean_func, noise_var, *args, **kwargs
      )
  
imports: from __future__ import division
  from argparse import Namespace
  import numpy
  from .None import gp_core, mf_gp
  from .None import kernel
  from ..utils.ancillary_utils import get_list_of_floats_as_str
  from ..utils.general_utils import get_sublist_from_indices, map_to_bounds
  from ..utils.option_handler import get_option_specs, load_options
  from ..utils.oper_utils import random_sample_from_discrete_domain
  from ..utils.reporters import get_reporter
label_desc: Use image node_id 1 to create a new EuclideanMFGP object from inherited base classes: mf_gp with example: obj = EuclideanMFGP(ZZ, XX, YY, mf_kernel, kernel_scale, fidel_kernel, domain_kernel, mean_func, noise_var)