Ian Jauslin
3f0510629e
The update to version 1.5 is rather substantial, and introduces some minor backward-incompatibilities: * The header "#!symbols" has been replaced by "#!virtual_fields" * Multiplying polynomials using the '*' symbol is no longer supported (or, rather, the symbolic capabilities of meankondo were enhanced, and the syntax has been changed). * 'meantools exp' has been removed (its functionality is now handled by other means) * 'meantoolds derive' has been replaced by 'meantools differentiate' * The symbolic capabilities were enhanced: polynomials can now be multiplied, added, exponentiated, and their logarithms can be taken directly in the configuration file. * The flow equation can now be processed after being computed using the various "#!postprocess_*" entries. * Deprecated kondo_preprocess. * Compute the mean using an LU decomposition if possible. * More detailed checks for syntax errors in configuration file. * Check that different '#!group' entries are indeed uncorrelated. * New flags in meankondo: '-p' and '-A'. * New tool: meantools expand. * Improve conversion to LaTeX using meantools-convert * Assign terms randomly to different threads. * Created vim files to implement syntax highlighting for configuration files. * Multiple bug fixes
194 lines
6.1 KiB
Groff
194 lines
6.1 KiB
Groff
.Dd $Mdocdate: February 3 2016 $
|
|
.Dt kondo_preprocess 1.5
|
|
.Os
|
|
.Sh NAME
|
|
.Nm kondo_preprocess
|
|
.Nd A pre-processor to generate configuration files for
|
|
.Sy meankondo
|
|
for the Kondo model
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl d Ar dimension
|
|
.Op Ar config_file
|
|
.Pp
|
|
.Nm
|
|
.Fl v
|
|
.Sh DEPRECATION NOTICE
|
|
The use of
|
|
.Nm
|
|
is deprecated as of
|
|
.Sy meankondo
|
|
v1.5.
|
|
.Pp
|
|
Similar functionality can be obtained rather easily using the enhanced symbolic capabilities introduced in v1.5, which are more flexible than
|
|
.Nm .
|
|
.Pp
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
generates a configuration file to be read by
|
|
.Sy meankondo
|
|
for the Kondo model. It generates the '#!fields', '#!virtual_fields', '#!identities', '#!groups', '#!propagator', '#!input_polynomial' and '#!id_table' entries from special '#!propagator', '#!input_polynomial' and '#!id_table' entries, which are much more synthetic than those needed for the Kondo model.
|
|
.Pp
|
|
The quantities in the configuration file are expressed in terms of the observables A and B, which we do not define here, as well as the magnetic field h.
|
|
.Pp
|
|
.Nm
|
|
is part of a set of tools to compute and manipulate Fermionic hierarchical flows:
|
|
.Bl -bullet
|
|
.It
|
|
.Sy meankondo
|
|
: computes flow equations for hierarchical Fermionic models
|
|
.It
|
|
.Sy numkondo
|
|
: numerical evaluation of flow equations.
|
|
.It
|
|
.Sy meantools, meantools-convert
|
|
: perform various operations on flow equations (differentiation, products, sums, exponentials and logarithms of flow equations, evaluation and conversion to other formats).
|
|
.El
|
|
.Pp
|
|
.Sh COMMAND-LINE ARGUMENTS
|
|
.Bl -tag -width Ds
|
|
.It Fl d Ar dimension
|
|
The dimension of the field theory for the Kondo model (defaults to 2), including imaginary time (2 if the Fermionic chain is not neglected, 1 if it is). This parameter is used to determine how many boxes contribute to each scale in the hierarchical model: id the dimension is 2, then there are 4 boxes, whereas if it is 1, then there are 2.
|
|
.It Fl v
|
|
Print version information and exit.
|
|
.El
|
|
.Pp
|
|
.Sh CONFIGURATION FILE
|
|
.Nm
|
|
reads a configuration file, that can either be passed as a command line argument or to stdin, which specifies the model for which to compute the flow equation.
|
|
.Pp
|
|
A configuration file is a list of entries, separated by a '&' character, each of which has a title (or header), which is preceded by '#!'. Note that '#!' must be at the beginning of a line in order to be read correctly.
|
|
.Pp
|
|
Whenever the '#' character is encountered, the rest of the line is treated as a comment and ignored (unless it is followed by '!').
|
|
.Pp
|
|
As a general rule, spaces and line breaks in the entries of the configuration file are ignored, so they may be used at the user's discretion. The few entries that require that no extra line breaks be inserted are explicitly mentioned below.
|
|
.Pp
|
|
.Nm
|
|
recognizes the following entries (unless explicitly mentioned, the entries below are mandatory) (entries may be provided in any order) (any extra entries in the configuration file are ignored):
|
|
.Bl -tag -width Ds
|
|
.It Sy #!input_polynomial
|
|
The polynomial whose mean we wish to compute in order to calculate the flow equation.
|
|
.Pp
|
|
The format of the polynomial is similar to that in
|
|
.Sx meankondo Ns (1) ,
|
|
up to the following differences.
|
|
.Bl -bullet
|
|
.It
|
|
The fields can be specified as scalar products of A's and B's. For each n in {1,...,dimension},
|
|
.Nm
|
|
defines An and Bn, as well as virtual fields for scalar products of the form
|
|
.D1 [f An.An]
|
|
.D1 [f Bn.Bn]
|
|
.D1 [f An.Bn]
|
|
.D1 [f An.h]
|
|
.D1 [f Bn.h]
|
|
In addition, a vector product virtual field is defined for (AnxBn).h :
|
|
.D1 [f AnxBn.h]
|
|
.Pp
|
|
.It
|
|
In addition,
|
|
.Nm
|
|
defines external fields for A and B, denoted by a and b. They can be used as fields in the input polynomial using the syntax
|
|
.D1 <a.a>
|
|
.D1 <b.b>
|
|
.D1 <a.b>
|
|
.D1 <a.h>
|
|
.D1 <b.h>
|
|
.D1 <axb.h>
|
|
.Pp
|
|
.It
|
|
Scalar products of A's and B's may also be specified using the '<#.#>' syntax:
|
|
.D1 <An.An>
|
|
.D1 <Bn.Bn>
|
|
.D1 <An.Bn>
|
|
.D1 <An.h>
|
|
.D1 <Bn.h>
|
|
.Pp
|
|
The difference between '[f #.#]' and '<#.#>' is that the former corresponds to a '#!virtual_fields' entry whereas the latter is replaced by its corresponding polynomial when
|
|
.Nm
|
|
reads it (see
|
|
.Sx meankondo Ns (1)).
|
|
.Pp
|
|
.It
|
|
A vector 't=(t1,t2,t3)' of Pauli matrices (satisfying the Pauli commutation relations [ti,tj]=\\delta_{i,j}1+\\epsilon_{i,j,k}tk) is introduced as a non-commuting object. It can be used in scalar producs:
|
|
.D1 <An.t>
|
|
.D1 <Bn.t>
|
|
.D1 <t.h>
|
|
.D1 <a.t>
|
|
.D1 <b.t>
|
|
.Pp
|
|
Note that the '<#,#>' must be used since these scalar products do not commute whereas '#!virtual_fiields' entries must commute (see
|
|
.Sx meankondo Ns (1)).
|
|
.Pp
|
|
.It
|
|
Furthermore, in order to simplify writing products of polynomials over each box index, if the polynomial contains a '%', then
|
|
.Nm
|
|
multiplies the polynomial by itself as many times as there are boxes (2^dimension times), replacing '%' with the appropriate box index. For example, if dimension=1
|
|
.D1 '[fA%.A%]+[fB%.B%]'
|
|
is equivalent to
|
|
.D1 '[fA1.A1]+[fB1.B1] * [fA2.A2]+[fB2.B2]'.
|
|
.El
|
|
.Pp
|
|
Example:
|
|
.D1 (1) + (1/2)[l1][fA1.A1] + (1/2)[l2][fB1.h]
|
|
.D1 * (1) + (1/2)[l2][fA2.A2] +(1/2)[l2][fB2.h]
|
|
.Pp
|
|
.It Sy #!id_table
|
|
The idtable used to identify the running coupling constants.
|
|
.Pp
|
|
The idtable has the same syntax as that in
|
|
.Sx meankondo Ns (1) ,
|
|
in which the polynomial can use the fields
|
|
.D1 <a.a>
|
|
.D1 <b.b>
|
|
.D1 <a.b>
|
|
.D1 <a.h>
|
|
.D1 <b.h>
|
|
.D1 <axb.h>
|
|
.D1 <t.h>
|
|
.D1 <a.t>
|
|
.D1 <b.t>
|
|
defined above.
|
|
.Pp
|
|
Example:
|
|
.D1 1:(1/2)<a.a>, 2:(2)<b.h>
|
|
.Pp
|
|
.It Sy #!propagator
|
|
The propagator of the model.
|
|
.Pp
|
|
The propagator syntax differs from
|
|
.Sx meankondo Ns (1) ,
|
|
in that the field indices are specified using An and Bn.
|
|
.Pp
|
|
Example:
|
|
.D1 A1;A2: 1 , A2;A1: -1 , B1;B2: s{-1} , B2;B1: (-1)s{-1}
|
|
.Pp
|
|
.It Sy extra entries
|
|
If there is a '#!virtual_fields' or an '#!identities' entry in the configuration file, then they are appended to the end of those entries in the new configuration file.
|
|
.Pp
|
|
Any other entry is appended to the new configuration file. This can be useful to pipe the output to tools other than
|
|
.Sy meankondo
|
|
(e.g.
|
|
.Sy meantools ) .
|
|
.Pp
|
|
.Sh OUTPUT
|
|
.Nm
|
|
prints the configuration file to stdout.
|
|
.Pp
|
|
The output of
|
|
.Nm
|
|
can be piped into
|
|
.Sy meankondo
|
|
directly.
|
|
.Pp
|
|
.Sh RETURN CODE
|
|
.Nm
|
|
returns 0 on success and -1 on error.
|
|
.Pp
|
|
.Sh SEE ALSO
|
|
.Sx meankondo Ns (1) ,
|
|
.Sx numkondo Ns (1) ,
|
|
.Sx meantools Ns (1) ,
|
|
.Sx meantools-convert Ns (1)
|
|
.Pp
|