code: def optical_absorption_coeff(self):
          
          if self.dielectric_data["density"]:
              real_avg = [sum(self.dielectric_data["density"][1][i][0:3]) / 3
                          for i in range(len(self.dielectric_data["density"][0]))]
              imag_avg = [sum(self.dielectric_data["density"][2][i][0:3]) / 3
                          for i in range(len(self.dielectric_data["density"][0]))]
  
              def f(freq, real, imag):
                  """
                  The optical absorption coefficient calculated in terms of
                  equation
                  """
                  hbar = 6.582119514e-16  # eV/K
                  coeff = np.sqrt(
                      np.sqrt(real ** 2 + imag ** 2) - real) * \
                          np.sqrt(2) / hbar * freq
                  return coeff
  
              absorption_coeff = [f(freq, real, imag) for freq, real, imag in
                                  zip(self.dielectric_data["density"][0],
                                      real_avg, imag_avg)]
          return absorption_coeff
docs: Calculate the optical absorption coefficient
          from the dielectric constants. Note that this method is only
          implemented for optical properties calculated with GGA and BSE.
          Returns:
          optical absorption coefficient in list