code: def _pdf(self, **kwargs):
          
          for p in self._params:
              if p not in kwargs.keys():
                  raise ValueError(
                              'Missing parameter {} to construct pdf.'.format(p))
          if kwargs in self:
              pdf = self._norm * \
                    numpy.prod([(kwargs[p])**(self.dim - 1)
                                for p in self._params])
              return float(pdf)
          else:
              return 0.0
docs: Returns the pdf at the given values. The keyword arguments must
          contain all of parameters in self's params. Unrecognized arguments are
          ignored.