Git Product home page Git Product logo

simultaneous-diagonalization's Introduction

Circuit optimization of Hamiltonian simulation by simultaneous diagonalization of Pauli clusters

This code is provided to allow reproducibility of the results in the paper:

E. van den Berg, K. Temme, "Circuit optimization of Hamiltonian simulation by simultaneous diagonalization of Pauli clusters," Quantum 4, 322 (2020).

The cache directory contains all pre-computed results. Files in this directory can be deleted and will be regenerated as needed. The Hamiltonian directory contains data files (Pauli lists and coefficients) kindly provided by Antonio Mezzacaco along with derived partitions; see also the relevant publication or preprint: Kenny Choo, Antonio Mezzacapo, and Giuseppe Carleo "Fermionic neural-network states for ab-initio electronic structure", Nature Communications volume 11, Article number: 2368 (2020).

The code has a number of external dependences. It uses the NetworkX and Matplotlib python packages and calls pdfcrop to crop the generated figures. The cl.py file contains routines for Paulis, tableau operations, and diagonalization; cl_methods.py generates exponentiation circuits; cl_qiskit.py provides code to generate Qiskit circuits; and cl_chemistry.py contains routines for dealing with the chemistry data. (Running the experiment_chemistry.py code may generate warnings for missing files, these correspond to partitions that took too long to generate.)

Script Generates tables and figures
generate_figure2a.py Figure 2a
generate_figure2b.py Figure 2b
generate_figure2c.py Figure 2c
generate_figure9.py Figure 9a (fig/Figure_9a.pdf)
Figure 9b (fig/Figure_9b.pdf)
Figure 9c (fig/Figure_9c.pdf)
generate_figure_paritioning.py Figure 11 (fig/Figure_partition_*.pdf))
experiment_basic.py Figure 10 (left) (fig/Figure_basic_cnot2.pdf)
Figure 10 (center) (fig/Figure_basic_single2.pdf)
Figure 10 (right) (fig/Figure_basic_depth2.pdf)
Table 1 (tables/table_experiment_basic.tex)
experiment_nonsquare.py Table 2 (tables/table_experiment_nonsquare.tex)
generate_table_molecules.py Table 3 (tables/table_molecules.tex)
experiment_chemistry.py Table 4 (tables/table_simulate_sequential.tex)
Table 5 (tables/table_simulate_other_cnot.tex)
Table 6 (tables/table_simulate_other_depth.tex)

simultaneous-diagonalization's People

Contributors

ewoutvandenberg avatar ibm-open-source-bot avatar

Watchers

 avatar  avatar

Forkers

ewoutvandenberg

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.