code: def broaden_eps(dielectric, sigma):
      
      e = dielectric[0]
      diff = [e[i + 1] - e[i] for i in range(len(e) - 1)]
      diff_avg = sum(diff) / len(diff)
      real = [gaussian_filter1d(np.array(dielectric[1])[:, x], sigma / diff_avg)
              for x in range(6)]
      imag = [gaussian_filter1d(np.array(dielectric[2])[:, x], sigma / diff_avg)
              for x in range(6)]
  
      return (e, np.array(real).T, np.array(imag).T)
docs: Apply gaussian broadening to the dielectric response.
  
      Args:
          dielectric_data (tuple): The high-frequency dielectric data, following
              the same format as
              :attr:`pymatgen.io.vasp.outputs.Vasprun.dielectric`.
              This is a :obj:`tuple` containing the energy, the real part of the
              dielectric tensor, and the imaginary part of the tensor, as a
              :obj:`list` of :obj:`floats`. E.g.::
  
                  (
                      [energies],
                      [[real_xx, real_yy, real_zz, real_xy, real_yz, real_xz]],
                      [[imag_xx, imag_yy, imag_zz, imag_xy, imag_yz, imag_xz]]
                  )
  
          sigma (float): Standard deviation for gaussian broadening.
  
      Returns:
          :obj:`tuple` of :obj:`list` of :obj:`list` of :obj:`float`: The
          broadened dielectric response. Returned as a tuple containing the
          energy, the real part of the dielectric tensor, and the imaginary
          part of the tensor. E.g.::
  
              (
                  [energies],
                  [[real_xx, real_yy, real_zz, real_xy, real_yz, real_xz]],
                  [[imag_xx, imag_yy, imag_zz, imag_xy, imag_yz, imag_xz]]
              )