class_docstr: Gumbel copula.
  
  Dependence is greater in the positive tail than in the negative.
  
  .. math::
  
      C_\theta(u,v) = \exp\!\left[ -\left( (-\log(u))^\theta +
      (-\log(v))^\theta \right)^{1/\theta} \right]
  
  with :math:`\theta\in[1,\infty)`.
class_docstr_tok: ["Gumbel","copula",".","Dependence","is","greater","in","the","positive","tail","than","in","the","negative",".","..","math",":",":","C_\\theta","(","u",",","v",")","=","\\exp\\","!","\\left","[","-\\left","(","(","-\\log","(","u",")",")","^\\theta","+","(","-\\log","(","v",")",")","^\\theta","\\right",")","^","{","1\/\\theta","}","\\right","]","with",":","math",":","`","\\theta\\in","[","1",",","\\infty",")","`","."]
code: def pdf(self, u, args=()):
      u = self._handle_u(u)
      (th,) = self._handle_args(args)
      if u.shape[-1] == 2:
          xy = -np.log(u)
          xy_theta = xy**th
  
          sum_xy_theta = np.sum(xy_theta, axis=-1)
          sum_xy_theta_theta = sum_xy_theta ** (1.0 / th)
  
          a = np.exp(-sum_xy_theta_theta)
          b = sum_xy_theta_theta + th - 1.0
          c = sum_xy_theta ** (1.0 / th - 2)
          d = np.prod(xy, axis=-1) ** (th - 1.0)
          e = np.prod(u, axis=-1) ** (-1.0)
  
          return a * b * c * d * e
      else:
          return super().pdf(u, args)
  
imports: import sys
  import numpy
  from scipy import stats, integrate, optimize
  from .None import transforms
  from .copulas import Copula
  from statsmodels.tools.rng_qrng import check_random_state
label_desc: Use image node_id 3 for calling the GumbelCopula obj's underlying member method code with example usage: obj.pdf(u, args) and returns: unknown, super