class_docstr: Frank copula.
  
  Dependence is symmetric.
  
  .. math::
  
      C_\theta(\mathbf{u}) = -\frac{1}{\theta} \log \left[ 1-
      \frac{ \prod_j (1-\exp(- \theta u_j)) }{ (1 - \exp(-\theta)-1)^{d -
      1} } \right]
  
  with :math:`\theta\in \mathbb{R}\backslash\{0\}, \mathbf{u} \in [0, 1]^d`.
class_docstr_tok: ["Frank","copula",".","Dependence","is","symmetric",".","..","math",":",":","C_\\theta","(","\\mathbf","{","u","}",")","=","-\\frac","{","1","}","{","\\theta","}","\\log","\\left","[","1-","\\frac","{","\\prod_j","(","1-\\exp","(","-","\\theta","u_j",")",")","}","{","(","1","-","\\exp","(","-\\theta",")","-1",")","^","{","d","-","1","}","}","\\right","]","with",":","math",":","`","\\theta\\in","\\mathbb","{","R","}","\\backslash\\","{","0\\","}",",","\\mathbf","{","u","}","\\in","[","0",",","1","]","^d","`","."]
code: def pdf(self, u, args=()):
      u = self._handle_u(u)
      (th,) = self._handle_args(args)
      if u.shape[-1] != 2:
          return super().pdf(u, th)
  
      g_ = np.exp(-th * np.sum(u, axis=-1)) - 1
      g1 = np.exp(-th) - 1
  
      num = -th * g1 * (1 + g_)
      aux = np.prod(np.exp(-th * u) - 1, axis=-1) + g1
      den = aux**2
      return num / den
  
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 FrankCopula obj's underlying member method code with example usage: obj.pdf(u, args) and returns: unknown, super