4.2.3. ModPara file

This file determines the parameters for calculation. The file format is as follows.
--------------------
Model_Parameters   0
--------------------
VMC_Cal_Parameters
--------------------
CDataFileHead  zvo
CParaFileHead  zqp
--------------------
Nsite          16
Ncond          16
2Sz            0
Lanczos_max    1000
initial_iv     12
exct           1
LanczosEps     14
LanczosTarget  2
LargeValue     12
NumAve         5
ExpecInterval  20

File format

  • Lines 1-4: Header

  • Line 6: [string01] [string02]

  • Lines 7-8: Header

  • Lines 9- : [string01] [int01].

Parameters

  • [string01]

    Type : String

    Description : Select a word from keywords.

  • [string02]

    Type : String (a blank parameter is not allowed)

    Description : Set a header for output files.

  • [int01]

    Type : Int (a blank parameter is not allowed)

    Description : A parameter that is correlated with a keyword.

Use rules

  • From Line 9: After setting keywords at [string 01], a half-width blank is needed for setting a parameter

  • All the parameters are needed and the order for the parameters is fixed

Keywords and parameters

In the following, common parameters and parameters for each method are shown.

Common parameters

  • CDataFileHead

    Type : String (a blank parameter is not allowed)

    Description : A header for output files. For example, the output filename for one-body Green’s function becomes “xxx_Lanczos_cisajs.dat” (xxx are the characters set by CDataFileHead).

  • Nsite

    Type : Int (positive integer)

    Description : The number of sites.

  • Ncond

    Type : Int (positive integer)

    Description : The number of conduction electrons (not used in grand canonical ensemble).

  • 2Sz

    Type : Int (positive integer)

    Description : The total value of \(2S_z\) (not used in grand canonical ensemble). For conservation of \(S_z\) in the case of CalcModel = 0 (fermion Hubbard model) or 2 (Kondo lattice model), set Ncond.

  • initial_iv

    Type : Int

    Description : An initial vector is specified with this parameter.

    • Lanczos method

      • For canonical ensemble and initial_iv \(\geq 0\)

        The non-zero components of an initial vector are specified with this parameter.

      • For grand canonical ensemble or initial_iv \(< 0\)

        The seed of the random generator is given by this parameter and the random vector is used as the initial vector.

    • TPQ method

      The seed of the random generator is given by this parameter and the random vector is used as the initial vector.

    See Algorithm for details of setting an initial vector.

  • CalcHS

    Type : Int (positive integer)

    Description : If CalcHS=1, an efficient algorithm for generating the restricted Hilbert space with the specified quantum number is used (Details of algorithm is shown in http://www.pasums.issp.u-tokyo.ac.jp/wp-content/themes/HPhi/media/develop/tips.pdf [in Japanese]). Default value is 1 and the efficient algorithm is used.

Lanczos method

  • Lanczos_max

    Type : Int (positive integer)

    Description : The maximum number of Lanczos steps in the calculation. When the convergence within the specified accuracy is satisfied, the calculation is completed before a step reaches Lanczos_max. In the case of restart calculation, Lanczos_max must be larger than that of the previous calculation.

  • exct

    Type : Int (positive integer)

    Description : An integer for setting the number of eigenvectors obtained from the ground energy by the Lanczos method.

  • LanczosEps

    Type : Int (positive integer)

    Description : An integer for judging the convergence of the Lanczos method. The convergence is determined by whether the condition is satisfied that the relative error between an eigenvalue and an eigenvalue at the Lanczos step of the one step before is less than \(10^{- \verb|LanczosEps|}\).

  • LanczosTarget

    Type : Int (positive integer)

    Description : An integer giving the target of the eigenvalue for judging the convergence of the Lanczos method. For example, the target becomes a ground state when LanczosTarget is equal to one, and a first excited state when LanczosTarget is equal to two.

CG method

  • exct

    Type : Int (positive integer)

    Description : The number of eigenvectors is specified.

  • Lanczos_max

    Type : Int (positive integer)

    Description : The maximum number of iteration steps in the calculation. When the convergence within the specified accuracy is satisfied, the calculation is completed before a step reaches Lanczos_max. In the case of restart calculation, Lanczos_max must be larger than that of the previous calculation.

  • LanczosEps

    Type : Int (positive integer)

    Description : For method="CG", the calculation finishes when the 2-norm of the residual vector becomes smaller than \(10^{- \verb|LanczosEps|/2}\).

TPQ (mTPQ/cTPQ) method

  • Lanczos_max

    Type : Int (positive integer)

    Description : The total number of TPQ steps is specified with this parameter. In the case of restart calculation, Lanczos_max must be larger than that of the previous calculation.

  • LargeValue

    Type : Double

    Description : An integer giving \(l\) of \(l-{\mathcal H}/N_{s}\) used in the mTPQ method. In the cTPQ method, \(l\) is used as the width of the imaginary-time evolution, i.e., \(\Delta\tau=1/l\). See Algorithm for the details of the cTPQ method.

  • NumAve

    Type : Int

    Description : An integer giving the number of independent runs for the TPQ method.

  • ExpecInterval

    Type : Int

    Description : An integer giving the interval steps of calculating the correlation functions in the TPQ method.
    Note: A small interval increases the time cost of calculations.
  • ExpandCoef

    Type : Int (positive integer)

    Description : An integer giving the expansion order \(n_{\rm max}\) for cTPQ method;

    (4.5)\[U(\Delta\tau) = \sum_{n=0}^{n_{\rm max}}\frac{1}{n!}\left(-\frac{\Delta\tau}{2}\mathcal{H}\right)^n .\]

    See Algorithm for the details of the cTPQ method.

Calculating dynamical Green’s functions

  • OmegaOrg

    Type : Complex

    Description : The center value of the frequency. Specify the real and imaginary parts in that order separated by a space, and if there is no imaginary part, the real part of the frequency is only given.

  • OmegaIm

    Type : Double

    Description : The imaginary part of the frequency. When OmegaOrg is defined in a modpara file, OmegaIm is added to the imaginary value of OmegaOrg.

  • OmegaMin

    Type : Complex

    Description : The lower limit of the frequency from OmegaOrg. Specify the real and imaginary parts in that order separated by a space, and if there is no imaginary part, the real part of the frequency is only given.

  • OmegaMax

    Type : Complex

    Description : The upper limit of the frequency from OmegaOrg. Specify the real and imaginary parts in that order separated by a space, and if there is no imaginary part, a real part of the frequency is only given.

  • NOmega

    Type : Int

    Description : The integer for defining the step size of the frequency \(\Delta \omega = (\) OmegaMax - OmegaMin \()/N_{\omega}\). The frequency is given by \(z_n=\) OmegaOrg\(+\)OmegaMin\(+ \Delta \omega \times n\).

Real time evolution method

  • Lanczos_max

    Type : Int (positive integer)

    Description : The total number of real time evolution steps is specified with this parameter. In the case of restart calculation, Lanczos_max must be larger than that of the previous calculation.

  • ExpandCoef

    Type : Int (positive integer)

    Description : An integer giving the expansion order \(n\) for real-time evolution method;

    (4.6)\[\exp\left(-i \mathcal{H} \Delta t \right) = \sum_{i=0}^{N}\frac{1}{n!}\left(-i \mathcal{H} \Delta t \right)^n.\]
  • ExpecInterval

    Type : Int (positive integer)

    Description : An integer giving the interval steps of calculating the correlation functions.
    Note: A small interval increases the time cost of calculations.
  • OutputInterval

    Type : Int (positive integer)

    Description : An integer giving the interval steps of output the wave function.
    The wave vector is output when OutputEigenVec=1 in CalcMod file.