def METHOD_NAME(self):
    # Init G given H
    g =  GfImFreq(indices = [0,1], beta = 1, n_points = 1000)
    H = np.array([[0.0, 0.5],[0.5, 1.0]])
    g << iOmega_n - H + inverse(iOmega_n + 2)
    g.invert()
    # Extract H through tail-fit
    C = g.copy()
    C << inverse(g) - iOmega_n
    tail, err = fit_hermitian_tail(C)
    error_H = np.max(np.abs(tail[0] + H))
    # print error_H
    self.assertLess(error_H, 1e-10)
    # Extract Delta(tau) and check imaginary part
    d = C.copy()
    d << C - tail[0]
    tail[0] = 0.
    tau_mesh = MeshImTime(beta = 1, S = "Fermion", n_tau = 2001)
    dt = make_gf_from_fourier(d, tau_mesh, tail)
    max_im = np.max(np.abs(dt.data.imag))
    # print "Imag Delta", max_im
    self.assertLess(max_im, 2e-12)
    # Check Delta(iw) extracted through triqs.gf.tools.delta
    D_exact = g.copy()
    D_exact << -1.0 * inverse(iOmega_n + 2)
    D = delta(g)
    max_diff = np.max(np.abs(D.data - D_exact.data))
    # print "Diff Delta Extraction", max_diff
    self.assertLess(max_diff, 1e-10)