Skip to content

hariseldon99/lindblad_phasepoints

Repository files navigation

lindblad_phasepoints

BBGKY dynamics for open (Lindbladian) quantum spin gases in a radiation field, averaged over phase point operators

Introduction

The Lindblad dyamics that has been coded is

Here, the Pauli SU(2) representation is used, the Roman indices run through the lattice sites, and Greek indices run through the three spatial directions. A lattice in any dimensions and with any layout can be used, as long as the site index counting is flattened to 1d. Note that the initial condition is hard-coded to a fully x-polarized state.

The relevant terms (from left to right) are:

The module outputs

The code can be used in a single processor environment, or a multiprocessor grid using mpi4py, the Python bindings of the MPI standard.

Installation

Installation involves three steps. Install git, clone this code repository, install python and all dependencies and build/install the python module(s).

  1. Installing git: If git is not already installed in your system, follow the instructions here.

  2. Cloning this repository: If you are on any unix-like shell environment, whether an actual unix shell (like bash ), a graphical terminal emulator (like xterm, gnome-terminal, yakuake etc.) on Linux with X-Windows (Ubuntu, Debian, OpenSuse etc.) or an environment like Cygwin or MinGW on Microsoft Windows, just install git if necessary and run

    $ git clone https://github.com/hariseldon99/lindblad_phasepoints
    $ echo $PWD
    

This causes git clone the repository to the path $PWD/dtwa_quantum_systems.
In other cases, refer to git setup guide and git basics.

  1. Install python and dependencies: If python is not already installed in your system, then refer to these general instructions to download and install python and the dependencies given in the 'External dependencies' section below. Alternatively, install a python distribution like anaconda and use it's internal package management to install the required dependencies.

  2. Build and install the python module(s)

    $ python setup.py build
    $ python setup.py install
    

The first command builds the python module "lindblad_phasepoints", as well as the optimized bbgky. The latter requires a BLAS library to be installed as a shared library. If that has been done already, and is in default paths given by ldconfig or LD_LIBRARY_PATH, the build should run correctly. Otherwise, edit the file setup.py and change the variables "blas_path" "blas_headers" to point to the path where the library and headers are installed.

If you do not wish to install in root space, run the install with the --user option. Alternatively, don't run the install (just the build), start a python shell (or write a python script) and run

>>> import sys
>>> sys.path.append("/path/to/build/directory/")
>>> import lindblad_phasepoints as ldb

Usage

Usage examples in python are shown below.

Example 1: Obtaining Documentation

>>> import lindblad_phasepoints as ldb
>>> help(dtwa)
>>> import lindblad_bbgky as lb
>>> help(lb)

Relevant Literature:

###Relevant papers:

###Relevant docs for the bundled version of mpi4py reduce:

###External dependencies:

  1. mpi4py - MPI for Python

    __-MPI (Parallelizes the different samplings of the dtwa)

  2. numpy - Numerical Python (Various uses)

  3. scipy - Scientific Python

    __-integrate

    _| _-odeint (Integrates the BBGKY dynamics of the sampled state)

    _| _-signal

    _| _-fftconvolve (Used for calculating spin correlations)

  4. tabulate - Tabulate module

    __-tabulate (Used for dumping tabular data)

  5. The bbgky dynamics module

    __-gcc/automake (compilers for the C module)

    __-cblas - Any BLAS library written in C

###TODO:

  1. Evaluate site correlations as functions of time and dump the whole data to parallel hdf5
  2. Docs! Docs! Lotsa work on the docs.
  3. MIGRATE TO PYTHON 3. CHANGE ALL TABS TO SPACES FOR INDENTATION

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published