Published July 29, 2023 | Version v1
Software Open

Supplemental python code associated to arXiv: 2201.105529

  • 1. University of St Andrews & Abdus Salam International Center for Theoretical Physics (ICTP)
  • 2. Max-Planck-Institut für Quantenoptik
  • 3. University of St Andrews

Description

This repository contains the Python code to generate the data and plots presented in the paper [1].

This code is however NOT suitable for general applications of the method introduced in [1]!

This code is merely a supplement to the specific example computations presented in [1]. For a general applicable implementation of the method please use the open source Python package OQuPy:

[1] ... Gerald E. Fux, Dainius Kilda, Brendon W. Lovett, Jonathan Keeling, Tensor network simulation of chains of non-Markovian open quantum systemsarXiv:2201.05529.

 

Setup
*******

  1. Download and unzip the repository.
  2. Install the Python dependencies:

    • $ pip install -r ./requirements.txt

 

Generate the plots from precomputed data
****************************************************

To generate the figures for the thermal XYZ spin chain from the precomputed data run:

  • $ python ./thermalXYZchainExample/A_08_plot-stuff.py

To generate the figures for the long XY spin chain from the precomputed data run:

  • $ python ./longXYchainExample/B_03_plot_figures.py

 

Generate the data from scratch
**************************************

Generating all results from scratch is rather time consuming (approx. 4 days on a 32 core cluster node). Therefor the computations are split into smaller chunks, which are organized in a pipeline fashion.

Dry-run computations
```````````````````````````````

Before running resource consuming "payload" computations one should first check that the pipeline works as expected by going through a computation with parameters that only take a few seconds to compute. For this every step of the pipeline as a 0-th parameter set.

Thermal XYZ spin chain

To perform a dry-run computation for the thermal XYZ spin chain first execute:

  • $ python ./thermalXYZchainExample/A_01_create_process_tensor.py 0
  • $ python ./thermalXYZchainExample/A_02_single-bath-compute.py 0
  • $ python ./thermalXYZchainExample/A_03_two-baths-ss-compute.py 0

Then for M = {0 ... 5} execute:

  • $ python ./thermalXYZchainExample/A_04_two-baths-ttc-compute.py 0 <M>

Then execute:

  • $ python ./thermalXYZchainExample/A_05_two-baths-collect.py 0
  • $ python ./thermalXYZchainExample/A_06_spectrum_compute.py 0

Long XY spin chain

To perform a dry-run computation for the long XY spin chain execute:

  • $ python ./longXYchainExample/B_01_pt_compute.py 0
  • $ python ./longXYchainExample/B_02_chain_compute.py 0

Payload computations
````````````````````````````````

Thermal XYZ spin chain

To perform the payload computation for the thermal XYZ spin chain execute:

For N = {1 ... 7} execute:

  • $ python ./thermalXYZchainExample/A_01_create_process_tensor.py <N>

For N = {1 ... 7} execute:

  • $ python ./thermalXYZchainExample/A_02_single-bath-compute.py <N>

For N = {1 ... 4} execute:

  • $ python ./thermalXYZchainExample/A_03_two-baths-ss-compute.py <N>

For N = {1 ... 4} and M = {0 ... 26} execute:

  • $ python ./thermalXYZchainExample/A_04_two-baths-ttc-compute.py <N> <M>

For N = {1 ... 4} execute:

  • $ python ./thermalXYZchainExample/A_05_two-baths-collect.py <N>

For N = {1, 2} execute:

  • $ python ./thermalXYZchainExample/A_06_spectrum_compute.py <N>

  • $ python ./thermalXYZchainExample/A_07_collect-plot-data.py

  • $ python ./thermalXYZchainExample/A_08_plot-stuff.py

Long XY spin chain

To perform the payload computation for the long XY spin chain execute:

For N = {1, 2} execute:

  • $ python ./longXYchainExample/B_01_pt_compute.py <N>

For N = {1 ... 4} execute:

  • $ python ./longXYchainExample/B_02_chain_compute.py <N>

  • $ python ./longXYchainExample/B_03_plot_figures.py

Files

CodeForArXiv220105529.zip

Files (5.5 MB)

Name Size Download all
md5:b51205fe20927659f0c72c461efdbbf6
5.5 MB Preview Download
md5:86d3f3a95c324c9479bd8986968f4327
11.4 kB Download
md5:32904ccd3c9c3da53add8df28d5664c9
3.9 kB Preview Download

Additional details

Related works

Cites
Software: 10.5281/zenodo.4428316 (DOI)
Is supplement to
Preprint: 10.48550/arXiv.2201.05529 (DOI)

Funding

UK Research and Innovation
Understanding and engineering dissipation in nanoscale quantum devices EP/T014032/1
UK Research and Innovation
EPSRC Centre for Doctoral Training in Condensed Matter Physics: Renewal of the CM-DTC EP/L015110/1

References

  • Fux et. al, Supplemental python code associated to arXiv: 2201.105529.