Giter Club home page Giter Club logo

lie_classification's Introduction

Classification of dynamical Lie algebras for translation-invariant 2-local spin systems in one dimension: C++ code

This code was used as an inspiration for the proofs in https://arxiv.org/abs/2309.05690 .

This repository contains C++ code to generate all unique dynamical Lie algebras for Hamiltonians of the form

$$H = \sum_{i=1}^n A_i B_{i+1}$$

where $A_i, B_i \in {I,\sigma^X, \sigma^Y, \sigma^Z}$ up to $n=7$.

To verify that the code is working correctly, run

sh ./scripts/test.sh

To reproduce the figures install Python==3.9+ and the requirements.txt file. Assuming you have a g++ compiler that can compile C++11 code, run

sh main.sh

to automatically create the folders, data and figures for up to $n=7$.

The data is structured as follows:

data -> closed -> su4
               -> su4_I
               -> su8
                  ...
     
data -> open   -> su4
               -> su4_I
               -> su8
                  ...
        

The data folder contains the folders open and closed, corresponding to open end closed boundary conditions, respectively. Then, in each respective folder there is a subfolder named su_<2^n> and su_<2^n>_I. The former corresponds to the $\mathfrak{a}$-type algebras, whereas the latter contains the $\mathfrak{b}$ type algebras. In each folder, we save the following text files.

  • Each folder has a file called meta.text, which contains information about how many unique DLAs of a specific dimensionality are found. For example, data/closed/su8 contains
dim,count
3,1
6,1
10,1
12,1
15,3
21,1
28,2
30,6
63,7

Hence we find 1 DLA of dimension 3, 1 of dimension 6, etc..

  • For each of the $k$ DLAs we save a file pauliset_<k>.txt, which contains the Paulistrings that form a basis for the DLA.
  • For up to $n=5$ we also calculate the associative algebra and store it in the text file associative_<k>.txt We also include the file meta_associative.txt which again counts the number algebras with a specific dimension.
  • Finally, for up to $n=6$, we calculate the commutants of the DLAs and save them as commutant_<k>.txt.

lie_classification's People

Contributors

therooler avatar

Stargazers

 avatar Roberto Muñoz avatar Joe Gibbs avatar Simon Brugman avatar

Watchers

 avatar

lie_classification's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.