hhtop/man/hhtop.1
2016-05-24 13:39:23 +00:00

162 lines
4.0 KiB
Groff

.Dd $Mdocdate: May 20 2016 $
.Dt hhtop 1.0
.Os
.Sh NAME
.Nm hhtop
.Nd A tool to compute the renormalization of various quantities in the Haldane-Hubbard model
.Sh SYNOPSIS
.Nm
.Sy phase
.Op Fl p Ar params
.Op Fl v
.Op Fl O Ar order
.Op Fl t Ar tolerance
.Op Fl N Ar maxiter
.Op Fl P Ar precision
.Op Fl E Ar emax
.Pp
.Nm
.Sy z1-z2
.Op Fl p Ar params
.Op Fl v
.Op Fl O Ar order
.Op Fl t Ar tolerance
.Op Fl N Ar maxiter
.Op Fl P Ar precision
.Op Fl E Ar emax
.Op Fl C Ar threads
.Pp
.Nm
.Sy z1+z2
.Op Fl p Ar params
.Op Fl v
.Op Fl O Ar order
.Op Fl t Ar tolerance
.Op Fl N Ar maxiter
.Op Fl P Ar precision
.Op Fl E Ar emax
.Op Fl C Ar threads
.Pp
.Pp
.Nm
.Fl D
.Sy phase
.Op Fl p Ar params
.Op Fl v
.Op Fl O Ar order
.Op Fl t Ar tolerance
.Op Fl N Ar maxiter
.Pp
.Nm
.Fl D
.Sy z1-z2
.Op Fl p Ar params
.Op Fl v
.Op Fl O Ar order
.Op Fl t Ar tolerance
.Op Fl N Ar maxiter
.Op Fl C Ar threads
.Pp
.Nm
.Fl D
.Sy z1+z2
.Op Fl p Ar params
.Op Fl v
.Op Fl O Ar order
.Op Fl t Ar tolerance
.Op Fl N Ar maxiter
.Op Fl C Ar threads
.Pp
.Pp
.Nm
.Fl V
.Op Fl v
.Pp
.Sh DESCRIPTION
.Nm
can carry out several computations, depending on the arguments provided on the command-line.
.Bl -tag -width Ds
.It Sy phase
When called with this argument,
.Nm
computes the one-loop renormalization of the curve at which the effective mass of the Haldane-Hubbard model vanishes. Given the values of the parameters omega, t1, t2, lambda and phi,
.Nm
computes the W that is such that M(W,phi)=0.
.It Sy z1-z2
When called with this argument,
.Nm
computes the difference of the (a,a) and (b,b) components of the wave-function renormalization at second order.
.It Sy z1+z2
When called with this argument,
.Nm
computes the sum of the (a,a) and (b,b) components of the wave-function renormalization at second order.
.El
.Pp
The numerical values are stored, by default, as multi-precision floats (using the GNU MPFR library), which allows the computation to be carried out at arbitrary precision. This behaviour can be changed: when the
.Fl -D
flag is up, numerical values are represented as 'long double's. The precision is then fixed to 64 bits, but the computation is usually a lot faster.
.Pp
.Sh COMMAND-LINE ARGUMENTS
.Bl -tag -width Ds
.It Fl D
Represent numerical values using 'long double's instead of 'mpfr's. The precision is then fixed to 64. This can drastically speed up the computation.
.It Fl p Ar params
The value of the parameters of the model.
.Sx params
should be a sequence of statements of the form "variable=value;" where 'variable' is one of omega, t1, t2, lambda, sinphi, W.
.Bl -tag -width Ds
.It Sy omega
+1 or -1 (default: +1)
.It Sy t1
real number (default: 1.)
.It Sy t2
real number, 3|t2|<|t1| (default: 0.1)
.It Sy lambda
real number (default: 0.01)
.It Sy phi
real number (default: pi/2)
.It Sy sinphi
[-1,1] (default: 1.)
.It Sy W
real number (default: 3*sqrt(3)*t2*sin(phi) or 3*sqrt(3)*t2*sinphi)
.El
.Pp
Note that
.Sy phi
and
.Sy sinphi
cannot be set simultaneously.
.It Fl v
Print the values of the parameters to
.Sx stderr .
.Pp
If used in conjunction with the
.Fl V
flag, then
.Nm
will print information about size of integers, the precision of double and long double, and the datatype used to store the precision and maximal exponent of MPFR floats (which are all system-dependent).
.It Fl O Ar order
The order of the Gauss-Legendre quadrature integration scheme (default: 10).
.It Fl t Ar tolerance
Allowed error when computing roots, i.e. computing the roots of Legendre polynomials to setup the Gauss-Legendre quadratures, or the solution of M(W,phi)=0 (default: 1.e-11).
.It Fl N Ar maxiter
Maximal number of Newton steps to perform before giving up (default: 1000000).
.It Fl P Ar precision
Precision of multi-precision floats in bits (default: 53).
.It Fl E Ar emax
Largest allowed exponent for multi-precision floats (default: 1073741823)
.It Fl C Ar threads
Number of threads used for the computation (only for the
.Sy z1-z2
and
.Sy z1+z2
computations).
.It Fl V
Print version and exit.
.El
.Pp
.Sh RETURN CODE
.Nm
returns 0 on success and -1 on error.
.Pp