docs: def effective_info(network):
      """Return the effective information of the given network.
  
      .. note::
          For details, see:
  
          Hoel, Erik P., Larissa Albantakis, and Giulio Tononi.
          “Quantifying causal emergence shows that macro can beat micro.”
          Proceedings of the
          National Academy of Sciences 110.49 (2013): 19790-19795.
  
          Available online: `doi: 10.1073/pnas.1314922110
          <http://www.pnas.org/content/110/49/19790.abstract>`_.
      """
      validate.is_network(network)
  
      sbs_tpm = convert.state_by_node2state_by_state(network.tpm)
      avg_repertoire = np.mean(sbs_tpm, 0)
  
      return np.mean([entropy(repertoire, avg_repertoire, 2.0)
                      for repertoire in sbs_tpm])