Una implementación de simetría de paridad en las librerías ALPS

Me gustaría compartir un parche para el código ALPS que le permite trabajar en sistemas que presentan simetría de paridad. Algunos ejemplos típicos de este tipo de simetría son Hamiltonianos de espín en campos transversos (modelo XY, Dzyaloshinskii Moriya), bosónicos y fermiónicos con acoplamiento de pairing, el modelo de Jaynes-Cummings, etc, en los que  Sz y/o N son números cuánticos no conservados.Los observables conservados asociados a este tipo de simetría son de la forma 


P = \ prod_ {j} \ exp (i \ pi Q_j) 

donde Q_j es un  número cuántico de paridad local (por ejemplo, en un modelo n_j bosonic / fermiónico, o Sz_i S + en un modelo de espín). Al final de este post encontrarán un par de referencias con más detalles sobre esta simetría,  en algunos modelos en los que he trabajado. 

 La utilidad de implementar este tipo de simetría es doble: por un lado, permite reducir el tamaño del espacio de Hilbert, lo que permite llevar a cabo simulaciones que de otro modo serían imposibles. Por otra parte, se mejora la convergencia hacia el verdadero estado  fundamental de estos sistemas, ya que la diferencia de energía entre el estado fundamental de los sectores  correspondientes a paridades diferentes son a menudo muy pequeños. 


El código actual sólo funciona ahora para los códigos de  diagonalización  completo y sparse, y estoy trabajando en una ampliación para el código dmrg.Aquí está un ejemplo para el archivo de parámetros:

 MODEL_LIBRARY = "models.xml"
 MODEL = "spin-paridad";
 LATTICE = "chain lattice";
 CONSERVED_QUANTUMNUMBERS = "Parity(ParityCharge) ";
 JXY = -1.;
 Jz = 0.;
 L = 20;
 local_S = 0.5;
 {H = .46;} 

En el archivo model.xml por defecto se incluye un ejemplo para la definición de una base local, una base global y un hamiltoniano de espín.


References
Two soluble models of an antiferromagnetic chain,
E. Lieb, T. Schultz and D. Mattis,
Ann. Phys. (NY) 16 , 407 (1961).

Entanglement of finite cyclic chains at factorizing fields,
R. Rossignoli, N. Canosa, J.M.Matera,
Physical Review A 77 (2008) 052322.
Separability and entanglement in finite dimer-type chains in general transverse fields,
N. Canosa, R. Rossignoli, J.M. Matera,
Physical Review B 81 (2010) 054415.
Factorization and entanglement in general XYZ spin arrays in non-uniform transverse fields,
R. Rossignoli, N. Canosa, J.M. Matera,
Physical Review A 80 (2009) 062325.

Parity implementation in ALPS

I would like share a patch to the ALPS code which allows it to handle problems with parity-like constraints. Some typical examples of this kind of symmetry are transversal spin Hamiltonias (XY mode, Dzyaloshinskii Moriya), bosonic and fermionic pairing couplings,Jaynes-Cummings like models, etc, for which Sz and N quantum numbers are not conserved.

This kind of constraints has the form

P=\prod_{j} \exp(i \pi Q_j )

being Q_j a local parity quantum number (for instance, n_j in a bosonic/fermionic model, or Sz_i+S in a spin model). At the end of this post you will find a couple of references with more details about this symmetry in some models in which I have worked.

The utility of take implement this kind of symmetry is twofold: on the one side, it allows to reduce the size of the Hilbert space, allowing to carry out simulations that would otherwise be imposible. On the other hand, it improves the convergence to the true ground state of these systems, because the gap between the ground state  of both different parity sectors are often very small.

The current code just working now for the full and sparse diagonalization code, and I am working on an implementation to the dmrg code.


Here is an example for the parameter file:

MODEL_LIBRARY="models.xml"
MODEL="spin-parity";
LATTICE="chain lattice";
CONSERVED_QUANTUMNUMBERS="
Parity(ParityCharge)";
Jxy=-1.;
Jz=0.;
L=20;
local_S=.5;
{h=.46;}

An example for the definition of the local basis, the global basis and the hamiltonian was included in the default model.xml file.


References
Two soluble models of an antiferromagnetic chain,
E. Lieb, T. Schultz and D. Mattis,
Ann. Phys. (NY) 16 , 407 (1961).

Entanglement of finite cyclic chains at factorizing fields,
R. Rossignoli, N. Canosa, J.M.Matera,
Physical Review A 77 (2008) 052322.
Separability and entanglement in finite dimer-type chains in general transverse fields,
N. Canosa, R. Rossignoli, J.M. Matera,
Physical Review B 81 (2010) 054415.
Factorization and entanglement in general XYZ spin arrays in non-uniform transverse fields,
R. Rossignoli, N. Canosa, J.M. Matera,
Physical Review A 80 (2009) 062325.

AucTeX


Some years ago, I found a very useful tool for anyone who write articles in LaTeX:
AucTeX.


It is an emacs complement that allow us to see, inside the text editor, the equations that we write, as well as figures and tables in a "WYSIWIG" way, without the necesity of compiling the text each time.



Up to the Ubuntu version 10.10,  we could install just it writing in a command line

$ sudo apt-get install auctex

Unfortunately,  since the version 11.04, the package stopped working well, seemly, because of a problem with the library versions.

To fix it, simply download the source code of the package from .... , compile and install it.


To make it easier, here you can download a .deb package generated from these sources.   After installing the official version of auctex, simply install the package with the corrections:

$ sudo apt-get install auctex


I hope you find it useful.