Jump to: navigation, search

Introduction to fulldiag

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

-h Sz ,     or     -μ N ,

i.e., a SITETERM -h*Sz(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 μ 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:

Parameter Default Meaning
T_MIN lowest temperature for which obervables are calculated
T_MAX highest temperature for which obervables are calculated
DELTA_T temperature step width
couple couple mu changes the coupling from the default -h Sz to -μ N. It also changes the meaning of a few other parameters and quantities (see below).
lowest magnetic field (chemical potential if --couple mu is specified) for which obervables are calculated
highest magnetic field (chemical potential if --couple mu is specified) for which obervables are calculated
magnetic field step width (chemical potential step width if --couple mu is specified)
versus versus h (versus mu if --couple mu is specified) puts the magnetic field (chemical potential) on the x-axis rather than temperature
1 turns 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 Sz or N. A corresponding CONSERVED_QUANTUMNUMBERS=... must also be specified in the parameters of fulldiag.
DENSITIES 1 specify 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>


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 ( 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)</td>
  • Compressibility [Density] (if MEASURE_CHARGE_PROPERTIES=1, and with couple mu)</td>

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.


The license allows the use of the applications for non-commercial scientific use provided that the use of the ALPS applications and libraries is acknowledged and referenced in any scientific publication, as discussed in this license file.

Questions and request for support

can be addressed to the ALPS user mailing list at We appreciate hearing your requests for additional features and also welcome any contributions to the ALPS project.


The following persons have contributed to the fulldiag application:

© 2002-2007 by Andreas Honecker and Matthias Troyer.