docs: def normalize(self, inplace=True):
          """
          Normalizes the pdf of the continuous factor so that it integrates to
          1 over all the variables.
  
          Parameters
          ----------
          inplace: boolean
              If inplace=True it will modify the factor itself, else would return
              a new factor.
  
          Returns
          -------
          ContinuousFactor or None:
               if inplace=True (default) returns None
               if inplace=False returns a new ContinuousFactor instance.
  
          Examples
          --------
          >>> from pgmpy.factors.continuous import ContinuousFactor
          >>> from scipy.stats import multivariate_normal
          >>> std_normal_pdf = lambda x: 2 * multivariate_normal.pdf(x, [0, 0], [[1, 0], [0, 1]])
          >>> std_normal = ContinuousFactor(['x1', 'x2'], std_normal_pdf)
          >>> std_normal.assignment(1, 1)
          0.117099663049
          >>> std_normal.normalize()
          >>> std_normal.assignment(1, 1)
          0.0585498315243
  
          """
          phi = self if inplace else self.copy()
          phi.distriution = phi.distribution.normalize(inplace=False)
  
          if not inplace:
              return phi