def g11(k, E, sig, band, gap):
    """
    Return the complex electron removal portion of the Green's function in 
    the Nambu-Gorkov formalism:

                                  E - sig(E) + band(k)
        g11(k, E) = -------------------------------------------------
                     (E-sig(E))^2 - band(k)^2 - gap*(1-Re(sig(E))/E)

    *Parameters*
    ====  ======================================================================
    k     array of length 2; k vector (in-plane) at which to evaluate g11
    E     float; energy at which to evaluate g11
    sig   func; function that returns the complex self-energy at E
    band  func; function that returns the bare band at k
    gap   func; function that returns the superconducting gap at k
    ====  ======================================================================
    """
    sig_E = sig(E)
    re_sig = sig_E.real
    e_diff = E - sig_E
    band_k = band(k)
    nominator = e_diff + band_k
    denominator = e_diff ** 2 - band_k ** 2 - gap(k) * (1 - re_sig / E)
    return nominator / denominator
