class_docstr: In its most common representation, a multivariate Gaussian distribution
  over X1, X2, ..., Xn is characterized by an n-dimensional mean vector μ,
  and a symmetric n x n covariance matrix Σ.
  
  This is the base class for its representation.
code: def __eq__(self, other):
      if not (
          isinstance(self, GaussianDistribution)
          and isinstance(self, GaussianDistribution)
      ):
          return False
  
      elif set(self.scope()) != set(other.scope()):
          return False
  
      else:
          # Computing transform_index to be able to easily have variables in same order.
          transform_index = [other.index(var) for var in self.variables]
  
          if not np.allclose(self.mean, other.mean[transform_index]):
              return False
          else:
              mid_cov = other.covariance[transform_index, :]
              transform_cov = mid_cov[:, transform_index]
              if not np.allclose(self.covariance, transform_cov):
                  return False
      return True
  
imports: import numpy
  from scipy.stats import multivariate_normal
  from pgmpy.factors.distributions import BaseDistribution
label_desc: Use image node_id 17 for calling the GaussianDistribution obj's underlying member method code with example usage: obj.__eq__(other) and returns: True, False, False, False, False