class_docstr: A multivariate t-distributed random variable.
  
  The `loc` parameter specifies the location. The `shape` parameter specifies
  the positive semidefinite shape matrix. The `df` parameter specifies the
  degrees of freedom.
  
  In addition to calling the methods below, the object itself may be called
  as a function to fix the location, shape matrix, and degrees of freedom
  parameters, returning a "frozen" multivariate t-distribution random.
  
  Methods
  -------
  ``pdf(x, loc=None, shape=1, df=1, allow_singular=False)``
      Probability density function.
  ``logpdf(x, loc=None, shape=1, df=1, allow_singular=False)``
      Log of the probability density function.
  ``rvs(loc=None, shape=1, df=1, size=1, random_state=None)``
      Draw random samples from a multivariate t-distribution.
  
  Parameters
  ----------
  x : array_like
      Quantiles, with the last axis of `x` denoting the components.
  %(_mvt_doc_default_callparams)s
  %(_doc_random_state)s
  
  Notes
  -----
  %(_mvt_doc_callparams_note)s
  The matrix `shape` must be a (symmetric) positive semidefinite matrix. The
  determinant and inverse of `shape` are computed as the pseudo-determinant
  and pseudo-inverse, respectively, so that `shape` does not need to have
  full rank.
  
  The probability density function for `multivariate_t` is
  
  .. math::
  
      f(x) = \frac{\Gamma(\nu + p)/2}{\Gamma(\nu/2)\nu^{p/2}\pi^{p/2}|\Sigma|^{1/2}}
             \exp\left[1 + \frac{1}{\nu} (\mathbf{x} - \boldsymbol{\mu})^{\top}
             \boldsymbol{\Sigma}^{-1}
             (\mathbf{x} - \boldsymbol{\mu}) \right]^{-(\nu + p)/2},
  
  where :math:`p` is the dimension of :math:`\mathbf{x}`,
  :math:`\boldsymbol{\mu}` is the :math:`p`-dimensional location,
  :math:`\boldsymbol{\Sigma}` the :math:`p \times p`-dimensional shape
  matrix, and :math:`\nu` is the degrees of freedom.
  
  .. versionadded:: 1.6.0
  
  Examples
  --------
  >>> import matplotlib.pyplot as plt
  >>> from scipy.stats import multivariate_t
  >>> x, y = np.mgrid[-1:3:.01, -2:1.5:.01]
  >>> pos = np.dstack((x, y))
  >>> rv = multivariate_t([1.0, -0.5], [[2.1, 0.3], [0.3, 1.5]], df=2)
  >>> fig, ax = plt.subplots(1, 1)
  >>> ax.set_aspect('equal')
  >>> plt.contourf(x, y, rv.pdf(pos))
docstr: Multivariate t-distribution probability density function.
  
  Parameters
  ----------
  x : array_like
      Points at which to evaluate the probability density function.
  %(_mvt_doc_default_callparams)s
  
  Returns
  -------
  pdf : Probability density function evaluated at `x`.
  
  Examples
  --------
  >>> from scipy.stats import multivariate_t
  >>> x = [0.4, 5]
  >>> loc = [0, 1]
  >>> shape = [[1, 0.1], [0.1, 1]]
  >>> df = 7
  >>> multivariate_t.pdf(x, loc, shape, df)
  array([0.00075713])
docstr_tok: ["Multivariate","t-distribution","probability","density","function",".","Parameters","--","--","--","--","--","x",":","array_like","Points","at","which","to","evaluate","the","probability","density","function",".","%","(","_mvt_doc_default_callparams",")","s","Returns","--","--","--","-","pdf",":","Probability","density","function","evaluated","at","`","x","`",".","Examples","--","--","--","--",">",">",">","from","scipy.stats","import","multivariate_t",">",">",">","x","=","[","0.4",",","5","]",">",">",">","loc","=","[","0",",","1","]",">",">",">","shape","=","[","[","1",",","0.1","]",",","[","0.1",",","1","]","]",">",">",">","df","=","7",">",">",">","multivariate_t.pdf","(","x",",","loc",",","shape",",","df",")","array","(","[","0.00075713","]",")"]
code: def pdf(self, x, loc=None, shape=1, df=1, allow_singular=False):
      """
      Multivariate t-distribution probability density function.
  
      Parameters
      ----------
      x : array_like
          Points at which to evaluate the probability density function.
      %(_mvt_doc_default_callparams)s
  
      Returns
      -------
      pdf : Probability density function evaluated at `x`.
  
      Examples
      --------
      >>> from scipy.stats import multivariate_t
      >>> x = [0.4, 5]
      >>> loc = [0, 1]
      >>> shape = [[1, 0.1], [0.1, 1]]
      >>> df = 7
      >>> multivariate_t.pdf(x, loc, shape, df)
      array([0.00075713])
  
      """
      dim, loc, shape, df = self._process_parameters(loc, shape, df)
      x = self._process_quantiles(x, dim)
      shape_info = _PSD(shape, allow_singular=allow_singular)
      logpdf = self._logpdf(
          x,
          loc,
          shape_info.U,
          shape_info.log_pdet,
          df,
          dim,
          shape_info.rank,
      )
      return np.exp(logpdf)
  
imports: import numpy
  import scipy.linalg
  from scipy._lib import doccer
  from scipy.special import gammaln
  from scipy._lib._util import check_random_state
  from scipy.stats import mvn
label_desc: Use image node_id 3 for calling the multivariate_t_gen obj's underlying member method code with example usage: obj.pdf(x, loc, shape, df, allow_singular) and returns: np