Skip to content

Input parameters

Hiroshi Shinaoka edited this page May 29, 2016 · 20 revisions

Table of Contents

timelimit

The time (in seconds) which the program should run before exiting.

ALGORITHM

The algorithm used for evaluating the trace for the local Hilbert space. The default value is "complex-matrix", which is the complex-number version of the matrix algorithm. If all of the hopping matrix, the Coulomb tensor, the hybridization function are real, you can use "real-matrix", which is the real-number version of the matrix algorithm. In this implementation, we assume real numbers for internal floating-point operations, but the formats of input and output files are the same as those of the complex version.

N_TAU

This specifies the number of segments on the interval [0,beta] and the number of Matsubara frequencies used for input and output data. Note that the number of imaginary-time points is N_TAU+1. For instance, the imaginary-time points will be \tau=0, beta/2, beta for N_TAU=2.

BETA

Inverse temperature

SITES

The number of sites or orbitals in the impurity.

SPINS

The number of spins per site or orbital. The total number of "flavors" is SITES*SPINS.

F_INPUT_FILE

Text file containing F_{ij}(\tau). The file must have N_TAU+1 lines. Each line has five columns. The index j runs first. The imaginary-time index runs last. The imaginary part of F(\tau) should be zero when using the real-number solver.

1st column: the index of imaginary-time points (from 0 to N_TAU in increasing order),
2nd column: the flavor index i,
3rd column: the flavor index j,
4th column: real part of F,
5th column: imaginary part of F.

HOPPING_MATRIX_INPUT_FILE

Text file containing the hopping matrix (H_{ij}) within the impurity. The file must have FLAVORS*FLAVORS lines. Each line has four columns.

1st column: the flavor index i (from 0 to FLAVORS-1),
2nd column: the flavor index j (from 0 to FLAVORS-1),
3rd column: real part of hopping,
4th column: imaginary part of hopping.

The Hamiltonian reads H = \sum_{ij} H_{ij} c^\dagger_i c_j. The index j runs first.

U_TENSOR_INPUT_FILE

Text file containing the Coulomb tensor U_{ijkl} within the impurity. The Hamiltonian reads H = \sum_{ijkl} U_{ijkl} c^\dagger_i c^\dagger_j c_k c_l. One does not have to symmetrize the tensor. The Hamiltonian matrix is constructed following the above definition "literally". The users must make sure that the Coulomb tensor is hermite.
The first line specifies the number of non-zero elements in the Coulomb tensor. From the second line, each line must contain seven columns.

1st column: the index of non-zero elements in the tensor (from 0 in increasing order),
2nd column: the flavor index i (from 0 to FLAVORS-1),
3rd column: the flavor index j (from 0 to FLAVORS-1),
4th column: the flavor index k (from 0 to FLAVORS-1),
5th column: the flavor index l (from 0 to FLAVORS-1),
6th column: real part of U_{ijkl},
7th column: imaginary part of U_{ijkl}

For instance, a single-orbital single-site impurity model with onsite U=4 may be defined as

1
0 0 1 1 0 4.0 0.0

An alternative definition will be the following.

2
0 0 1 1 0 2.0 0.0
1 1 0 0 1 2.0 0.0

THERMALIZATION

The number of Monte Carlo steps for thermalization

SWEEPS

The number of total Monte Carlo steps.

SWAP_VECTOR

Definition of global updates in which the flavors of creation and annihilation operators are exchanged. This parameter is a string consisting of integers separated by spaces. The number of elements must be divisible by the number of flavors (FLAVORS). Each group consists of FLAVORS integers: the i-th element specifies to which flavor the flavor i is relabeled to.

Let us consider a three-orbital Hubbard-type impurity model.

Example 1: SWAP_VECTOR="1 0 2 3 4 5"

This is a definition of a spin-flip update for orbital 0.

Example 2: SWAP_VECTOR="4 5 0 1 2 3"

This relabels orbital 0, 1, 2 by 2, 0, 1, respectively.

Example 3: SWAP_VECTOR="1 0 2 3 4 5 4 5 0 1 2 3"

This defines the above two updates.

A global spin flip, which flips all the spins, is always defined irrespectively of the value of SWAP_VECTOR. All reverse processes are automatically generated to keep the balance condition of the Monte Carlo dynamics. For Example 2, the code will perform three updates:

  • the global spin flip
  • orbital 0->2, orbital 1->0, orbital 2->1
  • orbital 0->1, orbital 1->2, orbital 2->0

N_LEGENDRE_MEASUREMENT

The number of Legendre polynomials for measuring the single-particle Green's function. The default value is 100, which is a reasonable value for most of practical calculations. During a simulation, the coefficients of the Green's function are measured and accumulated. Once the simulation is done, G(\tau) and G(\omega) are evaluated from the coefficients of the Legendre polynomials. If you take a too large value for N_LEGENDRE_MEASUREMENT, G(\tau) may become so noisy.

N_TAU_TWO_TIME_CORRELATION_FUNCTIONS

Specifies the number of imaginary-time points on the interval [0,beta/2] for measuring two-time two-particle correlation functions

<c^\dagger_i(tau) c_j(tau) c^\dagger_k(0)c_l(0)>.

For instance, the imaginary-time points will be 0, beta/4, beta/2 for N_TAU_TWO_TIME_CORRELATION_FUNCTIONS=3. See also "TWO_TIME_CORRELATION_FUNCTIONS"

TWO_TIME_CORRELATION_FUNCTIONS

Specify which two-time two-particle correlation functions are measured. The first line is the number of correlation functions. From the second line, each line must contain five columns.

1st column: the index of correlation functions (from 0 in increasing order),
2nd column: the flavor index i,
3rd column: the flavor index j,
4th column: the flavor index k,
5th column: the flavor index l

Clone this wiki locally