Spectral function calculation with z-averaging and self-energy trick
Rok Zitko, July 2011


Here we use N_z=8 different discretization meshes (controlled by
the value of parameter z=n/N_z with n=1...N_z, where N_z is
best chosen as 2^m, m integer). The averaging is performed point
by point using a perl script "average.pl".

Note that compared to ex2, alpha has been reduced from 0.8 to 0.2
and we now explicitly define the mesh for saving spectral functions.

In addition, we compute higher-order spectral functions in order
to use the self-energy trick to reduce the overbroadening effects
even further (and, more importantly, get a better approximation
for the spectral function near the gap edges).


Resulting files:
A.dat - spectral function
F.dat - anomalous spectral function
B.dat - higher-order spectral function
E.dat - anomalous higher-order spectral function
*re.dat - these are the Kramers-Kronig transforms of the spectral functions
 (i.e., spectral functions are imaginary parts of Green's function and
  *re.dat files contain the corresponding real parts)


For the self-energy-trick calculation, a Mathematica notebook SC-wideband.nb
is provided. The atomic peaks at +-U/2 are narrowed and the structure near 
the gap edge is improved (but not completely, because of the difficulties
in dealing with the sub-gap delta peak near at 0.9 Delta). The particle-hole
symmetry is lost because the (approximate) higher-order spectral functions 
are not symmetric.
