Giter Club home page Giter Club logo

chitambarlab / vqo-nonlocality-noisy-quantum-networks Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 201.72 MB

Supplemental code for "Variational Quantum Optimization of Nonlocality in Noisy Quantum Networks"

Home Page: https://arxiv.org/abs/2205.02891

License: MIT License

Mathematica 14.12% Python 83.37% Julia 2.52%
nonlocal-correlation quantum-computing quantum-network quantum-network-simulator quantum-noise quantum-nonlocality variational-optimization variational-quantum-circuit

vqo-nonlocality-noisy-quantum-networks's Introduction

Supplemental Code: VQO of Nonlocality in Noisy Quantum Networks

This codebase supports the work "Variational Quantum Optimization of Nonlocality in Noisy Quantum Networks."

Preprint: https://arxiv.org/abs/2205.02891

DOI

Project Overview

The goal of this codebase to make our numerical methods accessible, transparent, and reproducible. All scripts are designed to be run on a laptop computer within a few hours. A few scripts run quantum circuits remotely on IBM quantum computers, which may require special access to IBM devices.

This supplementary codebase is largely built upon two Python packages:

  • qNetVO: the Quantum Network Variational Optimizer
  • PennyLane: a cross-platform library for differentiable programming of quantum computers.

This supplementary codebase is primarily written in Python. The two exceptions are found in the ./script/proof_numerics/ directory where a Julia script and Mathematica notebook are found. These scripts are not used for data collection, but to verify the correctness of results presented in the work.

Project Structure

  • ./script : This directory contains all scripts for data collection and plot creation. All data is saved to the ./data directory.

  • ./data : This directory contains all data collected using the scripts. Data is organized first by the network topology, then by the script that collected the data. Within each folder, script data includes JSON and PNG files. The JSON files contain raw data collected during optimizations. The PNG files contain a rough plot of the collected optimization data. Each file is named by the ansatz for the optimization and a datetime identifier.

  • ./src : This directory contains helper methods for collecting, writing, reading, analyzing, and plotting data.

Citing this Supplemental Codebase

DOI

See CITATION.bib for bibtex.

Development Environment

For convenience and reproducibility code should be run using the conda development environment. The Anaconda distribution of Python ensures a consistent development environment. Follow the Anaconda installation instructions to set up the conda command line tool for your operating system. The conda tool creates the dev environment from the environment.yml file. For more details on how to use conda see the managing environments page in the conda documentation.

To create the dev environment, navigate to the root directory of the vqo-nonlocality-noisy-quantum-networks repository and follow these steps.

  1. Create the vqo-nonlocality-dev conda environment:
(base) $ conda env create -f environment.yml
  1. Activate the vqo-nonlocality-dev conda environment:
(base) $ conda activate vqo-nonlocality-dev

Code Formatting

All code in this project is autoformatted using black. After setting up the development environment, run:

(vqo-nonlocality-dev) $ black -l 100 src script

vqo-nonlocality-noisy-quantum-networks's People

Contributors

bdoolittle avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

deyh2020 damufrn

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.