docs: def GPDC(self):
          """Generalized partial directed coherence.
  
          .. math:: \mathrm{GPDC}_{ij}(f) = \\frac{|A_{ij}(f)|}
          {\sigma_i \sqrt{A_{:j}'(f) \mathrm{diag}(\mathbf{C})^{-1} A_{:j}(f)}}
  
          References
          ----------
          L. Faes, S. Erla, G. Nollo. Measuring connectivity in linear
          multivariate processes: definitions, interpretation, and practical
          analysis. Comput. Math. Meth. Med. 2012: 140513, 2012.
          """
          A = self.A()
          tmp = A / np.sqrt(np.einsum('aj..., a..., aj..., ii... ->ij...',
                                      A.conj(), 1 / np.diag(self.c), A, self.c))
          return np.abs(tmp)