code: def est_entropy(self):
          r
          nz_weights = self.particle_weights[self.particle_weights > 0]
          return -np.sum(np.log(nz_weights) * nz_weights)
docs: r"""
          Estimates the entropy of the current particle distribution
          as :math:`-\sum_i w_i \log w_i` where :math:`\{w_i\}`
          is the set of particles with nonzero weight.