script/u_reader.py

Introduction

The purpose of this script is provide an easy-to-use interface to read in and analyze the output data of the quantum impurity solver components.

Type

Python module

APIs

class iqistReader(object):
    """ This class provide a few static methods which are used to extract
        the data from the ouput files of ctqmc impurity solvers and hfqmc
        impurity solver.
    """

    @staticmethod
    def get_green(norbs, ntime, fileName = None):
        """ try to read the solver.green.dat or solver.green.bin.nnn file
            to return the imaginary time Green's function G(\tau) data
        """

    @staticmethod
    def get_grn(norbs, mfreq, fileName = None):
        """ try to read the solver.grn.dat file to return the matsubara
            Green's function G(i\omega) data
        """

    @staticmethod
    def get_weiss(norbs, ntime, fileName = None):
        """ try to read the solver.weiss.dat file to return the imaginary
            time Weiss's function \mathcal{G}(\tau) data
        """

    @staticmethod
    def get_wss(norbs, mfreq, fileName = None):
        """ try to read the solver.wss.dat file to return the matsubara
            Weiss's function \mathcal{G}(i\omega) data
        """

    @staticmethod
    def get_hybri(norbs, ntime, fileName = None):
        """ try to read the solver.hybri.dat file to return the imaginary
            time hybridization function \Delta(\tau) data
        """

    @staticmethod
    def get_hyb(norbs, mfreq, fileName = None):
        """ try to read the solver.hyb.dat file to return the matsubara
            hybridization function \Delta(i\omega) data
        """

    @staticmethod
    def get_sgm(norbs, mfreq, fileName = None):
        """ try to read the solver.sgm.dat file to return the matsubara
            self-energy function \Sigma(i\omega) data
        """

    @staticmethod
    def get_hub(norbs, mfreq, fileName = None):
        """ try to read the solver.hub.dat file to return the matsubara
            Hubbard-I self-energy function \Sigma_{hub}(i\omega) data and
            Green's function data
        """

    @staticmethod
    def get_hist(mkink, fileName = None):
        """ try to read the solver.hist.dat file to return the histogram
            data for diagrammatic perturbation expansion
        """

    @staticmethod
    def get_prob(ncfgs, nsect = 0, fileName = None):
        """ try to read the solver.prob.dat file to return the atomic
            state probability P_{\Gamma} data
        """

    @staticmethod
    def get_nmat(norbs, fileName = None):
        """ try to read the solver.nmat.dat file to return the occupation
            number < N_i > and double occupation number < N_i N_j > data
        """

    @staticmethod
    def get_kmat(norbs, fileName = None):
        """ try to read the solver.kmat.dat file to return the required
            perturbation order data: < k > and < k^2 >
        """

    @staticmethod
    def get_lmat(norbs, fileName = None):
        """ try to read the solver.lmat.dat file to return the fidelity
            susceptibility data: < k_l >, < k_r >, and < k_l k_r >
        """

    @staticmethod
    def get_schi(nband, ntime, fileName = None):
        """ try to read the solver.schi.dat file to return the spin-spin
            correlation function < S_z(0) S_z(\tau) > data
        """

    @staticmethod
    def get_sfom(nband, nbfrq, fileName = None):
        """ try to read the solver.sfom.dat file to return the spin-spin
            correlation function data
        """

    @staticmethod
    def get_ochi(norbs, ntime, fileName = None):
        """ try to read the solver.ochi.dat file to return the orbital-
            orbital correlation function < N_i(0) N_j(\tau) > data
        """

    @staticmethod
    def get_ofom(norbs, nbfrq, fileName = None):
        """ try to read the solver.ofom.dat file to return the orbital-
            orbital correlation function data
        """

    @staticmethod
    def get_twop(norbs, nffrq, nbfrq, fileName = None):
        """ try to read the solver.twop.dat file to return the two-particle
            Green's function data
        """

    @staticmethod
    def get_vrtx(norbs, nffrq, nbfrq, fileName = None):
        """ try to read the solver.vrtx.dat file to return the two-particle
            Green's function data
        """

    @staticmethod
    def get_pair(norbs, nffrq, nbfrq, fileName = None):
        """ try to read the solver.pair.dat file to return the pair
            susceptibility data
        """

    @staticmethod
    def get_kernel(ntime, fileName = None):
        """ try to read the solver.kernel.dat file to return the screening
            function K(\tau) and its first derivates
        """

Examples

# import this module
from u_reader import *

# setup parameters
norbs = 2
ntime = 1024
mfreq = 8193

# read the data
(tmesh, gtau) = iqistReader.get_green(norbs, ntime)
(tmesh, gbin) = iqistReader.get_green(norbs, ntime, "solver.green.bin.10")
(rmesh, grnf) = iqistReader.get_grn(norbs, mfreq)
Note

You can not execute u_reader.py in the terminal or Python environment directly, like this:

$ python u_reader.py

Comment

N/A