Full Diagonalization

Introduction

The fulldiag package uses LAPACK library for a complete diagonalization of the Hamiltonian. Hence, it can be used for computing thermodynamic properties of any model that can be defined using the ALPS libraries. The main limitation is one of size, i.e., memory and CPU time may become unacceptable at sizes where other, more specialized applications still work well.

Release 1.3 allows the computation of magnetic or charge properties properties for models with a coupling to a conserved quantity of the form $-hS_z$ or $-\mu N$, i.e., a SITETERM $-h S_z(i)$ or $-\mu n(i)$. In fact, adaptation to other situations with a coupling to a conserved quantity should be relatively straightforward by changing a few lines in the source file fulldiag.h (this is just not supported at the moment, since it requires the modification of at least 5 strings by the user). If the conserved quantity is not present, two quantities less will be evaluated (see below).

Warning: Incorrect results may be obtained if the supposed conserved quantity does actually not commute with the Hamiltonian. Incorrect results will also in general be obtained if the coefficients are not of the above form, and the magnetic field $h$ or chemical potential $\mu$ are changed by fulldiag_evaluate.

Running a computation

is discussed in the fulldiag tutorial. After obtaining the full spectrum using the fulldiag program, the evaluation program fulldiag_evaluate can be used to efficiently produce XML plot files of the thermodynamic as well as magnetic properties, specified below.

Input parameters

The parameters for the fulldiag application are all described among the common input parameters (note in particular the additional parameters for exact diagonalization). The following further parameters are used only by fulldiag_evaluate:

ParameterDefaultMeaning
T_MINlowest temperature for which obervables are calculated
T_MAXhighest temperature for which obervables are calculated
DELTA_Ttemperature step width
couplecouple mu changes the coupling from the default $-h S_z$ to $-\ mu N$. It also changes the meaning of a few other parameters and quantities (see below).
H_MIN (MU_MIN)lowest magnetic field (chemical potential if –couple mu is specified) for which obervables are calculated
H_MAX (MU_MAX)highest magnetic field (chemical potential if –couple mu is specified) for which obervables are calculated
DELTA_H (DELTA_MU)magnetic field step width (chemical potential step width if –couple mu is specified)
versusversus h (versus mu if –couple mu is specified) puts the magnetic field (chemical potential) on the $x$-axis rather than temperature
MEASURE_MAGNETIC_PROPERTIES (MEASURE_CHARGE_PROPERTIES)1turns on (1) or off (0) the evaluation of magnetic (or charge) properties (see below). Recall that with the current version of fulldiag, such measurements are possible only for models with a conserved total $S_z$ or $N$. A corresponding CONSERVED_QUANTUMNUMBERS=… must also be specified in the parameters of fulldiag.
DENSITIES1specify whether to normalize quantities per site (1) or for the total system (0)

All these parameters can be overwritten by the command line argument with the same name.

Evaluation of thermodynamic properties

The fulldiag_evaluate program takes an XML output file of fulldiag,

fulldiag_evaluate [--T_MIN ...] [--T_MAX ...] [--DELTA_T ...]
    [--H_MIN ...] [--H_MAX ... ] [--DELTA_H ... ] [--versus h]
    [--DENSITIES ...] inputfile [outputfileprefix]</tt>

or

fulldiag_evaluate --couple mu [--T_MIN ...] [--T_MAX ...] [--DELTA_T ...]
    [--MU_MIN ...] [--MU_MAX ... ] [--DELTA_MU ...] [--versus mu]
    [--DENSITIES ...] inputfile [outputfileprefix]</tt>

Two optional ranges for temperature (T_MIN, T_MAX, DELTA_T) and magnetic field (H_MIN, H_MAX, DELTA_H) or chemical potential (MU_MIN, MU_MAX, DELTA_MU) can be specified. fulldiag_evaluate produces XML plot files (outputfileprefix.plot.energy.xml etc., where outputfileprefix is derived from the name of the inputfile if not specified) for the following quantities versus temperature:

  • Energy [Density]
  • Free Energy [Density]
  • Entropy [Density]
  • Specific Heat [Density]
  • Magnetization [Density] (if MEASURE_MAGNETIC_PROPERTIES=1, and without couple mu)
  • Uniform Susceptibility [Density] (if MEASURE_MAGNETIC_PROPERTIES=1, and without couple mu)
  • Particle number [Density] (if MEASURE_CHARGE_PROPERTIES=1, and with couple mu)
  • Compressibility [Density] (if MEASURE_CHARGE_PROPERTIES=1, and with couple mu)

Note that quantities are output as densities, i.e., normalized to the number of sites if the parameter DENSITIES=1, while output is for the total system if DENSITIES=0. By default, plots are produced with temperature on the $x$-axis. Use the argument –versus h (–versus mu) in order to obtain plots with magnetic field (chemical potential) on the $x$-axis

fulldiag stores information including eigenvalues and a result for the accessible physical quantities (measured for the total system). These are of interest mainly to specialists and, as we hope, self-explanatory if needed.

Contributors

The following persons have contributed to the fulldiag application:

  • Matthias Troyer
  • Andreas Honecker