class_docstr: Student's t-distribution.
  
  Parameters
  ----------
  mu
      Tensor containing the means, of shape `(*batch_shape, *event_shape)`.
  sigma
      Tensor containing the standard deviations, of shape
      `(*batch_shape, *event_shape)`.
  nu
      Nonnegative tensor containing the degrees of freedom of the
      distribution, of shape `(*batch_shape, *event_shape)`.
  F
code: def log_prob(self, x: Tensor) -> Tensor:
      mu, sigma, nu = self.mu, self.sigma, self.nu
      F = self.F
  
      nup1_half = (nu + 1.0) / 2.0
      part1 = 1.0 / nu * F.square((x - mu) / sigma)
      Z = (
          F.gammaln(nup1_half)
          - F.gammaln(nu / 2.0)
          - 0.5 * F.log(math.pi * nu)
          - F.log(sigma)
      )
  
      ll = Z - nup1_half * F.log1p(part1)
      return ll
  
imports: import math
  from typing import Dict, List, Optional, Tuple
  import numpy
  from gluonts.core.component import validated
  from gluonts.mx import Tensor
  from .distribution import Distribution, _sample_multiple, getF, nans_like, softplus
  from .distribution_output import DistributionOutput
label_desc: Use image node_id 8 for calling the StudentT obj's underlying member method code with example usage: obj.log_prob(x) and returns: ll